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