基于需求设计测试用例
- 验证需求,正确性和合理性
- 细分需求,多细致的需求就设计多细致的测试用例;从细分的需求里,根据每一个功能点设计完整的测试用例
案例:
用户的需求:购买3000块以内的华为手机
如何测试买来的手机符合用户需求?价格,品牌,真伪,手机基本功能的验证
1.等价类
当输入很多的情况下,没办法穷举,把输入(特殊情况下考虑输出)划分成若干个等价类,从每一个等价类中选一个有代表的测试用例,如果这个测试用例通过,则表示这个等价类测试通过。
有效等价类:
无效等价类:
2.边界值
3.因果图法
当我们的输入有多种,不同的输入组合对应不同的输出,可以使用因果图法;
因果图:恒等,与,或,非
如何根据因果图设计测试用例
- 分析需求,找出所有的输入和输出
- 找出所有输入和输出之间的关系
- 画因果图
- 根据因果图画判定表
- 根据判定表设计测试用例
实例:淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则进行优惠
(1)输入:订单已提交/订单不提交,合计金额大于300元/小于300,有红包/没红包
输出:优惠/不优惠
(2)找关系
订单已提交,金额大于300,有红包,优惠
订单已提交,金额小于300,有红包,优惠
订单已提交,金额大于300,没红包,优惠
订单已提交,金额小于300,没红包,不优惠
订单未提交,金额大于300,有红包,不优惠
订单未提交,金额小于300,有红包,不优惠
订单未提交,金额大于300,没红包,不优惠
订单未提交,金额小于300,没红包,不优惠
(3) 画因果图
(4) 画判定表,写测试用例
4.正交法
(可以使用微软PICT工具生成)
严谨多因素多水平的一种实验方法,通过正交性找出实验中各因素的最优的水平组合,通过分析这些最优组合的试验结果,来分析整个试验的结果和情况。
因素:待考察的变量
水平:每个待考察变量的值
因素数:待考察变量的个数,即正交表的列数C
水平数:考察的每个变量的最多的取值个数T
正交表的行数:N=(水平数-1)*因素数+1
注意:每个因素的水平数必须相等
当水平数不相等的时候正交表的行数怎么改?(使用工具,直接查正交表)
正交表的性质:
(1)每一列中不同的数据出现的次数一样多
(2)任意两列各数据组合出现的次数一样多
正交法设计测试用例的步骤
- 找出因素和水平
- 确认因素数和水平数
- 确定这个正交表的行,列
- 根据正交表的性质去填充正交表的数据
- 正交表的每一行就是一个测试用例,根据正交表的每一行写测试用例
- 补充你认为可能但是正交表上没有的测试用例
事例:平台邮箱注册
必填项:账户 邮箱 密码 确认密码 验证码
输入 不输入
- 因素:账户 邮箱 密码 确认密码 验证码
- 水平:输入 不输入
- 因素数/列数:5
- 水平数:2
- 行数:(2-1)*5+1=6
5.场景设计法
场景点
把一个一个孤立的功能点组合(可能有一个逻辑)起来,形成一个一个的场景
场景:ATM取款流程:插卡——输密码——输入取款金额——取钱——退卡
等等很多异常流程
6.错误猜测法
根据测试人员的知识,经验,猜测软件的哪一个模块或者哪一个功能点会出现问题,专门针对这么功能点进行测试用例的设计
适用于补充的测试用例方法,一开始不能用
事例:发红包 群发 100元 30个领取 最佳手气
怎么去测试?需要30个wechatID(用接口之间生成,不用申请30个微信号)
接口测试:postman
发红包也属于一个接口:wechatID 群ID 钱数 发红包的个数
抢红包也属于一个接口:输入:不同的wechatID 群ID 钱数 红包ID
输出:金额
先调发红包的接口,发红包,会有一个输出红包ID,待用抢红包的接口,得出金额累加起来。