软件测试技术 习题答案 朱少民 第二版.doc

上传人:豆**** 文档编号:24148417 上传时间:2022-07-03 格式:DOC 页数:35 大小:180KB
返回 下载 相关 举报
软件测试技术 习题答案 朱少民 第二版.doc_第1页
第1页 / 共35页
软件测试技术 习题答案 朱少民 第二版.doc_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《软件测试技术 习题答案 朱少民 第二版.doc》由会员分享,可在线阅读,更多相关《软件测试技术 习题答案 朱少民 第二版.doc(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流软件测试技术 习题答案 朱少民 第二版.精品文档.目录第章软件测试概述.1第章软件测试方法与过程.4第章黑盒测试.7第章白盒测试方法.13第章软件测试管理及自动化测试基础.18第章WINRUNNER测试工具.19第章LOADRUNNER测试工具.21第章JUNIT.23PDF 文件使用 pdfFactory Pro 试用版本创建第1章软件测试概述简述软件测试的意义。解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。而由于软件本身的特性,软件中的错误是不开避免的。不断改进的开发技术和工具只能减少错误的

2、发生,但是却不可能完全避免错误。因此为了保证软件质量,必须对软件进行测试。软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。什么是软件缺陷?它的表现形式有哪些?解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。软)2;(能功的经标明中已未达到产品说明书软件)1(:以下几种有表现形式主要的它当但应虽未指出中未达到产品说明书软件)3;(的错误会出现不指明中产品说明书了出现件难为软件认软件测试人员)5范围;(的指出中产品说明书了超出能功软件)4目标

