一、语句覆盖
概念:语句覆盖是一个比较弱的测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能被执行一次
if ((A > 1)&&( B == 0))
{
X= X /A;
}if ((A == 2) || ( X > 1))
{
X= X + 1;
}
测试用例:A=2,B=0,X=3
缺陷:如果代码中第一个if条件中,“A>1&&B=0”错写成“ A>1 || B=0”。该错误语句覆盖是测试不出问题
二、判定覆盖
概念:程序中的每一个分支至少都通过一次
判定覆盖只关心判定表达式的值(真/假)
if ((A > 1)&&( B == 0))
{
X= X /A;
}if ((A == 2) || ( X > 1))
{
X= X + 1;
}
举例:
(1)A=3, B=0, X=1
(2)A=2, B=1, X=3
缺陷:如果异常是必须两个if里都为真的情况下才会出现,那么判定覆盖就没有测试到该情况
三、条件覆盖
定义:判定中的每个条件获得各种可能的结果
if ((A > 1)&