测试的艺术:测试用例的设计
作者:网络转载 发布时间:[ 2014/11/17 17:10:29 ] 推荐标签:测试用例 软件测试
错误猜测(ErrorGuessing)
白盒测试(White-BoxTesting)
语句覆盖
度量被测代码中每个可执行语句是否被执行到了。
intfoo(intx,inty)
{
returnx/y;
}
测试用例,x=10,y=5.
测试人员的测试结果会告诉你,代码覆盖率达到了,并且所有测试案例都通过了。然而遗憾的是,却没有发现简单的bug,比如,让y=0时,会抛出一个除零异常。
判定覆盖
该准则要求必须编写足够的测试用例,使得每一个判断都至少有一个为“真”和为“假”的输出结果,并且每条语句都至少被执行一次。换句话说,即每个判断都必须有“是”和“否”的结果,且每个入口点都必须至少被调用一次。
条件覆盖
在条件覆盖情况下,要编写足够的测试用例以确保将一个判断中的每个条件的所有可能的结果至少执行一次,且每个入口点都必须至少被调用一次。
判定/条件覆盖
将一个判断中的每个条件的所有可能的结果至少执行一次,将每个判断的每个条件的所有可能的结果至少执行一次,将每个判断的所有可能的结果至少执行一次,将每个入口点都至少调用一次。
多重条件覆盖
该准则要求编写足够多的测试用例,将每个判定中的所有可能的条件结果的组合,以及所有入口点都至少执行一次。
其中的原因是“与”和“或”表达式中某些条件的结果可能会屏蔽或阻碍其他条件的判读。举例来说,如果“与”表达式中有个条件为“假”,那么无须计算该表达式中的后续条件。
publicvoidfoo(inta,intb,intx)
{
if(a>1&&b==0)
{
x=x/a;
}
if(a==2||x>1)
{
x=x+1;
}
}
语句覆盖:ace-A=2,B=0,X=3
判定覆盖:acd,abe-A=3,B=0,X=3;A=2,B=1,X=1
条件覆盖:abe-A=2,B=0,X=3;A=1,B=1,X=1
多重条件覆盖:测试用例必须覆盖一下8中组合
A>1,B=0
A>1,B<>0
A<=1,B=0
A<=1,B<>0
A=2,X>1
A=2,X<=1
A<>2,X>1
A<>2,X<=1
A=3,B=0,X=4
A=2,B=1,X=1
A=1,B=0,X=2
A=1,B=1,X=1
测试策略:
1.如果规格说明中包含输入条件组合的情况,应首先使用因果图分析方法
2.在任何情况下都应使用边界值分析方法。对输入和输出边界进行的分析
3.应为输入和输出确定有效和无效等价类,在必要情况下对上面确认的测试用例进行补充
4.使用错误猜测技术增加更多的测试用例
5.针对上述测试用例集检查程序的逻辑结构。应使用判定覆盖、条件覆盖、判定/条件覆盖或多重条件覆盖准则。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11