软件测试技术基础教程(第2版)-习题答案

合集下载

软件测试技术基础教程[第2版]_习题答案解析

软件测试技术基础教程[第2版]_习题答案解析

第一章软件测试理论一、选择题1、C2、A3、D4、B5、D6、D7、B8、B二、简答题1.参考答案:软件测试是伴随着软件的产生而产生的。

在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。

到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。

在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA 或者SQA部门。

后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。

到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。

软件测试已有了行业标准(IEEE/ANSI )。

在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。

但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。

总之,国内软件测试行业与一些发达国家相比还存在一定的差距。

2.参考答案:软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。

3.参考答案:软件测试的复杂性体现在:不可能对程序实现完全测试。

杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试程序,对程序的各个部分进行不断测试,以避免被测试软件对单一的测试程序具有免疫力而使软件缺陷不被发现。

软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升,而软件缺陷数量降低到某一数值之后将没有明显的变化,寻求最优测试点,掌握好测试工作量是至关重要的。

在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决定哪些故障需要修复,哪些故障可以不修复,即并不是所有的软件缺陷都需要被修复。

4.参考答案:软件测试是软件生命期中费用消耗最大的环节。

软件测试(第2版 慕课版)课后习题答案

软件测试(第2版 慕课版)课后习题答案

第一章软件测试基础课后习题答案1.什么是软件测试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程。

(Glenford J.Myers 提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2.软件测试涉及哪几个关键问题?软件测试的经济性原则谁来测试(who)测试什么(what)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3.为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。

如果软件需求一开始就错了,在后面处理过程则会把错误放大,这样使得修复起来成本就是提升。

4.简述软件测试的复杂性和经济性。

复杂性1.完全测试是不现实的2.软件测试是有风险的3.杀虫剂现象4.缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。

测试费用除了测试的直接消耗外,还包括其他的相关费用5.分析最近发生的软件质量事故,并简要分析产生的原因。

具体案例具体分子6.启动Windows计算器,输入“6,000-6=”(逗号不能少),观察计算结果,这是软件故障吗?为什么?这是软件故障中的界面缺陷。

由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。

7.软件测试应遵循哪些重要的原则或方针?1.完全测试程序是不可能的2.软件测试是有风险的3.测试无法找到隐藏的软件故障4.存在的故障数量与发现的故障数量成正比5.杀虫剂现象6.并非所有软件故障都能修复7.一般不要丢弃测试用例8.应避免测试自己编写的程序9.软件测试是一项复杂且具有创造性的和需要高度智慧的挑战性任务8.假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有测试用例但没有发现故障,停止测试使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根据单位是见查出故障数量决定是否停止测试9 . 假如星期一测试软件的某一功能时,每小时能发现一个新的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率。

软件测试 第2版慕课版习题答案 第五章 课后习题答案

软件测试 第2版慕课版习题答案 第五章 课后习题答案

第五章软件测试的管理过程课后习题答案1.简述软件测试过程的概念。

软件测试是软件开发中的最后一个阶段。

软件测试是使用人工或者自动手段来运行或测试某个系统的过程,通过测试发现软件开发设计的过程中存在的问题, 其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

软件测试的过程主要描述了软件测试需要做的工作,随着软件测试技术的进步,测试过程也会得到进一步改进。

2.软件测试包括哪几个阶段?(1)测试需求的分析和确定,测试需求就是在项目中要测试什么。

(2)测试计划。

测试计划是指导测试过程的纲领性文件,内容包含产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、风险分析等。

(3)测试设计。

测试设计可以理解为对测试工作进行有目的、有计划、创造性的业务活动。

测试设计主要包括测试管理的设计,以及各种测试技术应用的设计,其中测试管理中的团队管理方法设计与测试流程设计是重中之重。

(4)测试执行。

书写相应的测试用例,按照测试用例中的步骤一步步执行,查看实际结果与预期结果是否一致。

(5)测试记录和软件缺陷跟踪。

通过某些测试软件的日志功能,可以在相应的测试用例执行完之后记录相关的日志文件,作为测试过程的记录。

(6)回归测试。

因为旧代码得到了修改,通常需要再次进行测试来验证修改是否引入了新的错误,这一测试过程就称为回归测试。

软件开发的每个阶段都会进行多次回归测试。

(7)测试总结报告。

编写测试总结报告,首先是为了对测试结果进行分析,得到对软件质量的评价;其次是为了评估测试执行和测试计划是否相符;最后是为了针对软件中的缺陷提出相应的建议3.需要从哪几个方面对测试需求进行评审?测试需求评审的内容包括完整性审查和准确性审查。

完整性审查是检查测试需求是否覆盖了所有软件需求,以及软件需求的各项特征,关注功能要求、数据定义、接口定义、性能要求、安全性要求、可靠性要求、系统约束、行业标准等,同时还要关注系统隐含的用户需求。

软件测试 第2版慕课版习题答案 第13章 课后习题答案

软件测试 第2版慕课版习题答案 第13章 课后习题答案

第13章软件测试的拓展与提高课后习题及答案
1.企业的测试策略体现在几个方面?
(1)合理地减少测试工作量。

通过以下方式减少测试工作量。

①减少冗余的测试。

②减少无价值的测试。

(2)提高测试效率。

2.为什么要制订测试计划?
(1)测试计划文档为完成测试任务提供便利。

(2)测试计划文档改善测试任务与测试过程之间的联系。

(3)测试计划文档为组织、规划与管理测试项目提供支持。

3.简述基于CMMl的测试流程和传统测试流程的区别。

基于CMMl的测试流程从全局的角度来看,主要是在V模型的基础上在需求分析、概要设计和详细设计阶段增加了需求测试、概要设计测试和详细设计测试3个环节
4.通过调研,了解当前互联网公司是如何将DevOps部署到企业的软件质量保障流程中的。

使用DevOps自动化工具
(1)Jenkins
(2)Maven
(3)DOCker+Jenkins打造自动化测试。

计算机软件技术基础教程(第二版)习题及答案

计算机软件技术基础教程(第二版)习题及答案

第1章习题部分答案1. 操作系统的发展分为那几个阶段?解:操作系统的发展经历了三个阶段:操作系统的酝酿阶段、操作系统的形成阶段、操作系统的理论化和标准化阶段。

2. 计算机软件技术开发系统包括那几个阶段?解:计算机软件开发系统的发展经历了四个阶段:机器语言阶段、汇编语言阶段、高级语言阶段、面向对象语言和可视化语言阶段。

3. 计算机软件技术的主要范畴是什么?解:计算机软件技术的主要范畴包括软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、实时软件技术、网络软件技术、与实际工作相关的软件技术等八个领域的内容。

4. 从软件技术的发展现状来看有哪些值得我们注意的问题?解:从软件技术的发展现状来看有以下几个值得我们注意的问题:1)软件危机2)软件技术标准,软件版权和软件价值评估3)软件技术的基础研究。