3、;(的达到以理解、不易使用,或者最终用户认为该软件使用效果不良。简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又最低?解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的成本又最低。当用户登录某网站购物完毕并退出后,忽然想查查购物时付账的总金额,于是按了浏览器左上角的“退回”按钮,就又回到了退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类?解:有缺陷。其所属类别与软件产品说明书的要求有关。什么是软件测试?简述其目的与原则。解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个

4、软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程。测试目的:(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。(2)检测:发现缺陷、错误和系统不足;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。(3)预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。测试过程中应注意和遵循的原则:(1)测试不是为了证明程序的正确性,而是为了证明程序不能工作。(2)测试应当有重点。(3)事先定义好产品的质量标准

5、。(4)软件项目一启动,软件测试也就开始,而不是等到程序写完才开始进行测试。(5)穷举测试是不可能的。(6)第三方进行测试会更客观,更有效。(7)软件测试计划是做好软件测试工作的前提。1PDF 文件使用 pdfFactory Pro 试用版本创建(8)测试用例是设计出来的,不是写出来的。(9)对发现错误较多的程序段,应进行更深入的测试。(10)重视文档,妥善保存一切测试过程文档。1. 件测试阶段是如何划分的?解:软件测试的阶段划分为:规格说明书审查;系统和程序设计审查;单元测试;集成测试;确认测试;系统测试;验收测试。2. 简述软件开发的几个模式,并说明每种模式对软件测试的影响。解:大棒模式简

6、单,计划、进度安排和正规开发过程几乎没有,其开发过程是非工程化的。大棒模式的软件测试通常在开发任务完成后进行,很难回头修复存在的问题,测试工作只是向客户报告软件经过测试后发现的情况。边写边改模式通常最初只有粗略的想法就进行简单的设计,然后开始较长的反复编写、测试和修复过程,在认为无法更精细地描述软件产品要求时就发布产品。该模式下,软件测试人员将和程序员一起陷入可能是长期的循环往复过程。瀑布模式将软件生命周期的各项活动规定为按照固定顺序相连的若干个阶段性工作,形如瀑布流水,最终得到软件产品。软件测试在后期展开,使得开发中出现的问题直到开发后期才显露,失去了及早纠正的机会。快速原型模式首先构造一个

7、功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。原型系统在扩充完善过程中不断被检查、测试和修改。螺旋模式是瀑布模式与边写边改模式演化结合的形式,并加入了风险评估所建立的软件开发模式,其主要思想是在开始时不必详细定义所有细节,而是从小开始,定义重要功能,尽量实现,接受客户反馈,进入下一阶段并重复上述过程,直到获得最终产品。测试在每个阶段都要进行,并从最初就参与。3. 简述软件测试过程。解:软件测试过程主要包括如下6个活动:测试计划;测试需求分析;测试设计;测试规程实现;测试执行;总结生成报告。4. “软件测试能够保证软件的质量”这句话对吗?软件测试和软件质量之间是

8、什么关系?解:不对。软件测试是保障软件质量的手段之一,但不是唯一手段。测试是产品高质量的必要非充分条件,软件测试不能决定软件质量。5. 判断以下说法是否正确。(1)软件测试和软件调试是同一回事。(2)软件测试是可以无穷尽的。(3)测试是为了证明软件的正确性。(4)测试过程中应重视测试的执行,可以轻视测试的设计。(5)测试不能修复所有的软件故障。(6)因为测试工作简单,对软件产品影响不大,所以可以把测试作为新员工的一个过渡工作,或安排不合格的开发人员做测试。2PDF 文件使用 pdfFactory Pro 试用版本创建。正确)5(错误,)6)(4)(3)(2)(1(解:6. 简述软件开发进程与测

9、试进程的关系。解:软件测试是一个贯穿软件开发生命周期的活动,它可以是一个与开发并行的过程,也可以是在开发完成某个阶段任务之后的活动。3PDF 文件使用 pdfFactory Pro 试用版本创建第2章软件测试方法与过程1对软件测试的复杂性进行归纳分析。解:软件测试的复杂性在于:无法对程序进行完全的测试;测试无法保证被测程序中无遗留错误;不能修复所有的软件故障。2分别解释什么是静态测试、动态测试、黑盒测试、白盒测试、人工测试和自动化测试。解:所谓静态测试是指不运行被测软件,仅通过分析或检查等其他手段达到检测的目的。所谓动态测试是指通过运行被测软件,检查运行结果与预期结果的差异,并分析运行效率和健

10、壮性等性能。黑盒测试是指在对程序进行的功能抽象的基础上,将程序划分成功能单元,然后对每个功能单元生成测试数据进行测试。用这种方法进行测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为功能测试。白盒测试又称为结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。广义上,人工测试是人为测试和手工测试的统称。人为测试的主要方法有桌前检查,代码审查和走查。手工测试指的是在测试过程中,按测试计划一步一步执行程序,得出测试结果并进行分析

11、的测试行为。自动化测试指的是利用测试工具来执行测试,并进行测试结果分析的测试行为。3如果没有软件规格说明或需求文档,可以进行动态黑盒测试吗?为什么?解:不行。因为黑盒测试是基于软件规格说明的测试。4在单元测试中,所谓单元是如何划分的?解:单元测试的对象通常是软件设计的最小逻辑单元,单元的划分在面向过程的结构化程序中一般是函数或子过程,在面向对象的程序中可以是类或类的成员函数。5简述单元测试的主要任务。解:单元测试的主要任务是:模块接口测试;局部数据结构测试;路径测试;错误处理测试;边界测试。6如果开发时间紧迫,是否可以跳过单元测试而直接进行集成测试?为什么?解:不可以。因为没有经过单元测试的模

12、块会遗留大量的缺陷到集成测试阶段,而在集成测试阶段对这些缺陷定位困难,导致后续工作展开困难,修复缺陷成本成指数级增长。7什么是驱动模块和桩模块?为下面的函数构造一个驱动模块。int divide(int a, int b)4PDF 文件使用 pdfFactory Pro 试用版本创建int c;if (b=0) printf(除数不能为0); return 0;c=a/b;return c;解:驱动模块是用以模拟被测模块的上级模块,它接收测试数据,传送数据给被测模块,启动被测模块,最后输出实测结果。桩模块用以模拟被测模块工作过程中所调用的子模块。函数驱动模块:void main( )int x

13、,y,z;scanf(“%d%d”,&x,&y);z=divide(x,y);printf(“%d”,z);8什么是回归测试?什么时候进行回归测试?解:回归测试就是重新运行现有测试用例测试原有功能,以便确定变更是否达到了预期的目的,检查变更是否损害了原有的正常功能。每当软件发生变化时就应进行回归测试。9集成测试有哪些不同的集成方法?简述不同方法的特点。解:集成测试通常有一次性集成、自顶向下集成、自底向上集成和混合集成4种集成方法。一次性集成方法需要的测试用例数目少,测试方法简单、易行。但是由于不可避免存在模块间接口、全局数据结构等方面的问题,所以一次运行成功的可能性不大;如果一次集成的模块数量

14、多,集成测试后可能会出现大量的错误,给程序的错误定位与修改带来很大的麻烦;即使集成测试通过,也会遗漏很多错误进入系统测试。自顶向下集成在测试的过程中,可以较早地验证主要的控制和判断点;一般不需要驱动程序,减少了测试驱动程序开发和维护的费用;可以和开发设计工作一起并行执行集成测试,能够灵活的适应目标环境;容易进行故障隔离和错误定位。但是在测试时需要为每个模块的下层模块提供桩模块,桩模块的开发和维护费用大;桩模块不能反映真实情况,重要数据不能及时回送到上层模块,导致测试不充分;涉及复杂算法和真正I/O的底层模块最易出问题,在后期才遇到导致过多的回归测试。自底向上集成可以尽早的验证底层模块的行为;提

15、高了测试效率;一般不需要桩模块;容易对错误进行定位。但是直到最后一个模块加进去之后才能看到整个系统的框架;驱动模块的设计工作量大;不能及时发现高层模块设计上的错误。混合集成具有自顶向下和自底向上两种集成策略的优点,但是在被集成之前,中间层不能尽早得到充分的测试。10系统测试主要包括哪些内容?解:系统测试主要包括强度测试、性能测试、恢复测试、安全测试、可靠性测试、安装测试、5PDF 文件使用 pdfFactory Pro 试用版本创建容量测试和文档测试。11验收测试是由谁完成的?通常包含哪些过程?解:验收测试是以用户为主的测试,软件开发人员和QA(质量保证)人员也应参加。通常包含测试和测试过程。

16、12分析比较面向对象的软件测试与传统的软件测试的异同。解:传统的单元测试的对象是软件设计的最小单位模块。当考虑面向对象软件时,单元的概念发生了变化,此时最小的可测试单位是封装的类或对象,而不再是个体的模块。传统单元测试主要关注模块的算法实现和模块接口间数据的传递,而面向对象的单元测试主要考察封装在一个类中的方法和类的状态行为。面向对象软件没有层次的控制结构,因此传统的自顶向下和自底向上集成策略就不再适合,它主要有以下两种集成策略:基于类间协作关系的横向测试;基于类间继承关系的纵向测试。系统测试一般不考虑内部结构和中间结果,因此面向对象软件系统测试与传统的系统测试差别不大。面向对象软件测试的整体

17、目标和传统软件测试的目标是一致的,即以最小的工作量发现尽可能多的错误,但是面向对象测试的策略和战术有很大不同。测试的视角扩大到包括复审分析和设计模型,此外,测试的焦点从过程构件(模块)移向了类。6PDF 文件使用 pdfFactory Pro 试用版本创建第3章黑盒测试1分析黑盒测试方法的特点。解:黑盒测试又称为功能测试或数据驱动测试,主要针对软件界面、软件功能、外部数据库访问以及软件初始化等方面进行测试。优点:1)比较简单,不需要了解程序内部的代码及实现;2)与软件的内部实现无关;3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;4)基于软件开发文档,所以也能知道软件实现

