功能测试
一、功能测试基础知识介绍:
image.png
1.基本功能验证
目的:
验证每个功能是否可用
1.1基本功能验证--功能采集
在每个页面,从上往下,从左往右依次测试每个功能
1.2基本功能验证--测试方法
每个功能对象一次完整的流程:创建(打开)、使用、销毁(返回/退出),三个顺序
2.数据类型测试
目的:
检查静态数据(比如:静态数据/链接),页面布局是否正确
检查软件能否对用户输入的数据进行正确的处理
2.1静态数据验证
在每个页面,从上往下,从左往右依次观察和点击每个静态数据
2.2动态数据验证
等价类法:
性质相同的数据只取一个代表数据即可,而不用全部列举
边界值法:
基本思想是在正好等于、刚刚大于或刚刚小于边界的值作为测试数据
7因子数据测试法:
默认值、常规值、空值、正确非常规值、非法值、极限越界值
举例:
等价类(以登录界面功能为例):
用户分为VIP用户和普通用户,每个类型选择一个用户进行测试
边界值(以APP提现功能为例,提现金额限制最小1元,最大50000元):
小于1元,等于1元,大于1元小于50000元,等于50000元,大于50000元
7因子数据测试法(以登录界面功能为例):
默认值:有登陆记忆功能的直接登录
常规值:正常用户
空值:登录名和密码都为空,分别为空
正确非常规值:支持用户名中包含特殊字符的
非法值:用户名中不支持包含特殊字符的
极限越界值:大于用户名位数限制
3.探索性测试
3.1场景插入法
在一个操作未完成之前,插入另一个动作。比如:
编辑短信的时候忽然来了一个电话
操作某一个功能时闹钟突然想起
搜索某一条件时突然断网
3.2取消法
在一个功能正在处理的过程中,通过各种方式中断。比如:
下载的过程中,取消下载
3.3重复法
对某一个功能反复,快速的重复操作。比如:
反复刷新
快速,重复点击提交按钮
3.4场景删除法
如果完成一个任务的操作设计多个连续的步骤(A>B>C>D>E>F),那么我们故意少操作其中几部。比如:
A>B>C>F或者A>B>C>D>F
微博登陆时忘了输入密码,直接登录
支付宝绑卡时,忘了输入银行预留手机号,直接登录
3.5反叛法
软件不允许我们做什么,我们就做什么,有操作反叛,数据反叛,环境反叛。比如:
该APP不能在低于安卓版本4.0以下的手机上安装,我们就偏要安装
3.6排挤法
同时对一个对象进行两个及以上的并行操作。比如:
同时用一个账户,分别在手机和电脑上登录,并分别进行创建或者修改操作
3.7目的地法
执行所有能达到目的的序列组合
比如:支付宝设置界面的,我们可以从很多入口进入
二、功能测试测试用例设计流程
image.png
功能测试分析确立后续测试设计的范围,是工程化有序进行规范测试工作的准备阶段。如果没有高质量的测试分析,则会导致遗漏测试对象,从而出现某些测试对象没有测试到的情况导致泄漏。
功能测试分析的方法:三层测试对象提取法
根据测试对象的大小和所处的位置分为3层来分别提取测试对象的范围
1、如果测试分析时间很少则可以只进行HLO测试对象的提取。
2、如果测试分析时间丰富则可以只进行LLO测试对象的提取,对被测对象进行更细致的和更完善的分析和提取。
3、如果计划进行白盒测试则可以进行BLO测试对象的提取,这是白盒层面的测试对象。
image.png功能测试对象的提取表:
image.png
第二步:功能验证
可以用基本功能验证和数据类型测试生成功能验证的测试用例。
测试用例是测试人员测试分析和设计后的输出件,是后续测试执行工作开展和管理的最小单位。一个测试对象可以有多个测试用例,一个测试用例也可以覆盖多个测试对象。
测试用例的结构:
image.png
测试用例的标题:对该测试用例目的的描述
比如:
验证微博在正确的数据下是否可以登录成功
测试准备条件:是保障测试步骤可执行的先决条件
比如:
浏览器下载时网络稳定
产生功能验证用例的方法流程如下:
1、基本功能验证(创建-使用-销毁) 产生一个测试用例
2、静态数据验证 产生一个测试用例
3、动态数据验证 产生一个测试用例
第三步:单功能内测试
1、重复法 产生一个测试用例
2、场景插入法 产生多个测试用例
3、取消法 产生一个测试用例
4、场景删除法 产生一个测试用例
5、反叛法 产生一个测试用例
第四步:多功能间组合测试
大数据并发测试,需要借助第三方的软件,比如多用户在分别登录,充值,提现等混合场景的测试