1第2章习题部分答案1. 什么是软件危机?软件危机的表现有哪些?解:软件开发技术的进步为能满足发展的要求,在软件开发中遇到的问题找不到解决的方法,问题积累起来形成了尖锐的矛盾,导致了软件危机。

2. 软件危机产生的原因是什么?解:造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。

1)软件规模越来越大,结构越来越复杂。

2)软件开发管理困难而复杂。

3)软件开发费用不断增加。

4)软件开发技术落后。

5)生产方式落后。

6)开发工具落后,生产率提高缓慢。

3. 常见的软件过程模型有哪些?解:常见的软件过程模型有瀑布模型、增量模型、演化过程模型、敏捷开发4. 如何对软件质量进行评价?解:软件质量的评价主要围绕可维护性、可靠性、可理解性和效率这几个方面进行。

2第3章习题部分答案1. 软件可行性研究的目的是什么?软件可行性研究的任务又是什么?解:软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。

软件测试技术习题参考答案

软件测试技术习题参考答案

第1章软件测试概述1、简述软件缺陷的含义。

答:软件缺陷是软件开发过程中潜在的缺陷,这些缺陷可能在软件运行后出现,因而使软件的性能和可靠性等方面与系统的设计需求不符。

2、说明软件缺陷、软件错误和软件失败的关系。

答:缺陷、缺点、偏差统称为缺陷,是软件故障的根源;错误、谬误、问题、异常、矛盾等统称为错误,软件错误出现的原因是软件缺陷所致;失败、事故、灾难统称失败,失败的直接原因是软件系统存在软件错误。

14、“软件测试是有风险的工作”,试解释这种说法的含义。

答:软件不测试,就会有风险;软件测试,同样也会有风险。

因为,软件是个复杂的系统,其复杂性体现在软件实现的内容复杂性、开发过程的复杂性和组织工作的复杂性等方面。

而软件测试的目的是为了发现故障,并加以排除。

对一个复杂的软件系统来说,故障的排除往往可能又带来新的软件缺陷。

所以,软件测试又会带来一定的风险。

第2章软件测试基础2、条件覆盖是否高于判断覆盖的逻辑覆盖程度?如果不是,请给出反例加以说明。

答:条件覆盖是高于判断覆盖的逻辑覆盖程度。

a、用条件覆盖所设计的测试用例可使得程序中的每一个判断的每一个条件的可能取值至少执行一次。

b、用判断覆盖所设计的测试用例可使被测程序中的每个判断的真分支和假分支至少经历一次。

每个判断语句可能包含多个条件(比如,if(A>3 && B<7)……)。

条件覆盖针对判断语句的每一个条件的所有可能取值编写测试用例;判断覆盖只针对每一个判断语句整体的所有可能取值编写测试用例。

所以,条件覆盖的逻辑覆盖程度高于判断覆盖。

4、已知某种计算机程序设计语言的标识符语法规则规定“标示符是由非数字开头的,有效字符数为32个,最大字符数为128个的任意符号串”。

试用等价类划分法设计测试用例。

