软件工程(第2版)-齐治昌-课件SE.T14.pptVIP

软件工程(第2版)-齐治昌-课件SE.T14.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
国防科技大学计算机学院 软件工程 Software Engineering 国防科技大学计算机学院 2004.07 第十四章 软件测试 尽管软件质量保证是贯穿软件开发全过程的活动,但最关键的步骤是软件测试,软件测试是对软件规格说明、软件设计和编码的最后复审,目的是在软件产品交付之前尽可能发现软件中潜伏的错误。 大量统计表明,软件测试工作量往往占软件开发总工作量的40%以上,在极端情况下,甚至可能高达软件工程其他步骤成本总和的三到五倍。 本章重点讨论软件测试的基本概念、关键技术和实施策略,指出软件测试的主要目标、如何设计测试用例(test cases)以及如何组织实施测试活动。 14.1 基本概念 在测试之前的所有软件开发活动中,软件工程师们致力于具体实现,即从事所谓“建设性”的活动。 软件测试人员却在努力寻求程序中的错误。 发现错误是为了改正错误。测试阶段发现的错误越多,交付的软件质量越高,后期的改正性维护工作越少。 因此,测试亦是一项“建设性”活动 14.1.1 软件测试的目标 软件测试是为了发现程序中的错误。 软件测试的过程亦是程序运行的过程。 程序运行需要数据,为测试设计的数据称测试用例。 设计测试用例的原则自然是尽可能暴露错误。 软件测试是一个找错过程。 软件测试的目标(续) 大型软件系统的测试分为单元(模块)测试和综合测试两个阶段。 多数场合,设计者与测试者共同完成单元测试任务;专门机构负责软件产品的综合测试。有时设计人员也加入这个机构。 值得指出的是,不能保证通过测试的程序一定正确,测试只能找出程序中的错误,而不能证明程序无错。 人们认为,软件运行期间测试活动从未间断,只是在软件交付用户之后, 将由用户继续扮演测试角色而已。 14.1.2 测试阶段的信息流程 测试阶段的信息流程 输入流分软件配置和测试配置两项,软件配置由需求说明书、设计说明书和源代码组成;测试配置中包含测试计划、测试工具、测试用例和期望结果,有时测试配置亦作为软件配置的一个组成部分。 测试人员根据上述输入信息测试程序并评价测试结果,当测试结果与期望结果存在差异时,往往程序有错。此时可采用排错技术定位错误并改正之。 通过对测试结果的收集和评价,软件质量和软件可靠性的一些定性指标即能逐步确定下来。 14.1.3 测试用例和场景的设计 任何工程化的产品都有两种测试方法: 一种方法是已知产品应该具有的功能,通过测试检验每个功能是否都能正常使用; 另一种方法是已知产品内部工作过程,通过测试检验产品内部动作是否按照产品规格说明的规定正常进行。 前者称为黑盒测试,后者称为白盒测试。 测试用例和测试场景将根据这两种测试方法的特性制定。 黑盒测试 黑盒测试完全不考虑程序的内部结构和处理过程。测试仅在程序界面上进行。 设计测试用例旨在说明: ①软件的功能是否可操作; ②程序能否适当地接收输入数据并产生正确的输出结果或在可能的场景中事件驱动的效果是否尽如人意; ③能否保持外部信息(如数据文件)的完整性。 白盒测试 白盒测试法密切关注处理细节,针对程序的每一条逻辑路径都要分别设计测试用例,检查分枝和循环的情况。 穷举测试不可取,一般选用少量“最有效”,即最有可能暴露错误的路径进行测试。 测试的目的是为了找出错误,所以无论采用黑盒法还是白盒法,设计测试用例时总是期望用尽可能少的时间和代价发现尽可能多的错误。 例: 最多有1014个逻辑路径,假设每运行一个测试用例平均花费1毫秒,总共需3170年才能穷尽所有测试。 14.1.4 软件测试的步骤 软件工程的开发过程和测试过程应该是对应的。第一章图1.3采用V型图表示开发—测试的对应关系,也可以采用图14.3所示的螺旋型图表示。 每旋转一圈,测试的范围加大一次: 螺旋中心对应单元测试,它测试源程序的每一模块; 下一步是综合测试,它测试软件总体结构; 再下一步是确认(验收)测试,测试软件是否满足需求; 最后一步是系统测试,检查软件与系统中其他元素是否协调。 14.2 软件测试技术 本节主要讨论当用白盒或黑盒测试法测试软件时,如何设计测试用例才能达到测试的目的。 此外,对自动测试工具也作一些简单介绍。 14.2.1 白盒测试 白盒测试应该根据程序的控制结构设计测试用例,原则是: ①保证模块中每一独立的路径至少执行一次; ②保证所有判断的每一分枝至少执行一次; ③保证每一循环都在边界条件和一般条件下至少各执行一次; ④验证所有内部数据结构的有效性。 1.基本路径测试 基本路径测试的主要思想是,根据软件过程性描述(详细设计或代码)中的控制流程确定复杂性度量,然后用此度量定义基本路径集合,由此导出一组测试用例,它们能保证每个语句至少执行一次。 为了使用图论的知识和术

您可能关注的文档

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档