一、话题引入

功能测试的流程是什么?给你一个页面你怎么测?给你一个杯子,你怎么测?
这几个问题,参加过校招测试岗面试的小伙伴可能都不陌生,因为在面试的时候,这几个问题基本上每次都会被问到。其实不难理解,因为作为软件测试工程师,最先接触的就是功能测试,再到后面的接口测试、性能测试…
所以作为软件测试工程师,肯定是需要对如何进行功能测试有一定的了解,这就不难解释为啥面试官喜欢问这几个问题了。
本文主要结合笔者的实际工作经验,整理下功能测试的测试流程,给有需要的测试小伙伴解惑~

二、功能测试基本概念

1,什么是功能测试?

功能测试又称黑盒测试,是在不了解程序内部结构和内部特性的情况下进行的测试方法。

2,功能测试的主要做什么?

功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

三、功能测试流程

1,研读需求文档

在接到一个测试项目时,我们首要的工作,就是研读需求文档,结合需求文档,了解项目需求。
在研读需求文档的过程中,我们需要对需求信息进行整理,并针对表述不明的地方提出疑问。这些问题需要及时找产品确认,及时解惑。

2,编写测试计划

在对需求文档无疑问后,结合需求文档及整理的信息,测试负责人就可以开始撰写测试计划了。
这个主要是为了保证对后续的测试工作有一个明确的计划,以便后续测试工作的正常进行。
测试计划主要包含产品概述、风险分析、测试方法/途径、测试标准、测试范围/测试区域/测试项、测试目标/被测特征、测试优先级、测试策略、测试交流、测试标准测试周期、进度安排(任务、人员)、测试配置/测试资源(软硬件、人力…)、需交付文档等内容。

3,设计与编写测试用例

接下来,就是进行测试用例的设计和编写了。
结合需求文档及前面整理的信息,对功能进行拆分并整理出测试点。再结合测试点设计与编写测试用例。

补充1:功能测试(即黑盒测试)常用的测试用例设计方法有场景法、等价类、边界值分析、决策表、错误推测等。
1)场景法
概念:模拟用户操作软件时的情景,主要用于测试系统的业务流
程。拿到一个测试任务,先关注其主要功能和业务流程是
否正确实现,用的就是场景法来完成测试。
分类:基本流(按正确的操作流程来测);备选流(按错误流程来测)
步骤:分析软件需求;从用户角度出发,写出业务流程和业务规划;写出基本流场景和备选流场景
举例:使用场景法设计登录功能的测试用例
在这里插入图片描述
结合流程图可以知道,登录功能的基本流为输入账号、密码->验证账号是否有效->验证密码是否正确->登录成功,进入首页;备选流为账号不存在/密码错误,返回错误提示并留在登录页面。
基于上述分析,得到测试用例如下。

编号场景账号密码预期结果
1场景1:登录成功YY登录成功,进入首页
2场景2:账号无效N错误提示1,留在登录页
3场景3:密码错误YN错误提示2,留在登录页

2)等价类
概念:等价类,是输入条件的一个子集合,该输入集合中的数据对于揭示程序中的错误是等价的。从每一个子集中选取少数具有代表性的数据,从而生成测试用例。
分类:有效等价类;无效等价类
步骤:通过需求分析,找出程序的输入域;将输入域划分为若干类;每你一类中选取代表性的数据等价于这类中的其他值
举例:使用等价类法设计手机号注册功能的测试用例(要求手机号有效,密码为6位数字)
在这里插入图片描述

首先明确输入域为账号和密码。基于此,从有效等价类、无效等价类的角度,可以得出以下测试用例

编号输入域等价类用例备注
1手机号1)未注册的有效手机号有效等价类
2手机号2)已注册的有效手机号
3手机号3)手机号位数为0(空)
4手机号4)手机号位数为10位
5手机号5)手机号位数为12位
6手机号6)手机号位数为11位,但不是有效手机号
7手机号7)手机号含非数字
8密码1)密码为6位数字有效等价类
9密码2)密码为0位数字(空)
10密码3)密码为5位数字
11密码4)密码为7位数字
12密码5)密码为6位,但含非数字

3)边界值分析法
概念:边界值分析法是是对输入或输出的边界值进行测试,主要是作为对等价类划分法的补充。
步骤:通过需求分析,找出边界;写出边界值:最值;得到边界值(小于最小值、大于最大值)
举例:两位数加法计数器功能的边界值。若基于此,用边界值法设置测试用例。显然,边界值为-99、99、100、-100

4)决策表法
概念:决策表考虑输入输出的组合情况,是把作为条件的所有输入的各种组合值以及对应输出值都罗列出来而形成的表格。
步骤:通过需求分析,分析输入输出;画判定表(即决策表);分析和简化判定表
举例:略

5)错误推断法
概念:根据经验或直觉推测程序中的可能存在的错误,从而针对性的编写检查这些错误的测试方法
步骤: 列举出程序中所有可能有的错误和容易发生错误的特殊情况;根据他们结合需求文档,选择测试用例
举例:略

补充2:功能测试(即黑盒测试)的测试用例编写,一般包含的元素为编号、标题、前置条件、操作步骤、参数、预期结果、用例状态、优先级。

4,测试用例评审

测试用例编写完毕后,便可以开始组织测试用例评审了。
用例评审主要是产品、开发和测试人员。通过用例评审一方面可以对用例进行查漏补缺,以避免测试点遗漏;另一方面是使三方达成需求理解统一并确定用例的优先级,以减少测试人员执行阶段做无效工作。
用例评审结束后,要针对评审结果,对用例进行维护,得出最终的测试用例。

5,搭建测试环境、执行测试用例

准备工作做好后,待开发提测后,便可以开始搭建测试环境、执行测试用例了。

6,提交缺陷报告、回归测试

测试用例的执行过程中,往往会发现bug,发现一个bug后,在排除由于环境等因素导致的无效bug后,确定复现步骤,并在禅道、jiar等平台中提交缺陷报告并在开发修复后及时做好回归测试及确认测试

7,测试总结报告输出

测试结束后要编写测试总结报告,分析实际测试与计划的偏差、给出继续测试/终止测试的结论、总结经验教训。
测试通过后,要及时通知产品进行验收,待产品验收通过后,才能走发布上线流程。发布上线后要第一时间到生产环境进行线上验证,确保功能正常。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