答:(1)等价类划分(2)测试用例① VAR abc7*ef: REAL;BEGIN abc7*ef:=10.11; // 覆盖等价类(1)(5)(7)② VAR : REAL; // 覆盖等价类(2)③ VAR a12345678901234567890123456789012:REAL; // 覆盖等价类(3)④ VAR T12345……: REAL; // 覆盖等价类(4)⑤ VAR GOTO: REAL; // 覆盖等价类(6)⑥ VAR 2A: REAL; // 覆盖等价类(8)5、已知一个变量的类型为double,它的取值范围为“-0.2-2.2”。

(完整版)软件测试技术基础课后习题答案

(完整版)软件测试技术基础课后习题答案

第1章软件测试概述1.简述软件测试的意义。

解:随着计算机技术的迅速发展和广泛深入的应用,软件质量问题已成为开发和使用软件人员关注的焦点。

而由于软件本身的特性,软件中的错误是不开避免的。

不断改进的开发技术和工具只能减少错误的发生,但是却不可能完全避免错误。

因此为了保证软件质量,必须对软件进行测试。

软件测试是软件开发中必不可少的环节,是最有效的排除和防治软件缺陷的手段,是保证软件质量、提高软件可靠性的最重要手段。

2.什么是软件缺陷?它的表现形式有哪些?解:从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需实现的某种功能的失效或违背。

它的表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明的功能;(2)软件出现了产品说明书中指明不会出现的错误;(3)软件未达到产品说明书中虽未指出但应当达到的目标;(4)软件功能超出了产品说明书中指出的范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。

3.简单分析软件缺陷产生的原因,其中那个阶段引入的缺陷最多,修复成本又最低?解:软件缺陷产生的主要原因有:需求规格说明错误;设计错误;程序代码有误;其他。

其中在需求分析阶段引入的缺陷最多,修复的成本又最低。

4.当用户登录某网站购物完毕并退出后,忽然想查查购物时付账的总金额,于是按了浏览器左上角的“退回”按钮,就又回到了退出前的网页,你认为该购物软件有缺陷吗?如果有,属于哪一类?解:有缺陷。

其所属类别与软件产品说明书的要求有关。

5.什么是软件测试?简述其目的与原则。

解:软件测试是为了尽快尽早地发现在软件产品中所存在的各种软件缺陷而展开的贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证和确认的活动过程。

测试目的:(1)证明:获取系统在可接受风险范围内可用的信心;尝试在非正常情况和条件下的功能和特性;保证一个工作产品是完整的并且可用或可被集成。

软件测试 第2版慕课版习题答案 第六章 课后习题答案

软件测试 第2版慕课版习题答案 第六章 课后习题答案

第六章软件测试的度量课后习题及答案1.什么是软件测试的度量?软件度量是一种度量技术,这种技术用来支撑过程、产品和服务中心工程和管理信息,以及支持过程、产品及服务的信息上的改进,从而量化地评定测试过程的能力和性能,提高测试过程的可视性,帮助软件组织管理及改进软件测试过程。

2.软件测试度量是出于什么原因才进行的?是不可或缺的吗?目的:(1)判断软件测试的有效性。

(2)判断软件测试的完整性。

(3)判断所测试的软件产品的质量。

(4)分析和改进软件测试过程。

重要性:(1)度量可以用来提高质量、产品生产力、以及服务,从而提高客户满意度;(2)对于管理组织很容易分析数据并且深入下去;(3)对过程不受控时有不同的度量方式作为监控者;(4)度量提供当前过程改进。

3.软件测试对工作人员有什么要求?对测试人员的工作如何进行评价?素质要求:(1)测试人员要有责任心。

(2)测试人员要有沟通能力。

(3)测试人员要有团队合作精神。

(4)测试人员要有耐心、细心和信心。

(5)测试人员要时时刻刻保持怀疑态度,并且有软件缺陷预防的意识。

(6)测试人员要有不断学习的能力。

技能要求:(1)业务知识。

(2)产品设计知识。

(3)软件架构知识。

(4)统一建模语言(Unified Modeling Language, UML)o(5)测试工具。

(6)不同的测试手段和测试工具。

(7)开发工具。

(8)用户心理学。

(9)界面设计中的3种模型。

(10)人机交互认知心理学。

(11)编程技能。

(12)脚本语言。

(13)文档能力。

评价:(1)利用软件缺陷数量来考核测试效率。

如果在考核过程中发现的漏洞越多,那么说明这个测试人员的测试效率越高,测试能力越强。

(2)发现软件缺陷数量的多少并不能完全证明测试人员的能力。

但是如果把软件缺陷数量加上一些前置条件(如软件缺陷的严重程度),就会有一定的说明意义。

4.软件测试的度量有什么现实的应用?1、对测试人员能力的评价2、对软件缺陷进行定性评估3、撰写软件缺陷报告4、统计测试的覆盖率5.软件缺陷综合评价模型包括哪6个方面?测试过程、数量、定量、质量、定性、测试人员6.代码行覆盖率如何计算?功能覆盖率如何计算?数据库覆盖率如何计算?代码行覆盖率=(已执行测试的代码行/总的代码行)X100%功能模块覆盖率=已执行测试的功能模块数/总的功能模块数Xl00%数据库覆盖率=SQL中出现的数据库的对象数/数据库总的对象数XlO0%7.在表6・12所示的例子中,尝试计算脚本编写用时是多少?脚本编写用时=Io小时,ASP=25∕10=2.5, 即自动化测试脚本生产率=2.5 (操作/小时)8.软件测试度量涉及哪几个关键问题?软件测试的度量包括对软件测试产出物的测量,以及软件测试过程的测量。

