C.setap() D.setDown()
17. ___________方法根据输出对输入的依赖关系设计测试用例。(C) A.路径测试 B.等价类 C.因果图 D.归纳测试
18.Junit测试在单元测试阶段测试,主要用于________。(A) A. 白盒测试 B.灰盒测试 C. 黑盒测试 D.确认测试 19.不属于白盒测试的技术是___________。(C) A.路径覆盖 B.判定覆盖 C.边界值分析 D.条件覆盖
20.软件测试过程中的集成测试主要是为了发现___________阶段的错误码。(B)
A.需求分析 B.概要设计 C.编码 D.维护
21.增量式集成测试有3种方式: ,自底向上增量测试方法和混合增量测试方式。(A)
A.自顶向下增量测试方法 B.一次性集成测试 C.多次性测试 D.维护
22.Junit适用于java开发人员在______阶段,进行单个方法实现功能或者类本身的测试,主要用于白盒测试。(C)
-6-
A.集成测试 B.验收测试 C.单元测试 D.确认测试
23.软件测试是按照特定的规程,___________的过程。(A) A.发现软件错误 B. 说明程序正确 C.证明程序没有错误 D.设计并运行测试用例 24.一个成功的测试是___________。(B)
A.发现错误码 B. 发现了至今尚未发现的错误 C.没有发现错误码 D.证明发现不了错误
25.按照测试组织划分,软件测试可分为:开发方测试,试, ___________。(C)
A.集成测试 B.确认测试 C.用户测试 D.灰盒测试
26.下列模型哪个软件测试过程模型 ___________。(A) A.W模型 B.漠布模型 C.L模 型 D.G模型
27.Junit有两个包:__________和Junit.extensions。(B) A.Junit.frametest B. Junit.framework C.Junit.amework D.Junit.assert 28.单元测试一般以__________为主。(A) A.白盒测试 B. 黑盒测试 C.系统测试 D.分析测试
29.编码阶段产生的错误由__________检查出来的。(A)
-7-
第三方测 A.单元测试 B. 集成测试 C.系统测试 D.有效性测试
30.代码检查法有桌面检查法,走查和__________。(B) A.静态测试 B. 代码审查 C.动态测试 D.白盒测试
三﹑简答题(每题10分,共4题,分数为40分) 1.计算环路复杂度方法有哪三种? 答:(1)V(G)=判定节点数+ 1 ;
(2)V(G) = E-N+2 ; (3)V(G)=区域数+ 1
2.白盒测试有几种方法?
答:白盒测试方法分为两大类:静态测试方法和动态测试方法。
静态测试方法:检查软件的表示和描述是否一致,没有冲突或者没有歧义。 动态测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
3.什么是软件测试,软件测试分为哪几个阶段。
答:软件测试是为了发现程序中的错误而执行程序的过程。
-8-
软件测试一般分为单元测试、集成测试和系统测试。
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;
-9-
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%. 根据题目内容列出条件和结果,给出决策表。
-10-