(2)V(G) = E-N+2 ; (3)V(G)=区域数+ 1
2.白盒测试有几种方法?
答:白盒测试方法分为两大类:静态测试方法和动态测试方法。 静态测试方法:检查软件的表示和描述是否一致,没有冲突或者没有歧义。
动态测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
3.什么是软件测试,软件测试分为哪几个阶段。
答:软件测试是为了发现程序中的错误而执行程序的过程。
软件测试一般分为单元测试、集成测试和系统测试。
4.比较白盒测试和黑盒测试?
答:使用白盒测试方法时,测试根据程序的内部逻辑和指定的覆盖标准;
黑盒测试法是通过分析程序的接口功能设计测试用例的。
5. 为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。 int test(int A,int B) {
if((A>1) AND (B<10)) then X=A-B;
if((A=2) OR (B>20)) then X=A+B; return x; }
答:语句覆盖测试用例:A=2,B=0;
判定覆盖测试用例:A=3,B=0;A=2,B=20; 条件覆盖测试用例:A=2,B=0;A=0,B=21;
6. 为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。 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 }
答:语句覆盖测试用例:x=4、y=5、z=5;
判定覆盖测试用例::x=4、y=5、z=5;x=2、y=5、z=5; 条件覆盖测试用例:x=4、y=6、z=5 ;x=2、y=5、 z=15 ;
7.某公司人事软件的工资计算模块的需求规格说明书中描述: (1)年薪制员工:严重过失,扣当月薪资的4%;过失,扣年终奖的2%.
(2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%.
根据题目内容列出条件和结果,给出决策表。 答:条件:C1:年薪制 C2:严重过失
结果:e1:扣月4% e2: 扣月8%
e3: 扣年2% 1 2 3 4 条C1 1 1 0 0 件: C2 1 0 1 0 动作 e1 √ √ e2 √ e3 √
8.看代码程序:
void Sort ( int iRecordNum, int iType ) 1 {
2 int x=0; 3 int y=0;
4 while ( iRecordNum> 0 ) 5 {
6 If ( iType==0 ) 7 x=y+2; 8 else
9 If ( iType==1 ) 10 x=y+10;
11 else 12 x=y+20; 13 } 14 }
要求(1)给以上代码画出控制流图(2)控制流图的环复杂度V(G),写出独立路径。 答:
(1) 控制流图:(2)V(G)= 4 路径1:4→14
路径2:4→6→7→13 → 4 → 14 路径3:4→6→9→10→13→4→14 路径4:4→6→9→12→13→4→14
1.从供选择的答案中选出应填入下列( )中的字句。