习 题3_软件测试(第2版)_[共4页]

习 题3_软件测试(第2版)_[共4页]

第3章 软件测试基本技术69 系统内部各个模块之间如何协作。

而如果使用灰盒测试,就需要关心模块与模块之间的交互。

这是灰盒测试与黑盒测试的区别。

但是,在灰盒测试中,还是无需关心模块内部的实现细节。

对于软件系统的内部模块,灰盒测试依然把它当成一个黑盒来看待。

而白盒测试则不同,还需要再深入地了解内部模块的实现细节,这是灰盒测试与白盒测试的区别。

灰盒测试从程序的整体出发,而非细节,灰盒测试要求测试人员关注程序的代码逻辑,因此,对于测试人员来说,业务逻辑图是必不可少的,测试人员需要根据业务逻辑图进行功能点划分,并扩展用例。

另外可以借助于测试覆盖率等工具辅助查找遗漏功能点。

灰盒测试的对象应该是整个产品,而非各个组件,应从整个测试产品的业务出发进行测试设计,测试人员知道系统组件之间是如何互相作用的,但缺乏对内部程序功能和运作的详细了解。

习 题31.什么是黑盒测试?什么是白盒测试?2.黑盒测试主要是为了发现哪些错误?3.白盒测试须对程序模块进行哪些检查?4.请试着比较一下黑盒测试、白盒测试的区别与联系。

5.人工检测的方法主要有哪些?6.代码检查法主要是通过什么方式,对哪些内容进行检查?7.什么是静态结构分析法?8.什么是程序插桩技术?9.什么是逻辑覆盖技术?逻辑覆盖主要包括几类覆盖?10.什么是基本路径测试法?试简述基本路径测试法的基本步骤。

11.什么是与符号测试法?12.什么是Z路径覆盖测试法?13.什么是域测试法?14.简述白盒测试方法的综合应用策略。

15.什么是等价类划分法?16.什么是边值分析法?17.什么是因果图法?18.什么是错误推测法?19.什么是功能图法?20.什么是判定表法?21.什么是场景法?22.什么是正交试验法?23.黑盒测试包括非功能测试部分,试简要说明几种常用的测试方法。

24.试简述功能测试部分的各种黑盒测试方法的综合选择的策略。

25.什么是灰盒测试?灰盒测试与白盒测试、黑盒测试的区别是什么?26.如图3.20所示的程序有4条不同的路径。

软件测试技术基础课后习题答案

软件测试技术基础课后习题答案

第1章软件测试概述1.简述软件测试得意义。

解:随着计算机技术得迅速发展与广泛深入得应用,软件质量问题已成为开发与使用软件人员关注得焦点。

而由于软件本身得特性,软件中得错误就是不开避免得。

不断改进得开发技术与工具只能减少错误得发生,但就是却不可能完全避免错误。

因此为了保证软件质量,必须对软件进行测试。

软件测试就是软件开发中必不可少得环节,就是最有效得排除与防治软件缺陷得手段,就是保证软件质量、提高软件可靠性得最重要手段。

2.什么就是软件缺陷?它得表现形式有哪些?解:从产品内部瞧,软件缺陷就是软件产品开发或维护过程中所存在得错误、毛病等各种问题;从外部瞧,软件缺陷就是系统所需实现得某种功能得失效或违背。

它得表现形式主要有以下几种:(1)软件未达到产品说明书中已经标明得功能;(2)软件出现了产品说明书中指明不会出现得错误;(3)软件未达到产品说明书中虽未指出但应当达到得目标;(4)软件功能超出了产品说明书中指出得范围;(5)软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良。

3.简单分析软件缺陷产生得原因,其中那个阶段引入得缺陷最多,修复成本又最低?解:软件缺陷产生得主要原因有:需求规格说明错误;设计错误;程序代码有误;其她。

其中在需求分析阶段引入得缺陷最多,修复得成本又最低。

当用户登录某网站购物完毕并退出后,忽然想查查购物时付账得总金额,于就是按了浏览器左上角得“退回”按钮,就又回到了退出前得网页,您认为该购物软件有缺陷吗?如果有,属于哪一类?解:有缺陷。

其所属类别与软件产品说明书得要求有关。

5.什么就是软件测试?简述其目得与原则。

解:软件测试就是为了尽快尽早地发现在软件产品中所存在得各种软件缺陷而展开得贯穿整个软件开发生命周期,对软件产品(包括阶段性产品)进行验证与确认得活动过程。

测试目得:(1)证明:获取系统在可接受风险范围内可用得信心;尝试在非正常情况与条件下得功能与特性;保证一个工作产品就是完整得并且可用或可被集成。

习题参考答案-软件测试技术(第2版)-谭凤-清华大学出版社

习题参考答案-软件测试技术(第2版)-谭凤-清华大学出版社

