软件测试考试问题 设计题 分别使用覆盖、判定覆盖、条件覆盖构造下列程序的测试用例,完成下面的表格

int result(int x, int y,int z)
{
int k=0,j=0;
if((x<y)&&(z<5))
k=x+y;
if((x==10)!!(y>3))
j=x*y;
return k+j;
}
要求
1,测试用例输入是x,y,z的直的组合
2,需要写预期输出,即只写输入,注意对应清楚

你说的覆盖是语句覆盖吗?

根据所给程序,画出流程图,参看图片

语句覆盖:语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次;即给出满足的条件的x,y,z,使得依次执行过语句1至6即可

测试用例:x=4,y=5,z=3返回29

判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次;即给出满足的条件的x,y,z,使得执行过路径c或者d,f或者g 任意),判定语句2和语句4中的两个分支执行一次就可以;

测试用例:x=3,y=4,z=2返回19

测试用例:x=1,y=2,z=3返回0

条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,即给出满足的条件的x,y,z,使得,判定语句2和语句4中的条件,都执行一次就可以;

测试用例:x=10,y=11,z=3返回131

测试用例:x=1,y=2,z=6返回0

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-26
单元测试的东西,楼上的不对,但是很辛苦
相似回答