1、9 j=X*Y+10;10 j=j%3; 11 / Test1根据所给定的程序,该程序的可能路径如下:路径1:12356891011 路径2:12381011 路径3:123891011 路径4:1235681011编程实现: (1)设计测试用例,实现分支判定覆盖,使得每个判定中的真假值至少执行一次,并在判定路径中插入一条显示输出语句(printf/cout),输出路径标号。 输入格式:输入(X,Y,Z): 输出格式:输出(k,j):k= j=路径ID: 例如: 2,5,5 (回车)k=0 j=0路径2:(2)设计测试用例,实现路径覆盖,使得每个可能路径至少执行一次。 4,5,5 (回车)k=
2、19 j=0 (3)设计测试用例,实现语句覆盖,并在每条语句后插入一条显示输出语句(printf/cout),输出语句标号。(4)设计测试用例,实现条件覆盖,使得每个判定中的每个条件至少执行一次。 2,5,15 (回车)实验设备装有c语言运行环境的计算机。实验步骤步骤一:根据实验要求,设计如下可执行程序: #includestdio.h#includemath.h /1 int n=0; int cout11=0,0,0,0,0,0,0,0,0,0,0; coutn+=1; int k=0,j=0; /2 coutn+=2; coutn+=3; if(X10) /3 /4 /coutn+=4;
3、 k=X*Y-1; /5 coutn+=5; j=sqrt(k); /6 coutn+=6; /coutn+=7; /7 coutn+=8; if(X=4)|(Y5) /8 j=X*Y+10; /9 coutn+=9; j=j%3; /10 coutn+=10; printf(输出:k=%dtj=%dn,k,j);); int m=0; while(coutm!=0) printf(%d,coutm+);11n /11void main() int x,y,z;输入(x,y,z): scanf(%d,%d,%d,&x,&y,&z); Test1(x,y,z);步骤二:编译驱动程序,运行通过;步
4、骤三:根据实验给出路径,设计测试用例;步骤四:运行程序,检验测试用例;步骤五:比较实际输出结果和预期输出结果,得出测试结论;步骤六:根据上述实验及结果,给出测试用例文档说明。实验结果1)对于(1)分支覆盖,共设计两个测试用例如下: 分支覆盖测试用例1-1:实际输出结果,如图1-1:图1-1说明:Test1在分支12381011运行正确。分支覆盖测试用例1-2:实际输出结果,如图1-2:图1-2Test1在分支12356891011运行正确。2)对于(2)路径覆盖,共设计四个测试用例如下:路径覆盖测试用例2-1:实际输出结果,如图2-1:图2-1Test1在给定可能路径1:12356891011
5、上运行正确。路径覆盖测试用例2-2:实际输出结果,如图2-2:图2-2 Test1在给定可能路径2:12381011上运行正确。路径覆盖测试用例2-3:实际输出结果,如图2-3:图2-3 Test1在给定可能路径3:123891011上运行正确。路径覆盖测试用例2-4:实际输出结果,如图2-4:图2-4 Test1在给定可能路径4:1235681011上运行正确。3)对于(3)语句覆盖,设计测试用例如下:语句覆盖测试用例3-1:实际输出结果,如图3-1:图3-1Test1覆盖全部语句运行正确。4)对于(4)条件覆盖,共设计三个测试用例如下:条件覆盖测试用例4-1:图-1Test1在条件X=3、
6、Y=4、Z10上运行正确。条件覆盖测试用例4-2:实际输出结果,如图4-2:图4-2Test1在条件X3、X!=4、Y5、Z10上运行正确。条件覆盖测试用例4-3:实际输出结果,如图4-3:图4-3Test1在条件X=4、Y=5、Z=10上运行正确。实验总结根据以上测试用例以及实验结果,可以得出如下结论:)实现了语句覆盖,不能覆盖全部分支。如果覆盖了所有分支,所有语句就覆盖了。例如:题目中,测试用例5,6,7可以覆盖全部代码行,但还有分支(!(X10)与(!(X=4)|(Y5)没有被覆盖,即实现了语句覆盖,不能覆盖全部分支;而测试用例覆盖了全部分支后,所有语句就覆盖了。)分支覆盖不能代表条件覆
7、盖。例如:题目中判断(X10)只有两个分支,但条件组合有四个。如果只要满足分支覆盖,可选择两个测试用例:X=4,Z=5和X=4,Z=11。至少有一个条件没有得到覆盖,即X=2时。)条件全部覆盖了,也不能覆盖全部分支。还以题目中判断(X10),X=4,Z=11和X=2,Z=5覆盖了全部的4个条件X3、X=3、Z10、Z=10,但结果只覆盖了判断(X10)错误的一条分支,判断(X10)正确分支却没有得到覆盖。综上所述:实现了分支覆盖,也就实现了语句覆盖,但不能保证条件覆盖。条件覆盖,一般情况下会强于分支覆盖,但条件覆盖也不能保证分支覆盖。实验报告课程名称软件测试实验题目实验地点 6#503时 间2011.09.29成 绩班级学号: 00000000 姓 名: xxxx
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1