具体如下:
程序1如下:
Function js(float A,float B,float X)
{
if(A>1&&B=0)X=X/A;
if(A=2||X>1)X=X+1;
}
程序2如下:
Void DoWork(int x,int y,int z)
{
int k=0,j=0;
if((x>3)&&(z5))
{j=x*y+10;} ‘语句块2
j=j%3; ‘语句块3
}
A、语句覆盖:语句覆盖使程序中每个语句至少都能够被执行一次.
例如,在程序1中,为使程序中每个语句至少执行一次,只需设计一个能通过路径a-c-e的数据就可以了,
例如选择输入数据为:A=2,B=0,X=3就可以达到“语句覆盖”标准.
在程序2中,如测试用例输入为:x=4,y=5,z=5程序执行的路径是a-b-d.
B、判定覆盖
比语句覆盖稍强的覆盖标准是判定覆盖.按判定覆盖准则进行测试是指,设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足.判定覆盖又称为分支覆盖.
C、条件覆盖
再设计程序中,一个判定语句是由多个条件组合而成的复合判定.条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次.
D、条件判定组合覆盖
条件判定组合覆盖的含义是:设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次.
E、多条件覆盖
多条件覆盖也成为条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次.显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的.