软件工程课件作者张海藩1_第4章节.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.4.2 边界值分析 经验表明,处理边界情况时程序最容易发生错误。例如,许多程序错误出现在下标、纯量、数据结构和循环等等的边界附近。因此,设计使程序运行在边界情况附近的测试方案,暴露出程序错误的可能性更大一些。 使用边界值分析方法设计测试方案首先应该确定边界情况,这需要经验和创造性,通常输入等价类和输出等价类的边界,就是应该着重测试的程序边界情况。选取的测试数据应该刚好等于、刚刚小于和刚刚大于边界值。也就是说,按照边界值分析法,应该选取刚好等于、稍小于和稍大于等价类边界值的数据作为测试数据,而不是选取每个等价类内的典型值或任意值作为测试数据。 通常设计测试方案时总是联合使用等价划分和边界值分析两种技术。 4.4.3 错误推测 错误推测法在很大程度上依靠测试人员的直觉和经验进行。它的基本做法是,列举出程序中可能有的错误和容易发生错误的特殊情况,并且根据它们设计测试方案。对于程序中容易出错的情况已有一些经验总结出来,例如,输入数据值为零或输出数据值为零往往容易发生错误;如果输入或输出的数目允许变化(例如,被检索的或程序生成的表的项数),则输入或输出的数目为0和1的情况(例如,表为空或只有一项)是容易出错的情况。还应该仔细分析程序规格说明书,注意找出其中的遗漏或省略的部分,以便设计相应的测试方案,检测程序员对这些部分的处理是否正确。 此外,经验还告诉我们,在一段程序中已经发现的错误数目往往和尚未发现的错误数成正比。例如,在IBM OS/370操作系统中,用户发现的全部错误的47%只与该系统4%的模块有关。这个事实再次证实了本章4.2.4小节提到的Pareto原理。因此,在进一步测试时应该着重测试那些已经发现了有较多错误的程序段。 4.5 测 试 策 略 软件测试策略把设计测试用例的方法集成到一系列经过周密计划的测试步骤中去,从而大大提高软件测试的效果,使得软件开发获得成功。任何测试策略都必须与测试计划、测试用例设计、测试执行以及测试结果数据的收集与分析紧密地结合在一起。 4.5.1 测试步骤 除非是测试一个小程序,否则一开始就把整个系统作为一个单独的实体来测试是不现实的。与开发过程类似,测试过程也必须分步骤进行,后一个步骤在逻辑上是前一个步骤的继续。 从过程的观点考虑测试,在软件工程环境中的测试过程,实际上是顺序进行的四个步骤的序列。最开始,着重测试每个单独的模块,以确保它作为一个单元来说功能是正确的。因此,这种测试称为单元测试。单元测试大量使用白盒测试技术,检查模块控制结构中的特定路径,以确保做到完全覆盖并发现最大数量的错误。接下来,必须把模块装配(即集成)在一起形成完整的软件包。在装配的同时进行测试,因此称为集成测试。集成测试同时解决程序验证和程序构造这两个问题。在集成过程中最常用的是黑盒测试用例设计技术,当然,为了保证覆盖主要的控制路径,也可能使用一定数量的白盒测试。在软件集成完成之后,还需要进行一系列高级测试。必须测试在需求分析阶段确定下来的确认标准,确认测试是对软件满足所有功能的、行为的和性能的需求的最终保证。在确认测试过程中仅使用黑盒测试技术。 4.5.2 单元测试 通常,单元测试和编码属于软件工程过程的同一个阶段。在编写出源程序代码并通过了编译程序的语法检查之后,可以应用人工测试和计算机测试这样两种类型的测试,完成单元测试工作。这两种类型的测试各有所长,互相补充。 下面讲述和单元测试有关的问题。 1. 单元测试的重点 在单元测试期间应该着重从下述五个方面对模块进行测试:模块接口,局部数据结构,重要的执行通路,出错处理通路,影响上述各方面特性的边界条件。 (1)模块接口 (2)局部数据结构 (3)重要的执行通路 (4)出错处理通路 (5)边界条件 2. 代码审查 人工测试源程序可以由编写者本人非正式地进行,也可以由审查小组正式进行。后者称为代码审查,它是一种非常有效的程序验证技术,对于典型的程序来说,可以查出30%~70%的逻辑设计错误和编码错误。审查小组最好由下述四人组成: ● 组长,他应该是一个很有能力的程序员,而且没有直接参与这项工程; ● 程序的设计者; ● 程序的编写者; ● 程序的测试者。 如果一个人既是程序的设计者又是编写者,或既是编写者又是测试者,则审查小组中应该再增加一个程序员。 审查之前,小组成员应该先研究设计说明书,力求理解这个设计。为了帮助理解,可以先由设计者扼要地介绍他的设计。在审查会上由程序的编写者解释他是怎样用程序代码实现这个设计的,通常是逐个语句地讲述程序的逻辑,小组其他

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档