18、了文档中的哪些功能;5)在做软件自动化测试时较为方便。缺点:1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;2)自动化测试的复用性较低。2健壮等价类测试与标准等价类测试的主要区别是什么?解:主要区别在于健壮等价类测试在标准等价类的基础上还要进行有效取值范围之外的输入(无效输入)的测试。3试用等价分类法测试党政管理系统中党员出生年月的输入设计是否符合要求,假设出生年月格式为yyyymmdd。解:输入数据无效等价类有效等价类出生年月日8位数字字符有非数字字符少于8个数字符多于8个数字符对应数值在19090101-19900101之间19900101月份对应数值在1-12之间等于

19、00 12日期对应值111,3,5,7,8,10,12月在1-31之间15等于00 124,6,9,11月在1-30之间163113闰年2月在1-29之间172,4,6,9,11月等于31 14非闰年2月在1-28之间182月等于30 19非闰年2月等于294找零钱最佳组合:假设商店货品价格(R)皆不大于100元(且为整数),若顾客付款在100元内(P),求找给顾客之最少货币个(张)数?(货币面值50元(N50),10元(N10),5元(N5),1元(N1)四种。试根据边界值法设计测试用例。解:1)分析输入的边界情况:R100 0R=100 R100 R=P=100 PN10= 1 N10 =