《软件测试技术》习题参考答案第1章软件测试基础一、判断题1、验证意味着确保软件正确无误地实现软件的需求,开发过程是沿着正确的方向进行。

(T )2、调试的目的是发现bug。

(F )3、软件缺陷主要来自产品说明书的编写和产品方案设计。

(T )4、在实际的软件测试工作中,不论采用什么方法,由于软件测试情况数量极其巨大,都不可能进行完全彻底的测试。

(T )5、测试人员可以不懂编程。

( F )二、选择题1、软件是程序和(B )的集合。

A、代码B、文档C、测试用例D、测试2、严重的软件缺陷的产生主要源自(A)。

A、需求B、设计C、编码D、测试3、Fixed的意思是指:( C )A、该BUG没有被修复,并且得到了测试人员的确认B、该BUG被拒绝了,并且得到了测试人员的确认C、该BUG被修复了,并且得到了测试人员的确认D、该BUG被关闭了,并且得到了测试人员的确认4、降低缺陷费用最有效的方法是(B )。

A、测试尽可能全面B、尽可能早的开始测试C、测试尽可能深入D、让用户进行测试5、以下不属于应用系统中的缺陷类型的是:( B )。

A、不恰当的需求解释B、用户指定的错误需求C、设计人员的习惯不好D、不正确的程序规格说明三、简答题1、请简述一条软件缺陷(或者叫Bug)记录都包含了哪些内容?2、请简述软件测试的定义?第2章软件测试类型一、判断题1、软件测试的目的是尽可能多的找出软件的缺陷。

( T )2、好的测试方案是极可能发现迄今为止尚未发现的错误。

(T )3、测试人员要坚持原则,缺陷未修复完坚决不予通过。

( F )4、负载测试是验证要检验的系统的能力最高能达到什么程度。

( F )5、V模型不能适应较大的需求变化。

( T )二、选择题1、测试环境中不包括的内容是( A )A、测试所需文档资料B、测试所需硬件环境C、测试所需软件环境D、测试所需网络环境2、某软件公司在招聘软件测试工程师时,应聘者甲向公司做如下保证:(1)经过自己测试的软件今后不会再出现问题(2)在工作中对所有程序员一视同仁,不会因为某个程序编写的程序发现的问题多,就重点审查该程序,以免不利于团结(3)承诺不需要其他人员,自己就可以独立进行测试工作(4)发扬咬定青山不放松的精神,不把所有问题都找出来,绝不罢休根据自己所学的软件测试知识,应聘者甲的保证( D )A、(1)(4)是正确的B、(2)是正确的C、都是正确的D、都是错误的3、用不同的方法可将软件测试分为白盒法和黑盒法,或者(C)和静态测试。

习 题5_软件测试(第2版)_[共2页]

习 题5_软件测试(第2版)_[共2页]

第5章 测试用例设计123 对测试用例进行管理。

现在Internet上可以下载一些用来进行测试管理的软件,其中一些是免费的,如TCM(Test Case Manager)就可以用做测试用例的管理。

TCM可用于测试用例的存储和测试结果的记录。

在这个系统中,所有的测试用例可按不同的要求来划分组别,如按功能划分、按类型划分等。

TCM还有一个很好的功能就是可以计算测试的覆盖率,无论采用哪种方案将测试分类,它都能计算出测试的覆盖率。

它的主要功能有以下3个。

能将测试用例文档的关键内容(如编号、名称等),自动导入管理数据库,形成与测试用例文档完全对应的记录。

TCM将所有的测试用例及相关的资料以Microsoft Access数据库的形式存储起来,因此管理和使用测试用例会很方便。

可供测试实施时及时输入测试情况。

最终实现自动生成测试结果文档,包含各测试度量值、测试覆盖率表和测试通过或不通过的测试用例清单列表。

在使用TCM的过程中,工作量比较大的工作就是要把测试用例逐一输入到系统中,不过一旦完成这一过程,以后的测试工作就比较系统化,也容易管理,测试人员无论是编写每日的测试工作日志、还是撰写软件测试报告,都会变得很方便。

习 题51.什么是测试用例?2.测试用例有什么作用?3.测试设计说明书主要包括哪些内容?4.一个优秀的测试用例应该包含哪些要素?5.什么是测试用例优先级?划分测试用例优先级有什么作用?6.编写测试用例所依据和参考的文档和资料有哪些?7.测试用例设计的基本原则是什么?8.设计测试用例应注意哪些问题?9.在编写测试用例的时候,可以怎样对测试用例进行分类?10.在不同测试阶段,都采用哪些类型的测试用例?11.测试用例执行中应该注意哪些问题?12.通常情况下,使用哪几种方法来组织测试用例?13.如何进行测试用例的评审?测试用例的评审有什么作用?14.为什么需要对测试用例进行维护和更新?15.采用测试用例管理软件对测试用例进行管理有什么好处?16.城市的电话号码由两部分组成。

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

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

