黑盒测试设计测试用例的方法有哪些?
等价类、边界值、因果图、正交排列、场景法、错误猜测法
一、等价类
把输入(特殊情况下才考虑输出)划分成若干个等价类,在每一个等价类中选择一个测试用例,如果该测试用例测试通过,我们就说这个测试用例代表的等价类测试通过。
目的:
我了解决测试用例不能穷举的情况。
有效等价类:
针对输入有意义的数据
无效等价类:
针对系统输入或者需求没有意义的数据
例:
网易邮箱账号注册划分等价类
有效等价类:
- 6~18 个字母
- 6~18个数字
- 6~18 个下划线
- 6~18个字母+数字
- 6~18 个数字+下划线
- 6~18个字母+数字+下划线
无效等价类:
- 小于6个字符的数字(字母、下划线)
- 大于18个字符的数字(字母、下划线)
- 6~18个非数字(非字母、非下划线)
二、边界值
针对输入或者输出的边界进行测试用例的设计。(临界)
备注:等价类和边界值法一般结合在一起进行测试用例
例:
手机号位数的测试用例
手机号为11位,所以测试用例可以分为10位、11位、12位。
有效等价类:11位
无效等价类:10位、12位
三、因果图
逻辑图,用来表示输出和输入之间的关系。
适用场景:
当我们功能有多个输入,输出依赖于不同的输入。
恒等
举个例子:
小明想和小丽结婚,但是小丽的妈妈说你必须有车有房才能和我女儿结婚
有车有房,小明和小丽就结婚了
与
- 有车并且有房,同意结婚
- 有车没有房,不同意结婚
- 无车有房,不同意结婚
- 无车无房,不同意结婚
必须两个都符合才能结婚
或
- 有车有房,可以结婚
- 有车无房,可以结婚
- 无车有房,可以结婚
- 无房无车,不可以结婚
两者只要有一个符合就符合条件,两个都符合也符合条件
非
有房有车不代表可以结婚
因果图的使用步骤
- 找出所有的输入和输出
- 理清楚输入和输出的关系
- 画因果图
- 根据因果图画出判定表
- 根据判定表写测试用例
例:
618活动,订单已提交,订单金额大于 300或者有红包,则优惠
1)分析输入输出:
输入:订单已提交(未),订单金额大于(小于) 300,有红包(无)
输出:优惠,不优惠
2)输入和输出的关系
- 订单已提交,订单金额大于 300,无红包,有优惠
- 订单已提交,订单金额小于 300,有红包,有优惠
- 订单已提交,订单金额大于 300,无红包,有优惠
- 订单已提交,订单金额小于 300,无红包,无优惠
3)画因果图