逻辑覆盖测试是通过对程序逻辑结构的遍历实现程序的覆盖。从覆盖源代码的不同程度可以分为以下六个标准:语句覆盖、判定覆盖(又称为分支覆盖)、条件覆盖、判定-条件覆盖(又称为分支-条件覆盖)、条件组合覆盖和路径覆盖。
先看一下具体例子的源代码(C语言):
/*
* 白盒测试逻辑覆盖测试范例
* 作者:胡添发(hutianfa@126.com)
*/
intlogicExample(intx,inty)
{
intmagic=0;
if(x>0 && y>0)
{
magic = x+y+10;// 语句块1
}
else
{
magic = x+y-10;// 语句块2
}
if(magic
{
magic = 0;// 语句块3
}
returnmagic;// 语句块4
}
一般做白盒测试不会直接根据源代码,而是根据流程图来设计测试用例和编写测试代码,在没有设计文档时,要根据源代码画出流程图:
做好了上面的准备工作,接下来就开始讲解六个逻辑覆盖标准:
一、语句覆盖
1、概念:
设计足