软件测试(第2版)习题答案.docx

上传人:王** 文档编号:1484736 上传时间:2024-07-25 格式:DOCX 页数:21 大小:99.96KB
下载 相关 举报
软件测试(第2版)习题答案.docx_第1页
第1页 / 共21页
软件测试(第2版)习题答案.docx_第2页
第2页 / 共21页
软件测试(第2版)习题答案.docx_第3页
第3页 / 共21页
软件测试(第2版)习题答案.docx_第4页
第4页 / 共21页
软件测试(第2版)习题答案.docx_第5页
第5页 / 共21页
软件测试(第2版)习题答案.docx_第6页
第6页 / 共21页
软件测试(第2版)习题答案.docx_第7页
第7页 / 共21页
软件测试(第2版)习题答案.docx_第8页
第8页 / 共21页
软件测试(第2版)习题答案.docx_第9页
第9页 / 共21页
软件测试(第2版)习题答案.docx_第10页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《软件测试(第2版)习题答案.docx》由会员分享,可在线阅读,更多相关《软件测试(第2版)习题答案.docx(21页珍藏版)》请在优知文库上搜索。

1、第一章软件测试基础课后习题答案1 .什么是软件冽试?软件测试发现一个应用从开始到结束时的错误,测试是一个过程.(G1.enfordJ.Myers提出对软件测试的定义)测试是发现错误而执行的一个程序或系统的过程测试以发现故障为目的,是为了发现故障而执行程序过程2 .软件测试涉及第几个知问题?软件测试的经济性原则谁来测试(who)测试什么(What)什么时候测试(when)怎样进行测试(how)测试的停止标准是什么(which)3 .为什么说软件需求说明是软件故障的最大来源?软件需求是描述了系统有哪些功能,功能操作,性能如何等问题,是开发阶段的重要文档,也是后期软件开发的重要依据。如果软件需求一开

2、始就错了,在后面处理过程则会把错误放大,这样使得修史起来成本就是提升。4 .前述软件测试的复杂性和径济性.更杂性1 .完全测试是不现实的2 .软件测试是有风险的3 .杀虫剂现象4 .缺陷的不确定性经济性软件测试是软件生命期中费用消耗最大的环节。测试费用除了测试的直接消耗外,还包括其他的相关费用5 .分析最近发生的软件质量事故,并简要分析产生的原因.具体案例具体分子6 .启动WindoWS计算器,输入“6,0006=(逗号不能少),观察计算结果.这是软件故障吗?为什么?这是软件故障中的界面缺陷.由于无法输入逗号,无法进行输入,当做一个界面缺陷,因为不符合需求,原本是小数点变成了逗号。7 .软件冽

3、试应遵循哪些篁要的原则或方针?1 .完全测试程序是不可能的2 .软件测忒是有风险的3 .测试无法找到陷藏的软件故障4 .存在的故障数量与发现的故障数量成正比5 .杀虫剂现象6 .并非所有软件故障都能修且7 ,一般不要丢弃测试用例8 .应避免测试自己编写的程序9 .软件测试是一项复杂且具有创造性的和需要虑度智慧的挑战性任务8 .假定无法完全测试某一程序,那么在决定是否应该停止测试时应考虑哪些问题?在工作中,常用的停止测试标准有五类:测试超过了预定时间,停止测试执行了所有*1试用例但没有发现故障,停止测忒使用特定的测试用例方法作为判断测试停止的基础正面指出测试完成要求,如发现并修改70个软件故障根

4、据单位是见查出故障数址决定是否停止测试9 .假如星期一冽试软件的某一功能时,每小时能发现一个荡的软件故障,那么星期二会以什么频率发现软件故障?第一感觉就是与第一天(星期一)的一样,既然前一天发现的频率以每小时都有新的故障,说明软件的缺陷很高,所以第二天也可能有同样的频率,但是这样想感觉又不对,要是第一天测试的是一个功能模块,而第二天测试不同的功能模块,可能功能由于开发人员经验技术问题而导致,所以频率可能也不样,可大可小。第二章软件测试策略课后习题答案1 .软件浦试与软件开发有何关系?软件开发是生产制造软件:软件测限是验证开发出来软件的质量。类比传统加工制造企业,软件开发人员就是生产加工的工人,

