《软件测试》期末
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、使用基本路径测试方法,为以下程序段设计测试用例。
(1)画出程序的控制流图,编号已经给出。
(2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。
(3)导出基本路径集,确定程序的独立路径。
(4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。
void Do (int X,int A,int B)
{
1 if ( (A>1)&&(B=0) )
2 X = X/A;
3 if ( (A=2)||(X>1) )
4 X = X+1;
5 }
由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。 1: A>1;2: B=0 ;3: X = X/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
测试用例
用例号路径输入数据
A B X 预期输出X
TC1 1→2→3→4→5→6→7 3 0 6 3
TC2 1→4→5→6→7 0 1 3 4
TC3 1→2→4→6→7 2 1 1 2
TC4 1→2→4→5→7 3 1 0 0
TC5 1→2→3→4→5→7 3 0 3 1
1.为以下所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆
盖、组合覆盖和路径覆盖,并画出相应的程序流程图。
void DoWork (int x,int y,int z)
{
int k=0,j=0;
if ( (x>3)&&(z<10) )
{ k=x*y-1;
j=sqrt(k); //语句块1
}
if ( (x==4)||(y>5) )
{
j=x*y+10;
} //语句块2
j=j%3; //语句块3
k=0
j=0
k=x*y-1
j=sqrt(k)
x>3
and
z<10
}
由这个流程图可以看出,该程序模块有4条不同的路径:
P1:(a-c-e) P2:(a-c-d)
P3:(a-b-e) P4:(a-b-d)
将里面的判定条件和过程记录如下:
判定条件M={x>3 and z<10}
判定条件N={x=4 or y>5}
语句覆盖
测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0T T P1(a-c-e)
2、判定覆盖
测试用例输入输出判定M的取值判定N的取值覆盖路径x=4,z=5,y=8k=31,j=0T T P1(a-c-e)
x=2,z=11,y=5k=0,j=0F F P4(a-b-d)
也可以让测试用例测试路径P2和P3。相应的两组输入数据如下:
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
5
条件组合
1)x>3,z<10 2)x>3,z>=10
3) x<=3,z<10 4)x<=3,z>=10
5)x=4,y>5 6)x=4,y<=5
6