软件测试技术习题答案朱少民第二版第章软件测试概述....................................................................................................................1 第章软件测试方法与过程.........................................................................................................4 第章黑盒测试............................................................................................................................7 第章白盒测试方法..................................................................................................................13 第章软件测试管理及自动化测试基础....................................................................................18 第章*****ER测试工具.................................................................................................19 第章*****NER测试工具..............................................................................................21 第章JUNIT........................................................................................................................... ..23PDF 文件使用\试用版本创建 .cn第1章软件测试概述1.简述软件测试的意义。

习 题6_软件测试(第2版)_[共2页]

习 题6_软件测试(第2版)_[共2页]

第6章 测试报告与测试评测149 (1)测试总结报告标识符报告标识符是一个标识报告的唯一ID,用来使测试总结报告管理、定位和引用。

(2)概述这部分内容主要概要说明发生了哪些测试活动,包括软件的版本的发布、环境,等等。

这部分内容通常还包括:测试计划、测试设计规格说明、测试规程和测试用例提供的参考信息。

(3)差异这部分内容主要是描述计划的测试工作与真实发生的测试之间存在的所有差异。

对于测试人员来说,这部分内容相当重要,因为,它有助于测试人员掌握各种变更情况,并使测试人员对今后如何改进测试计划过程有更深的认识。

(4)综合评估在这一部分中,应该对照在测试计划中规定的准则,对测试过程的全面性进行评价。

这些准则是建立在测试清单、需求、设计、代码覆盖,或这些因素的综合结果基础之上的。

在这里,需要指出那些覆盖不充分的特征,或者特征集合,也包括对任何新出现的风险进行讨论。

在这部分内容里,还需要对所采用的测试有效性的所有度量进行报告和说明。

(5)测试结果总结这部分内容用于总结测试结果。

应该标识出所有已经解决的软件缺陷,并总结这些软件缺陷的解决方法;还要标识出所有未解决的软件缺陷。

这部分内容还包括与缺陷及其分布相关的度量。

(6)评价在这一部分中,应该对每个测试项,包括各个测试项的局限性进行总体评价。

例如,对于可能存在的局限性,可以用这样一些语句来描述:“系统不能同时支持100名以上的用户”,或者“如果吞吐量超出一定的范围,性能将会降至……”。

这部分内容可能还会包括:根据系统在测试期间所表现出的稳定性、可靠性,或对测试期间观察到的失效的分析,对失效可能性进行的讨论。

(7)测试活动总结总结主要的测试活动和事件。

总结资源消耗数据,比如,人员配置的总体水平、总的机器时间,以及花在每一项主要测试活动上的时间。

这部分内容对于测试人员来说十分重要,因为这里记录的数据,可提供估计今后的测试工作量所需信息。

(8)审批在这一部分,列出对这个报告享有审批权的所有人员的名字和职务。

软件测试教程课后答案

软件测试教程课后答案

软件测试教程课后答案软件测试教程课后答案【篇一:软件测试习题答案】>一.简答题和应用题:1测试人员面试题01.为什么要在一个团队中开展软件测试工作?因为没有经过测试的软件很难在发布之前知道该软件的质量,在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。

02.您认为做好测试用例设计工作的关键是什么?白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。

不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。

2.什么是软件测试?答:软件测试是为了发现错误而执行程序的过程。

或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

3.比较软件测试过程和软件开发过程?逐逐步步细集化成4.比较白盒测试和黑盒测试?使用白盒测试方法时,确定测试数据应根据程序的内部逻辑和指定的覆盖标准;黑盒测试法是通过分析程序的接口功能来设计测试用例的。

5.简述软件测试的步骤?软件测试的复杂性分析;软件测试方法与策略;单元测试;集成测试;确认测试;验收测试;测试后的调试;面向对象的软件测试!6.什么是测试用例答:测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。

测试用例是执行的最小实体。

7.软件测试的步骤答:单元测试、集成测试、系统测试、确认测试(产品发布)定义时期:问题定义,可行性研究;开发时期:需求分析,软件设计,编码,测试;维护时期:维护;8.qtp工具使用流程答:录制测试脚本,编辑测试(结构化)脚本(专家视图),调试测试脚本,运行测试脚本,分析测试结果(qtp自动产生测试报告)9.了解4-5中软件测试类型二.填空题:1.单元测试是以详细设计说明书为指导,测试源程序代码;集成测试以概要设计说明书为指导,测试软件结构;确认测试以需求分析说明书为指导。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章软件测试理论一、选择题1、C2、A3、D4、B5、D6、D7、B8、B二、简答题1.参考答案:软件测试是伴随着软件的产生而产生的。

在软件行业发展初期,没有系统意义上的软件测试,更多的是一种类似调试的测试,测试用例的设计和选取也都是根据测试人员的经验随机进行的,大多数测试的目的是为了证明系统可以正常运行。

到了20世纪70年代以后,很多测试理论和测试方法应运而生,逐渐形成了一套完整的体系。

在产业界,从20世纪70年代后期到20世纪80年代中期,很多软件企业成立了QA 或者SQA部门。

后来QA的职能转变为流程监控(包括监控测试流程),而测试(Testing)则从QA中分离出来成为独立的组织职能。