5、软件测试人员就是质检人员。关系:软件测试是在软件开发基础上完成的.没有软件开发就没有测试,软件开发提供软件测试的对缭。软件开发和软件测试都是软件生命周期中的重要组成部分软件开发和软件测试都是软件过程中的重要活动。软件测试是保证软件开发产物质量的重要手段.2 .简述软件测试的流程.(1)测试计划和控制。(2)测试分析与设计。(3)测试实现和执行。(4)评估出口准则和报告。(5)测试结束活动。3 .软件潴试的V模型和I模型有什么区别?一、指代不同1.、y模型:是软件开发过程中的个重要模型,由于其模型构图形似字母Y,所以乂称软件测试的V模型。2、W模型:由两个Y字型模型组成,分别代表测试与开发过程。

6、二、特点不同1、V模型:仅仅把测试过程作为在需求分析、系统设计及编码之后的个阶段,忽视r测试对需求分析,系统设计的脸证,需求的满足情况一直到后期的验收测试才被验证。2、W模型:测试的活动与软件开发同步进行,测试的对象不仅仅是程序,还包括需求和设计,尽早发现软件缺陷可降低软件开发的成本。三、适用不同I、V模型:是一种传统软件开发模型,适用于一些传统信息系统应用的开发。2、W模型:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求文档的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利r及时r解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,

7、加快项目进度。综上所述丫模型是软件开发完了之后才开始测试活动。而W模型则是软件测试活动伴随着软件开发活动。和软件开发同时开展。W模型更加敏捷,对于软件的交付期和品版的保证能力更强。4 .软件潴试是一个独立的过程,与开发无关.这种说法正确吗?错误,软件测忒不可以独立出来,应该是贯穿于整个软件开发生命周期的,而且没仃开发就没有测试。5 .软件开发模型在软件开发过程中起到什么作用?没有它可以吗?首先在软件开发中没有软件开发模型是不行的,软件开发模型是软件开发全部过程、活动和任务的结构框架。是对软件过程的建模,即用一定的流程将各个环节连接起来,并可用规范的方式操作全过程,好比工厂的流水线.软件开发模型

8、能清晰。直观地表达软件开发全部过程,明确规定要完成的主要活动和任务,它用来作为软件项目工作的基础。软件开发模型应该是桎定和普通适用的。在软件开发模型的选择上,应该根据项目和应用的特点、采用的方法和工具、需要控制和交付的特点这3个特点上进行选择。6 .软件渊试中检测到的错误都是由编码错误引起的吗?为什么?测试过程中计划-需求-设计-编码,前面3个阶段也可能引进错误,不单单是由编码错误引起.7 .I1.盒潴试和白盒冽试的区别是什么?可以同时使用这两种窝试方法吗?白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误

9、,进而加以修正。黑盒测试:是通过使用整个软件或某种软件功能来严格地测试,而并没仃通过检查程序的源代科或者很清楚地解该软件的源代码程序具体是怎样设计的.测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收和正确的输出.二者最大的区别应该就是测试对象不一样,白盒测试主要针对的是程序代码逻辑,黑盒测试主要针对的是程序所展现给用户的功能,简单的说就是前者测成后台程序后者测试前台展示功能。不可以同时使用,一般

10、是先黑盒测试后白盒测试。8 .静态滞试和动态测试分别都应用在什么场景下?静态测试:通过评审文档、阅读代码等方式测试软件。主要包括各阶段的评审、代码检查、程序分析、软件侦量度量等,用手对被测程序进行特性分析.其中评审通常有人来执行:代码检杳程序分析、软件质量度量等即可人工完成,也可用工具来完成,但工具的作用和效果相对更大更好一些。动态测试:通过运行程序测试软件。主要运行被测程序来检查运行结果与预期结果的差异,并分析运行效率和健壮性等指标:这种方法包括:.部分:构造测试用例、执行程序、分析程序的输出结果。9 .有一种说法:“不可能完全测试一个程序”,判断这句话的正确性并给出理由.这句话是软件测试原

