软件测试技术基础课后习题复习资料.docx
《软件测试技术基础课后习题复习资料.docx》由会员分享,可在线阅读,更多相关《软件测试技术基础课后习题复习资料.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 软件测试概述1. 简述软件测试的意义。解:随着计算机技术的迅速开展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。而由于软件本身的特性,软件中的错误是不开防止的。不断改良的开发技术和工具只能减少错误的发生,但是却不可能完全防止错误。因此为了保证软件质量,必须对软件进展测试。软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。2. 什么是软件缺陷?它的表现形式有哪些?解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。它的
2、表现形式主要有以下几种:1软件未到达产品说明书中已经标明的功能;2软件出现了产品说明书中指明不会出现的错误;3软件未到达产品说明书中虽未指出但应当到达的目标;4软件功能超出了产品说明书中指出的范围;5软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。 3. 简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复本钱又最低?解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。其中在需求分析阶段引入的缺陷最多,修复的本钱又最低。4. 当用户登录某网站购物完毕并退出后,突然想查查购物时付账的总金额,于是按了浏览器左上角的“退回按钮,就又回到了
3、退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类?解:有缺陷。其所属类别及软件产品说明书的要求有关。5. 什么是软件测试?简述其目的及原那么。解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软件产品包括阶段性产品进展验证和确认的活动过程。测试目的:1证明:获取系统在可承受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。 2检测:发现缺陷、错误和系统缺乏;定义系统的能力和局限性;提供组件、工作产品和系统的质量信息。 3预防:澄清系统的规格和性能;提供预防或减少可能制造错误的信息;
4、在过程中尽早检测错误;确认问题和风险,并且提前确认解决这些问题和风险的途径。测试过程中应注意和遵循的原那么:1测试不是为了证明程序的正确性,而是为了证明程序不能工作。2测试应当有重点。3事先定义好产品的质量标准。4软件工程一启动,软件测试也就开场,而不是等到程序写完才开场进展测试。5穷举测试是不可能的。6第三方进展测试会更客观,更有效。7软件测试方案是做好软件测试工作的前提。8测试用例是设计出来的,不是写出来的。9对发现错误较多的程序段,应进展更深入的测试。10重视文档,妥善保存一切测试过程文档。6. 件测试阶段是如何划分的?解:软件测试的阶段划分为:规格说明书审查;系统和程序设计审查;单元测
5、试;集成测试;确认测试;系统测试;验收测试。7. 简述软件开发的几个模式,并说明每种模式对软件测试的影响。解:大棒模式简单,方案、进度安排和正规开发过程几乎没有,其开发过程是非工程化的。大棒模式的软件测试通常在开发任务完成后进展,很难回头修复存在的问题,测试工作只是向客户报告软件经过测试后发现的情况。边写边改模式通常最初只有粗略的想法就进展简单的设计,然后开场较长的反复编写、测试和修复过程,在认为无法更精细地描述软件产品要求时就发布产品。该模式下,软件测试人员将和程序员一起陷入可能是长期的循环往复过程。瀑布模式将软件生命周期的各项活动规定为按照固定顺序相连的假设干个阶段性工作,形如瀑布流水,最
6、终得到软件产品。软件测试在后期展开,使得开发中出现的问题直到开发后期才显露,失去了及早纠正的时机。快速原型模式首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩大完善得到最终的软件系统。原型系统在扩大完善过程中不断被检查、测试和修改。螺旋模式是瀑布模式及边写边改模式演化结合的形式,并参加了风险评估所建立的软件开发模式,其主要思想是在开场时不必详细定义所有细节,而是从小开场,定义重要功能,尽量实现,承受客户反应,进入下一阶段并重复上述过程,直到获得最终产品。测试在每个阶段都要进展,并从最初就参及。8. 简述软件测试过程。解:软件测试过程主要包括如下6个活动:测试方案;测试需求分析
7、;测试设计;测试规程实现;测试执行;总结生成报告。9. “软件测试能够保证软件的质量这句话对吗?软件测试和软件质量之间是什么关系?解:不对。软件测试是保障软件质量的手段之一,但不是唯一手段。测试是产品高质量的必要非充分条件,软件测试不能决定软件质量。10. 判断以下说法是否正确。1软件测试和软件调试是同一回事。2软件测试是可以无穷尽的。3测试是为了证明软件的正确性。4测试过程中应重视测试的执行,可以轻视测试的设计。5测试不能修复所有的软件故障。6因为测试工作简单,对软件产品影响不大,所以可以把测试作为新员工的一个过渡工作,或安排不合格的开发人员做测试。解:12346错误,5正确。11. 简述软
8、件开发进程及测试进程的关系。解:软件测试是一个贯穿软件开发生命周期的活动,它可以是一个及开发并行的过程,也可以是在开发完成某个阶段任务之后的活动。第2章 软件测试方法及过程1对软件测试的复杂性进展归纳分析。解:软件测试的复杂性在于:无法对程序进展完全的测试;测试无法保证被测程序中无遗留错误;不能修复所有的软件故障。2分别解释什么是静态测试、动态测试、黑盒测试、白盒测试、人工测试和自动化测试。解:所谓静态测试是指不运行被测软件,仅通过分析或检查等其他手段到达检测的目的。所谓动态测试是指通过运行被测软件,检查运行结果及预期结果的差异,并分析运行效率和强健性等性能。黑盒测试是指在对程序进展的功能抽象
9、的根底上,将程序划分成功能单元,然后对每个功能单元生成测试数据进展测试。用这种方法进展测试时,被测程序被当作打不开的黑盒,因而无法了解其内部构造,因此又称为功能测试。白盒测试又称为构造测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进展,按照程序内部的构造测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。广义上,人工测试是人为测试和手工测试的统称。人为测试的主要方法有桌前检查,代码审查和走查。手工测试指的是在测试过程中,按测试方案一步一步执行程序,得出测试结果并进展分析的测试行为。自动化测试指的是利用测试工具来执行
10、测试,并进展测试结果分析的测试行为。3如果没有软件规格说明或需求文档,可以进展动态黑盒测试吗?为什么?解:不行。因为黑盒测试是基于软件规格说明的测试。4在单元测试中,所谓单元是如何划分的?解:单元测试的对象通常是软件设计的最小逻辑单元,单元的划分在面向过程的构造化程序中一般是函数或子过程,在面向对象的程序中可以是类或类的成员函数。5简述单元测试的主要任务。解:单元测试的主要任务是:模块接口测试;局部数据构造测试;路径测试;错误处理测试;边界测试。6如果开发时间紧迫,是否可以跳过单元测试而直接进展集成测试?为什么?解:不可以。因为没有经过单元测试的模块会遗留大量的缺陷到集成测试阶段,而在集成测试
11、阶段对这些缺陷定位困难,导致后续工作展开困难,修复缺陷本钱成指数级增长。7什么是驱动模块和桩模块?为下面的函数构造一个驱动模块。int divide(int a, int b) int c; if (b=0) printf(除数不能为0); return 0; c=a/b; return c;解:驱动模块是用以模拟被测模块的上级模块,它接收测试数据,传送数据给被测模块,启动被测模块,最后输出实测结果。桩模块用以模拟被测模块工作过程中所调用的子模块。函数驱动模块:void main( ) int x,y,z; scanf(“%d%d,&x,&y); z=divide(x,y); printf(“
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 技术 基础 课后 习题 复习资料
限制150内