资源描述:
《《软件测试》期末.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1、使用基本路径测试方法,为以下程序段设计测试用例。(1)画出程序的控制流图,编号已经给出。(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。(3)导出基本路径集,确定程序的独立路径。(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。voidDo(intX,intA,intB){1if((A>1)&&(B=0))2X=X/A;3if((A=2)
2、
3、(X>1))4X=X+1;5}由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。1:A>1;2:B=0;3:X=X
4、/A;4:A=2;5:X>1;6:X=X+1;7:}一、综合题(每题10分,共计20分)1、画出控制流图:如右图所示·计算环形复杂度:10(条边)-7(个节点)+2=5·导出独立路径(用语句编号表示)路径1:1→2→3→4→5→6→7路径2:1→4→5→6→7路径3:1→2→4→6→7路径4:1→2→4→5→7路径5:1→2→3→4→5→7测试用例用例号路径输入数据ABX预期输出XTC11→2→3→4→5→6→73063TC21→4→5→6→70134TC31→2→4→6→72112TC41→2→4→5→73100TC51→2→3→4→5→730311.为以下所示
5、的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖,并画出相应的程序流程图。voidDoWork(intx,inty,intz){intk=0,j=0;if((x>3)&&(z<10)){k=x*y-1;j=sqrt(k);//语句块1}if((x==4)
6、
7、(y>5)){j=x*y+10;}//语句块2j=j%3;//语句块3k=0j=0k=x*y-1j=sqrt(k)x>3andz<10}由这个流程图可以看出,该程序模块有4条不同的路径:P1:(a-c-e)P2:(a-c-d)P3:(a-b-e)P4:(a-
8、b-d)将里面的判定条件和过程记录如下:判定条件M={x>3andz<10}判定条件N={x=4ory>5}语句覆盖测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0TTP1(a-c-e)2、判定覆盖p1和p4可以作为测试用例,其中p1作为取真的路径,p4作为取反的路径。测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0TTP1(a-c-e)x=2,z=11,y=5k=0,j=0FFP4(a-b-d)也可以让测试用例测试路径P2和P3。相应的两组输入数据如下:测试用例输入输出判定M的取值判定N
9、的取值覆盖路径x=5,z=5,y=4k=19,j=sqrt(19)%3TFP2(a-c-d)x=4,z=11,y=6k=0,j=1FTP3(a-b-e)3、条件覆盖对于M:x>3取真时T1,取假时F1;z<10取真时T2,取假时F2;对于N:x=4取真时T3,取假时F3;y>5取真时T4,取假时F4。条件:x>3,z<10,x=4,y>5条件:x<=3,z>=10,x!=4,y<=5根据条件覆盖的基本思路,和这8个条件取值,组合测试用例如表所示:测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8k=31,j=0T1,T2,T3,T4x>3,z<10
10、,x=4,y>5P1(a-c-e)x=3,z=11,y=5k=0,j=0F1,F2,F3,F4x<=3,z>=10,x!=4,y<=5P4(a-b-d)4、判定/条件覆盖测试用例输入输出取值条件具体取值条件覆盖路径x=4,z=5,y=8k=31,j=0T1,T2,T3,T4x>3,z<10,x=4,y>5P1(a-c-e)x=3,z=11,y=5k=0,j=0F1,F2,F3,F4x<=3,z>=10,x!=4,y<=5P4(a-b-d)5、组合覆盖条件组合1)x>3,z<102)x>3,z>=103)x<=3,z<104)x<=3,z>=105)x=4,y>56
11、)x=4,y<=57)x!=4,y>58)x!=4,y<=5测试用例输入输出覆盖条件取值覆盖条件组合覆盖路径x=4,z=5,y=6k=23,j=1T1,T2,T3,T41,5P1(a-c-e)x=4,z=10,y=5k=0,j=0T1,F2,T3,F42,6P2(a-c-d)x=3,z=5,y=6k=14j=1F1,T2,F3,T43,7P3(a-b-e)z=3,z=10,y=5k=0,j=2F1,F2,F3,F44,8P4(a-b-d)6、路径覆盖测试用例输入输出覆盖条件取值覆盖条件组合覆盖路径x=4,z=5,y=8k=31,j=0T1,T2,T3,T41,5P
12、1(a-c