到了20世纪80年代初期,一些软件测试的基础理论和实用技术开始形成,软件测试作为软件质量保证(SQA)的主要职能,包含软件质量评价的内容。

软件测试已有了行业标准(IEEE/ANSI )。

在我国,软件测试目前还没有形成一个真正的产业,尚处于起步阶段。

但是,在国内,现在在软件测试行业中各种软件测试的方法、技术和标准都还在探索阶段。

总之,国内软件测试行业与一些发达国家相比还存在一定的差距。

2.参考答案:软件缺陷造成的修复费用随着时间的推移呈指数级地增长,如下图所示。

3.参考答案:软件测试的复杂性体现在:➢不可能对程序实现完全测试。

➢杀虫剂现象,即为了克服被测试软件的免疫力,软件测试员必须不断编写新的测试程序,对程序的各个部分进行不断测试,以避免被测试软件对单一的测试程序具有免疫力而使软件缺陷不被发现。

➢软件测试的代价不容易掌握,因为随着测试量的增加,测试成本将呈几何数级上升,而软件缺陷数量降低到某一数值之后将没有明显的变化,寻求最优测试点,掌握好测试工作量是至关重要的。

➢在实际操作过程中,测试人员要进行正确的判断,合理的取舍,根据风险分析来决定哪些故障需要修复,哪些故障可以不修复,即并不是所有的软件缺陷都需要被修复。

4.参考答案:软件测试是软件生命期中费用消耗最大的环节。

测试费用除了测试的直接消耗外,还包括其他的相关费用。

影响测试费用的主要因素有:(1)软件的功能,软件产品需要达到的标准决定了测试的数量。

对于那些至关重要的系统必须进行更多的测试。

(2)目标用户的数量,一个系统的目标用户数量的多少也在很大程度上影响了测试必要性的程度。

(3)潜在缺陷造成的影响在考虑测试的必要性时,还需要将系统中所包含的信息价值考虑在内。

因此我们应该从经济方面考虑,投入与经济价值相对应的时间和金钱去进行测试。

(4)开发机构的业务能力一个没有标准和缺少经验的开发机构很可能会开发出充满错误的软件系统。

而一个建立了标准和有很多经验的开发机构开发出来的软件系统中的错误将会少很多。

(5)测试的时机测试量会随时间的推移发生改变,在一个竞争很激烈的市场里,争取时间可能是制胜的关键。

测试量应该针对合适的目标进行调整。

5.参考答案:软件测试是贯穿于整个软件开发的过程。

在软件开发的各个阶段,测试人员必须制订本阶段的测试方案,把软件开发和测试活动集成到一起,如下图所示。

6.参考答案:软件测试从测试计划编写到测试实施,需要经过一系列的过程。

这些测试按软件从编写到交付的各个阶段的先后顺序可分为:单元测试、集成测试、确认(有效性)测试、系统测试和验收(用户)测试5个阶段,如下图所示。

7.参考答案:通常软件人员应具备如下素质:(1)良好的沟通能力(2)掌握比较全面的技术(3)充分的自信心(4)足够的耐心和责任感(5)要具备怀疑精神和学习能力(6)超强的记忆力和良好的洞察力第2章白盒测试技术一、选择题1、B2、C3、A4、D5、B6、B7、C8、C9、A 10、A三、简答题1.参考答案:白盒测试方法可以分为两大类:静态测试方法和动态测试方法,动态测试方法是设计一系列的测试用例,通过输入预先设定好的数据来动态地运行程序,从而达到发现程序错误的目的。

静态测试方法则不在计算机上实际执行程序,而是以一些人工的模拟技术或使用测试软件对软件进行分析和测试。

动态测试方法主要有逻辑覆盖、独立路径测试等。

静态测试方法主要有静态结构分析、静态质量度量、代码检查方法等。

2.参考答案:根据不同的测试要求,覆盖测试可以分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

语句覆盖就是设计足够多的测试用例,使得被测试程序中的每条可执行语句至少被执行一次。

判定覆盖又称分支覆盖,就是设计足够多的测试用例,使得被测试程序中的每个判断的“真”、“假”分支至少被执行一次。

条件覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断语句中的每个逻辑条件的可能值至少被满足一次。

或者说设计足够多的测试用例,使得被测试程序中的每个逻辑条件的可能值至少被满足一次。

判定/条件覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断本身的判定结果(真假)至少满足一次,同时,每个逻辑条件的可能值也至少被满足一次。

即同时满足100%判定覆盖和100%条件覆盖的标准。

在保证完成要求的情况下,测试用例的数目越少越好。

条件组合覆盖是指设计足够多的测试用例,使得被测试程序中的每个判断的所有可能条件取值的组合至少被满足一次。

路径覆盖就是设计足够多的测试用例,使得被测试程序中的每条路径至少被覆盖一次。

3.参考答案:独立路径测试的基本步骤是:步骤1:根据源程序导出程序控制流图。

步骤2:根据程序环形复杂度的计算公式,求出程序环形复杂度。

步骤3:根据上面环形复杂度的计算结果,设计测试用例。

4.参考答案:(1)请画出以上代码的控制流图。

