软件测试方法上篇(等价类、边界值、因果图)
一、基于需求设计测试用例
- 验证需求的正确性及其合理性
- 细分需求:多细致的需求就涉及多细致的测试用例,从细分的需求里,根据每一个功能点设计测试用例。
二、测试方法
1、等价类
特点:输入过多,无法穷举。
方法:从每一个等价类当中选一个测试用例,若该测试用例测试通过,那么说明这个歌测试用例代表的等价类测试通过。
- 有效等价类:对于输入有意义的数据规格。
- 无效等价类:对于输入无意义的数据规格。
2、边界值法
针对输入输出边界的测试方法(如20的边界为19和21)。
3、因果图法
特点:当我们的输入有很多种不同的输入组合,且不同的输入组合还对应着不同的输出,则通过恒等、与、获、非进行分析。
方法:
- 分析需求;
- 找出所有输入、输出之间的关系;
- 画因果图;
- 根据因果图画出判定表;
- 根判定表设计测试用例。
举例:淘宝购物活动,订单已经提交,订单合计金额大于300元或有红包,则进优惠,现要求采用因果图设计测试用例。
- 输入/输出
输入 |
---|
订单提交/订单未提交 |
金额大于300/金额小于300 |
有红包/没红包 |
输出 |
---|
有优惠/没优惠 |
- 找关系
输入输出关系 |
---|
订单已提交,金额大于300,有红包,则进优惠 |
订单已提交,金额大于300,无红包,则进优惠 |
订单已提交,金额小于300,有红包,则进优惠 |
订单已提交,金额小于300,无红包,则不进优惠 |
订单未提交,金额大于300,有红包,则不进优惠 |
订单未提交,金额大于300,无红包,则不进优惠 |
订单未提交,金额小于300,有红包,则不进优惠 |
订单未提交,金额小于300,无红包,则不进优惠 |
-
画因果图
-
画判定表
输入与输出\情况 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
订单已提交 | Y | Y | Y | Y | N | N | N | N |
金额大于300 | Y | Y | N | N | Y | Y | N | N |
有红包 | Y | N | Y | N | Y | N | Y | N |
中间结果 | Y | Y | Y | N | Y | Y | Y | N |
进优惠 | Y | Y | Y | N | N | N | N | N |
不进优惠 | N | N | N | Y | Y | Y | Y | Y |
- 写测试用例
测试用例 |
---|
订单已提交,金额大于300,有红包,则进优惠 |
订单已提交,金额大于300,无红包,则进优惠 |
订单已提交,金额小于300,有红包,则进优惠 |
订单已提交,金额小于300,无红包,则不进优惠 |
订单未提交,金额大于300,有红包,则不进优惠 |
订单未提交,金额大于300,无红包,则不进优惠 |
订单未提交,金额小于300,有红包,则不进优惠 |
订单未提交,金额小于300,无红包,则不进优惠 |