程序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)&&(z<10))
{
k=x*y-1; ‘语句块1
j=sqrt(k);
}
if((x==4)||(y>5))
{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、多条件覆盖
多条件覆盖也成为条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的。
级别太低,
流程图插不上,汗....