注意:需要将复合条件分开单独画成节点。

例如:month >= 1 && month <= 12分别用节点2-1,2-2表示month == 4 || month == 6 || month == 9 || month == 11分别用节点21-1,21-2,21-3,21-4表示(2)请计算上述控制流图的环复杂度V(G)(独立线性路径数)区域法:V(G)=11边与节点的关系:V(G)=27-18+2=11判定节点的关系:V(G)=10+1=11(3)假设输入的取值范围是1000 < year < 2001,请使用基本路径测试法为变量year、month设计测试用例(写出year取值、month取值、maxday预期结果),使其满足基本路径覆盖要求。

第3章黑盒测试技术一、选择题1、B2、B3、A4、C5、B6、C二、填空题1.测试程序时,不可能遍历所有可能的输入数据,而只能是选择一个子集进行测试,那么最好的方法是等价类划分法。

2.边界值分析法的测试用例来自于等价类划分的边界。

3.决策表由_条件桩__、_动作桩__、_条件项__、_动作项__4个部分构成。

4.因果图分析法适用于输入条件之间有多种组合情况。

三、简答题1.参考答案:黑盒测试又称功能测试或数据驱动的测试,主要从用户的观点出发,以软件规格说明书为依据,着重测试软件的功能需求,对程序功能和程序接口进行测试。

白盒测试是按照程序内部的结构测试程序检测产品内部动作是否按照软件设计说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。

2.参考答案:黑盒测试有两种基本方法,即通过测试和失败测试。

在进行通过测试时,实际上是确认软件能做什么,而不会去考验其能力如何,软件测试人员只是运用最简单、最直观的测试案例。

在设计和执行测试案例时,总是要先进行通过测试,验证软件的基本功能是否都已实现。

在确信软件能正确运行之后,就可以采取各种手段通过搞垮软件来找出缺陷。

这种纯粹为了破坏软件而设计和执行的测试案例,称为失败测试或迫使出错测试。

3.参考答案:使用边界值分析方法设计测试用例,首先应确定边界情况。

通常输入和输出等价类的边界,就是应着重测试的边界情况。

应当选取正好等于、刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

在黑盒测试中,由于采用穷举法不可行,一般可以采用等级类划分法进行初步的测试用例设计,然后再根据边界情况采用边界值分析法补充相应的测试用例。

4.参考答案:(1)分析程序规格说明中给出和隐含的对输入条件的要求,列出等价类表(包括有效等价类和无效等价类)。

❖年龄:一位或两位非零整数,值的有效范围为1~99❖性别:一位英文字符,只能取值‘M’或’F’❖婚姻:字符,只能取值‘已婚’或‘未婚’❖抚养人数:空白或一位非零整数(1~9)(2)根据(1)中的等价类表,设计能覆盖所有等价类的测试用例第4章软件测试计划、文档及测试用例一、简答题1.参考答案:测试计划的目的是明确测试活动的意图,它规范了软件测试内容、方法和过程,为有组织地完成测试任务提供保障。

测试计划的主要内容包括:测试目的、测试范围、测试对象、测试策略、测试任务、测试用例、资源配置、测试结果分析和度量及测试风险评估等,测试计划应当足够完整但也不应当太详尽。

2.参考答案:测试文档(Testing Documentation)是测试活动中非常重要的文件,用来记录和描述整个测试流程。

整个测试流程会产生很多个测试文档,一般可以把测试文档分为两类:测试计划类文档和测试分析报告类文档。

测试计划类文档描述将要进行的测试活动的范围、方法、资源和时间进度等,如测试计划、测试设计规格说明、测试用例规格说明和测试步骤规格说明等。

测试分析报告类文档是对测试结果进行分析说明,说明软件经过测试以后,结论性的意见如何,软件的能力如何,存在哪些缺陷和限制等,如测试日志、测试事件报告、测试总结报告等。

3.参考答案:测试计划为实现可管理且高质量的测试过程提供基础。

在制订测试计划时,要避免把测试单纯理解成系统测试,或者把各类型测试设计(测试用例的编写和测试数据准备)全部放图4-1 测试与项目开发生命周期的关系在项目开发生命周期的各个阶段可以同步进行相应的测试计划编制,而测试设计也可以结合在开发过程中实现并行,测试的实施即执行测试的活动可连贯在开发之后。

4.参考答案:软件测试的过程是由一系列的不同测试阶段所组成,这些软件测试的步骤分为:需求分析审查、设计审查、单元测试、集成测试(组装测试)、功能测试、系统测试、验收测试、版本发布、回归测试(维护)等。

软件生命周期各阶段的测试任务与可交付的文档详细内容如下表所示。

5.参考答案:测试用例的内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

测试用例通常根据其所关联的测试类型或测试需求来分类,而且将随类型和需求进行相应地改变。

最佳方案是为每个测试需求至少编制两个测试用例:一个测试用例用于证明该需求已经满足,通常称作正面测试用例;另一个测试用例反映某个无法接受、反常或意外的条件或数据,用于论证只有在所需条件下才能够满足该需求,这个测试用例称作负面测试用例。

相关文档
最新文档