期末试卷先锋学院2011-2012学年第二学期《软件测试技术》试题库答案一、填空题(每空2分,共15空,分数为30分)1、判定覆盖设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。
2、黑盒测试的具体技术方法等价类划分法、边界值分析法、决策表法、因果图法。
3、黑盒测试又称之为功能测试。
4、等价类划分有两种不同的情况:有效等价类和无效等价类。
5、根据覆盖目标的不同,逻辑覆盖又可分为:语句覆盖,判定覆盖,条件覆盖,路径覆盖条件组合覆盖,判断/条件覆盖。
6、根据软件生命周期中的定义,可以把自动化测试工具划分3大类白盒测试工具、黑盒测试工具和测试管理工具。
7、软件测试是为发现程序中的错误而执行程序的过程。
8、测试用例是由测试输入数据和预期的输出数据两部分组成。
9、白盒测试又称为结构测试,可以分为静态测试和动态测试两大类。
10、软件是包括程序、数据、相关文档的完整集合。
11、边界值分析法属于黑盒测试。
12、单元测试是以详细设计说明书为指导,测试源程序代码。
13、集成测试以概要设计说明书指导,测试软件结构。
14、确认测试以需求分析说明书为指导。
15、软件开发的基本过程需求分析、概要设计、详细设计、编码、测试、维护。
16、代码复审属于静态测试,不实际运行程序。
17、集成测试把模块组成成系统的测试方式:一次性集成测试和。
18、黑盒测试有两种基本方法,即:通过测试和失败测试。
增量式集成测试20、Junit是一个开放源代码的 java 测试框架,用于编写和运行可重复的测试。
21、在Junit中3.8中testXXX()测试方法必须满足几个条件:public , void 和无方法参数。
二、选择题(每题3分,共10题,分数为30分)1. 下列哪一项不是白盒测试?(C)A.单元测试B.集成测试C.系统测试D.回归测试2. 属于黑盒测试的方法?(C)A.基于基本路径B.控制流C.基于用户需求测试D.逻辑覆盖3.在Assert类中断言对象为NULL是_____。
(C)A.assertEqualsB.assertTrueC.assertNullD.fail4.___________的目的是对最终软件系统进行全面的测试确保最终软件系统产品满足需求。
(A)A.系统测试B.集成测试C.单元测试D.功能测试5.在Assert类中断言两个对象相等是_____。
(A)A.assertEqualsB.assertTrueC.assertSameD.fail6.有一组测试用例使得每一个被测试用例的分支覆盖至少被执行一次,它满足的覆盖标准___________。
(B)A. 语句覆盖B.判定覆盖C.条件覆盖D.路径覆盖7. 在Assert类中断言测试失败是_____。
(D)A.assertEqualsB.assertTrueC.assertSameD.fail8.软件测试的目的是___________。
(C)A.表明软件的正确性B.评价软件质量C.尽可能发现软件中的错误D.判定软件是否合格9.关于白盒测试与黑盒测试的最主要区别,正确的是___________。
(A)A.白盒测试侧重于程序结构,黑盒测试侧重于功能B.白盒测试可以使用测试工具,黑盒测试不能使用工具C.白盒测试需要程序参与,黑盒测试不需要D.黑盒测试比白盒测试应用更广泛10.软件测试类型按开发阶段划分___________。
(B)A.需要测试﹑单元测试﹑集成测试B.单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试C.单元测试﹑集成测试﹑确认测试D.调试﹑单元测试﹑功能测试11.在Junit中,testXXX()方法就是一个测试用例,测试方法是______。
(B)A.private void testXXX() B.public void testXXX()C.public float testXXX() D.public int testXXX()12.在下面所列举中的逻辑测试覆盖中,测试覆盖最强的是__________。
(B)A.条件覆盖B.条件组合覆盖C.语句覆盖D.判定覆盖13.在下面所列举中的逻辑测试覆盖中,测试覆盖最弱的是__________。
(C)A.条件覆盖B.条件组合覆盖C.语句覆盖D.判定覆盖14.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(B)A.集成测试 B.单元测试C.目的测试 D.确认测试15.增量式集成测试有3种方式:自顶向下增量测试方法,和混合增量测试方式。
(B)A.自中向下增量测试方法 B.自底向上增量测试方法C.多次性测试 D.维护16.Junit的TestCase类提供和tearDown()方法,分别完成对测试环境的建立和拆除。
(A)A.setUp()B.set()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)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.frameworkC.Junit.amework D.Junit.assert28.单元测试一般以__________为主。
(A)A.白盒测试B.黑盒测试C.系统测试D.分析测试29.编码阶段产生的错误由__________检查出来的。
(A)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)=区域数+ 12.白盒测试有几种方法?答:白盒测试方法分为两大类:静态测试方法和动态测试方法。
静态测试方法:检查软件的表示和描述是否一致,没有冲突或者没有歧义。
动态测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖。
3.什么是软件测试,软件测试分为哪几个阶段。
答:软件测试是为了发现程序中的错误而执行程序的过程。
软件测试一般分为单元测试、集成测试和系统测试。
4.比较白盒测试和黑盒测试?答:使用白盒测试方法时,测试根据程序的部逻辑和指定的覆盖标准;黑盒测试法是通过分析程序的接口功能设计测试用例的。
5.为以下程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖。
int test(int A,int B){if((A>1) AND (B<10)) thenX=A-B;if((A=2) OR (B>20)) thenX=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);} //语句块1if ( (x==4)||(y>5) ){ j=x*y+10; } //语句块2j=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%. 根据题目容列出条件和结果,给出决策表。
C2:严重过失结果:e1: 扣月4%e2: 扣月8%e3: 扣年2%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 else9 If ( iType==1 )10 x=y+10;11 else12 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→141.从供选择的答案中选出应填入下列( )中的字句。
软件测试的目的是( A )。
为了提高测试的效率,应该( B )。
使用白盒测试方法时,确定测试数据应根据( C )和指定的覆盖标准。
与设计测试数据无关的文档是( D )。
软件的集成测试工作最好由( E )承担,以提高集成测试的效果。
供选择的答案:A. ① 评价软件的质量② 发现软件的错误③ 找出软件中的所有错误④ 证明软件是正确的B. ① 随机地选取测试数据② 取一切可能的输入数据作为测试数据③ 在完成编码以后制定软件的测试计划④ 选择发现错误的可能性大的数据作为测试数据C. ① 程序的部逻辑② 程序的复杂程度③ 使用说明书④ 程序的功能D. ① 该软件的设计人员② 程序的复杂程度③ 源程序④ 项目开发计划E. ① 该软件的设计人员② 该软件开发组的负责人③ 该软件的编程人员④ 不属于该软件开发组的软件设计人员2.请从供选择的答案中选出应填入下列()中的字句。