20、 0N5=1 N5=04N1=1 N1=03)分析规格中每一决策点之情形,以RR1,RR2,RR3表示计算要找50,10,5元货币数时的剩余金额。R100 R100 P=50 RR2=10 RR3=54)根据上述的输入/输出条件组合出可能的情况:R 100R = 00 R 1000 R = 100, P R0 R = 100, R = P = 100, RR = 500 R = 100, R = P = 100, RR = 490 R = 100, R = P = 100, RR = 100 R = 100, R = P = 100, RR = 90 R = 100, R = P = 100,

21、 RR = 50 R = 100, R = P = 100, RR = 40 R = 100, R = P = 100, RR = 10 R = 100, R = P = 100, RR = 05)为满足以上各种情形,测试用例设计如下:测试用例货品价格R付款金额Ptest1 101 -test2 0 -test3 -1 -test4 100 101test5 100 99test6 50 100test7 51 100test8 90 100test9 91 100test10 95 100test11 96 100test12 99 100test13 100 1005试为三角形问题中的直角

22、三角形开发一个决策表和相应的测试用例。注意,会有等腰直角三角形。解:判断构成的是否为直角三角形的问题的决策表设计如下:c1:ab+c? FTTTTTTTTTTc2:ba+c? -FTTTTTTTTT8PDF 文件使用 pdfFactory Pro 试用版本创建c3:c=80,y=80错误!未找到引用源。x=80,y80错误!未找到引用源。x=80错误!未找到引用源。x80,y=90,y=90,x+y=140错误!未找到引用源。x=90,y=140错误!未找到引用源。x=90,x+y=140错误!未找到引用源。x90,y=140错误!未找到引用源。x=90,y=90,x+y=90,y90,x+y

23、140错误!未找到引用源。x=90,x+y140错误!未找到引用源。x90,y90,x+y2 & b4 | d2,b4,d2,b4,d=5错误!未找到引用源。a2,b3,c=4,d2,b3,c=5错误!未找到引用源。a2,b=3,c4,d2,b=3, c4,d=5错误!未找到引用源。a2,b=3, c=4,d2,b=3, c=5错误!未找到引用源。a=2,b4,d5错误!未找到引用源。a=2, b4,d=5错误!未找到引用源。a=2, b3,c=4,d5错误!未找到引用源。a=2, b3,c=5错误!未找到引用源。a=3,c4,d5错误!未找到引用源。a=3, c4,d=5错误!未找到引用源。

24、a=3, c=4,d5错误!未找到引用源。a=3, c=5测试数据略5针对test函数按照基本路径测试方法设计测试用例。int Test(int i_count, int i_flag)int i_temp = 0;while (i_count0)if (0 = i_flag)i_temp = i_count + 100;break;else15PDF 文件使用 pdfFactory Pro 试用版本创建if (1 = i_flag)i_temp = i_temp + 10;elsei_temp = i_temp + 20;i_count-;return i_temp;解:int Test(i

25、nt i_count, int i_flag)1. int i_temp=0;2. while (i_count0)3. If (0=i_flag)4. i_temp=i_count+100;5. break;6. else7. If (1=i_flag)8. i_temp=i_temp+10;9. else10. i_temp=i_temp+20;11. i_count-;12. return i_temp;程序控制流图:16PDF 文件使用 pdfFactory Pro 试用版本创建134,5 6,713. 9,1011122134,5 6,714. 9,1011122程序环路复杂度:CC

