浙江工业大学考试命题纸第0页软件测试技术试题课程____软件质量保证与测试技术姓名__________________________班级_________________________________学号___________________________题序一二三四五总评计分注:闭卷考试,时间90分钟。一.选择题(共10小题,每题2分,共20分)1、软件测试类型按开发阶段划分___________。(B)A、需要测试﹑单元测试﹑集成测试B、单元测试﹑集成测试﹑确认测试﹑系统测试﹑验收测试C、单元测试﹑集成测试﹑确认测试D、调试﹑单元测试﹑功能测试2、不属于白盒测试的技术是___________。(C)A、路径覆盖B、判定覆盖C、边界值分析D、条件覆盖3、在下面所列举中的逻辑测试覆盖中,测试覆盖最弱的是__________。(C)A、条件覆盖B、条件组合覆盖C、语句覆盖D、判定覆盖4、某人事信息管理系统中,系统允许用户输入8位数字的电话号码。如果使用等价类划分法来设计测试案例,哪一组是最佳的选择?(C)A、62563072、80603805、100080、39103825B、39103825、8252323、@、13910382500C、62563072、391038255、8252323、空值、h?D、62563072、06038055、在Assert类中断言两个对象相等是_____。(A)A、assertEqualsB、assertTrueC、assertSameD、fail6、编码阶段产生的错误由__________检查出来的。(A)A、单元测试B、集成测试C、系统测试D、有效性测试得分浙江工业大学考试命题纸第1页7、安全性测试主要在哪一阶段实施?(C)A、单元测试B、集成测试C、系统测试D、验收测试8、自底向上法需要写(A)。A、驱动程序B、桩程序C、驱动程序和桩程序D、以上都不是9、以下哪一项不属于软件性能测试工具?(B)A、HPLoadRunnerB、SeleniumIDEC、ApacheBenchD、JMeter10、请阅读下面这段程序:intfunc2(inta,b,c){intk=1;if((a0)||(b0)||(a+c0))k=k+a;elsek=k+b;if(c0)k=k+c;returnk;}用逻辑覆盖法测试改程序,下面哪一组输入组合可以达到条件覆盖。(B)A、(a,b,c)=(1,1,1)、(-1,1,1)B、(a,b,c)=(1,1,1)、(-1,-1,-1)C、(a,b,c)=(1,1,-1)、(-1,-1,-1)D、(a,b,c)=(1,1,-1)、(-1,1,1)二.、填空题(共10空,每空2分,共20分)1、判定覆盖是设计足够多的测试用例,使得被测试程序中的每个判断的取真分支和取假分支至少被执行一次。2、功能测试,依据产品规格说明书完成对产品功能进行操作,以验证系统是否满足用户的功能性需求。3、黑盒测试又称之为____功能测试或数据驱动测试_______测试。4、等价类划分有两种不同的情况:___有效等价类__和___无效等价类_。5、Junit中的所有的Assert用于对比___期望值____和实际值是否相同。6、软件成品阶段的三个阶段版本分别是___Alpha版、Beta版和正式版。7、在执行性能测试时,可以采取两种加载方式:一次性加载和逐步加载。8、代码复审属于___静态测试__,不实际运行程序。得分浙江工业大学考试命题纸第2页三.、判断题(共5小题,每题2分,共10分)注:填写√或者╳1、软件测试的目的是尽可能多的找出软件的缺陷。(√)2、在白盒测试中,实现了分支覆盖,也就实现了语句覆盖,同时也实现了条件覆盖。(╳)3、自底向上集成需要测试员编写驱动程序。(√)4、验收测试是由最终用户来实施的。(╳)5、负载测试是验证要检验的系统的能力最高能达到什么程度.(╳)四、简答题(共4小题,每题5分,共20分)1、比较白盒测试和黑盒测试?答:使用白盒测试方法时,测试根据程序的内部逻辑和指定的覆盖标准;黑盒测试法是通过分析程序的接口功能设计测试用例的。2、什么是软件缺陷?它简单分析造成软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又最低?答:定义从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。造成软件缺陷的主要原因有:规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。3、什么是回归测试?回归测试的目的是什么?答:定义:是指在发现确认对源代码进行修改后,用原有的测试用例重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误目的:在程序又修改的情况下保证原有功能正常的一种测试策略和方法。4、请简要说明软件本地化和软件国际化。答:软件本地化:是将一个软件产品按特定国家/地区或语言市场的需要进行加工,使之满足特定市场上的用户对语言和文化的特殊要求的软件生产活动。软件国际化:是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化传统,使创建不同语言版本时,不需要重新设计源程序代码的软件工程方法。得分得分浙江工业大学考试命题纸第3页五、综合题(共2小题,第一小题15分,第二小题15分,共30分)1、看代码程序:voidSort(intiRecordNum,intiType)1{2intx=0;3inty=0;4while(iRecordNum0)5{6If(iType==0)7x=y+2;8else9If(iType==1)10x=y+10;11else12x=y+20;13}14}要求:(1)给以上代码画出控制流程图;(2)得出控制流程图的环复杂度V(G);(3)写出基本路径。答:(1)控制流图:(2)V(G)=4(3)路径:路径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得分浙江工业大学考试命题纸第4页2、请回答什么是桩模块,什么是驱动模块?为下面的函数构造一个驱动模块。intdivide(inta,intb){if(b==0){printf(除数不能为0);return0;}intc=a/b;returnc;}答:在单元测试时,如果模块不是独立的程序,需要设置一些辅助测试模块。辅助测试模块有两种:(1)驱动模块(Drive)用来模拟被测试模块的上级模块,能够调用被测模块。测试过程中,驱动模块接受测试数据,调用被测模块并把相关的数据传送给被测模块。(2)桩模块(Stub)用来模拟被测模块工作过程中所调用的下层模块。它们一般只进行很少的数据处理。函数驱动模块:voidmain(){int,y,z;scanf(“%d%d”,&x,&y);z=divide(x,y);printf(“%d”,z);}