11、则之一,首先这句话是正确的,因为测试的粒盖率几乎不可能达到100%,也就是说,软件测试不能穷举所有的测试用例,不能将程序中所有的路径都测试遍,因为对于多数软件系统,由于其笈杂性和规模,测试用例数或程序路径数会是一个非常大的数据.不能完成100。的测试,也就不可能将所有的缺陷发现出来,因此测试总是存在风险的。如果有充足的时间不断地进行测试,总是可以找到更多的缺陷.10 .给出向相关人员分配测试任务的步事,并思考其合理性.任务分配说大不大,说小不小,分配的合理性直接影响项目的进展力度,但因为每个公司的工作内容不同,工作时间不同,组织结构不同,从而导致任务分配很难有很高的效率。测试任务安排(考虑的问

12、题和困难):(I)针对工程师个人的特点和特长来安排适合工作的特定任务(2)不同的阶段可以适当交叉互换测试人员(3)任务安排均匀、公平,不要造成一部分人的任务过重,一部分人的任务过轻(4)将关联性很强的若干个(子)任务安排给一个人(5)任务不能安排太紧,适当留有余地测试任务安排的步骤:(1)在做测试计划时,对测试执行所需要的资源进行规划,一般会增加比较多的余量15虹20%,使测试资源有足够的准备。(2)在设计测试用例时,预估每个测试用例的执行所需时间,并记录在测试用例数据库中,为后期估计备注(3)根据每个测试用例的硕估时间,可以算出每个测试模块的工作量(4)分析软件模块之间的关系,然后根据模块的

13、关联性和相应的工作量进行模块进行模块组合(5)根据每个人的特点,将组合模块分配给各个测试人员(6) 一轮测试结束后,交叉互换测试的模块组合第三章黑盒测试方法课后习题及答案i1.1.盒测试中,窝试人员和程序员应该相互独立.解狎其合理性.答:黑盒测试是一种常见且常用的软件测忒方法,它将被测软件看成是一个无法打开的黑盒,主要根据功能需求设计测试用例来完成软件的测试.将测试人员与程序员相.独立可以以避免作者的偏见,并且通常更有效地发现缺陷和失败。2 .若窝试机卷学习程序,请设计出一些蜕变关系.答:蜕变关系(MetamorphicRe1.ation,MR)表示组与模型算法中多对输入和输出相关的属性,即在

14、多次执行目标程序时,输入与输出之间期望遵循的关系,机器学习程序测试蜕变关系如下:蜕变关系名称输入的变化相应的输出改变Permutative的机改变元素的序列.维持不变Additive加上一个正常款增加或维持不变Mu1.tip1.icative乘一个正常效用加式维持不变Invertive取相反数减少或维持不爱Inc1.usive增加一个新元京.增加或1维持不变Exc1.usive刑除一个元素.减少或维持不变3 .如何识别等价类?运用示例给出解秆.答:识别等价类的六大原则:(1)如果一个输入条件规定了输入值的范围,那么可以得到3个等价类:一个有效等价类和两个无效等价类。示例:规定输入值的范围是19

15、9,如图所示,那么可以得到3个等价类:一个合法等价类1,99:两个非法等价类xx99.W“我等价类儿WWra一*图:输入值范围(2)如果输入条件规定了一个输入值集合,并且集合中的每个元素处理起来都不同,那么为集合中的每个元素生成一个有效等价类,为集合之外的所有元素生成-个无效等价类。示例:如果从具有N个元素的集合中选择输入,那么得到N+1.个等价类,为每个元素生成一个有效等价类M1,.,MN;生成一个包含集合之外所有元素的无效等价类xEM1.MN。(3)如果处理每个仃效输入的方式都不相同,那么为每个有效输入生成一个有效等价类。示例:如果在一个菜单中选择菜单项作为输入,那么应该为每个菜单项定义一个等价类。4 4)K果输入条件规定了有效输入的数量(假定为N),那么为正确的输入数量:定义一个有效等价类,同时定义两个无效等价类.(5)如果输入条件规定了必须满足的情形,那么生成两个等价类:一个为有效等价类:另一个为无效等价类。示例:加入的第一个字符必须捻个数字,那么得到两个等价类-一个为有效

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 软件测试

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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