26、=4基本路径集:path1 1-2-3-6-7-8-11-2-12Path2 1-2-12Path3 1-2-3-4-5-12Path4 1-2-3-6-7-9-10-11-2-12设计测试用例:用例ID i_count i_flag 预期输出test1 1 1 10test 2 0 2 0test 3 2 0 102test 4 1 3 206对如图15. 15所示的N-S图,计算所需的最少测试用例数。YpNgY NqY Nfm naY Nb cY h N图4.15 练习题6解:(2+2*2)*2=1217PDF 文件使用 pdfFactory Pro 试用版本创建第5章软件测试管理及自动化

27、测试基础1简述软件测试自动化的意义。测试的归回版本进行新对软件低降)2;(率测试效)提高1(是:意义的化动自解:软件测试更好地)5;(性重复性和可致一具有)4;(完成的测试或难以完成手工测试不能)3;(销开。任度信软件加增,风险低降)6;(资源用利2在运用软件自动化测试时,应注意哪些缺点和事项?大现,可能发时行次运首测试)2;(率测试的效低降测试可能化动自软件)1(:意解:应注量错误,但当进行过多次测试后,发现错误的机率会相对较小,除非对软件进行了修改或在测化动自则,致一不或少档文、差织组,测试的验经测试乏缺果如)3;(行运下境的环同不和技力问题的能决解备不具果如,产品的技术第三方为作技术问题

28、。)4;(差较比果试的效术支持或者产品适应环境变化的能力不强,将使得软件自动化工具的作用大大降低。3软件测试工具主要分为哪个大类?解:根据测试方法不同,分为白盒测试工具和黑盒测试工具。根据测试的对象和目的,分为单元测试工具、功能测试工具、负载测试工具、性能测试工具和测试管理工具等。4了解时下常用的自动化测试用具,并对这些工具进行针对性说明。解:略。5简述软件测试管理过程。解:首先由一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准则,设计完整合理的测试用例,以便系统实现后进行全面测试。然后在实现组将所开发的程序经验证后,提交测试组,由测试负责人组织测试,测试一般可按下列

29、方式组织: (1)测试人员仔细阅读有关资料,包括规格说明、设计文档、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。(2)为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。6简述软件测试管理的主要功能。解:软件测试管理的主要功能是:测试控制对象的编辑和管理;测试流程控制和管理;统计分析和决策支持7试选择一个小型的应用系统,做功能测试计划并设计测试用例。解:略。18PDF 文件使用 pdfFactory Pro 试用版本创建第6章WinRunner测试工具1列举几种W

30、R学习软件GUI的不同方式。解:(1)使用RapidTest Script wizard 学习软件每个窗体中所有GUI对象的属性。(2)通过录制脚本的方法学习被录制的那部分软件中所有的GUI对象的属性。(3)使用GUI Map Editor 学习单个GUI对象、窗体或某个窗体中所有GUI对象的属性。2分别简述WR中同步点和检查点的作用。解:当测试人员执行测试时,所测试的应用程序每次操作的响应时间并不一定,有时快,有时慢,导致执行输入动作的时间也需要等待。在测试脚本中插入同步点,当WinRunner执行到同步点时,会暂停执行以等待应用程序某些状态的改变后,再继续执行,以避免应用程序响应的时间超过WinRunner 等待的时间而导致测试执行失败。设定检查点可以检查所设定区域的显示是否和预期结果相符。通过检查点的设置以及对各点处输出信息的编程定义,可以在脚本运行结果单中查看各项测试内容是否都已通过。在功能测试中,检查点可以用在以下两个方面:检查应用程序经过修改后对象状态是否发生变化;检查对象数据是否和预期数据一致。3比较WinRunner中GUIde Map File per Test和Global GUI Map File两种模式的区别。解:两种模式GUI Map File per Test Global GUI Map File方法在测试的过程中将自动保GUI信息,打开

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com