网站大量收购闲置独家精品文档,联系QQ:2885784924

南华大学计算机科学与技术学院软件工程概论课件第5章 软件验证技术(1).ppt

南华大学计算机科学与技术学院软件工程概论课件第5章 软件验证技术(1).ppt

  1. 1、本文档共66页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主要内容 软件测试基本概念 代码复审 白盒测试 黑盒测试 软件验证 软件验证是通过检查和提供客观证据表明软件已经满足规定的需求,是确保软件质量和降低软件成本的重要手段,涉及软件的整个生存周期。 进行软件验证的方式大体有两种:测试和证明。 测试又分静态测试和动态测试两种。 静态测试,又称评审,是对软件进行的一种分析和检查活动。 动态测试是通过运行软件来检验其动态行为和运行结果的正确性。 证明是一种通过形式化的数学方法来确保软件正确性的活动。 软件测试 软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码的复审,是为了发现错误,通过检查和提供客观证据表明软件已经满足规定的需求。 软件测试是确保软件质量和降低软件成本的重要手段,涉及软件的整个生存周期。 一般的软件开发组织要将30%~40%的项目精力投入到测试之中,一些人命悠关的软件(如航空器的飞行控制软件)其测试费用往往更高。 软件错误的来源 用户/客户/开发人员之间信息交流不畅 开发人员/管理人员经验与素质缺陷 软件需求不确定(需求模糊或不断变化) 软件及系统复杂(规模大、技术性强) 测试复杂性与经济性 误解:开发一个程序是困难的,测试一个程序则比较容易。 由于测试情况数量巨大,都不可能进行彻底的测试,即穷举测试。 为了降低测试成本,选择测试用例时应注意遵守“经济性”的原则。 测试的主要影响因素: 系统的类型、潜在的用户数量、信息的价值、开发机构、测试的时机 测试存在的疑问 测试应该什么时候开始? 谁应该执行测试? 测试技术如何能够有助于防止错误? 测试活动如何被集成到软件过程的模型中? 测试如何有利于复用? 测试需要多大的工作量? 5.1 软件测试基础 软件测试≠程序测试 软件测试对象:软件生存周期各阶段文档和代码 据美国一家公司统计:64%的错误属于分析和设计的错误,编码错误只占36%。 软件测试不是打消软件工程师积极性的过程,而是同软件分析与设计一样,是为了建成高质量的软件,只不过是从不同的侧面进行罢了。 5.1.1 测试观点 G.J.Myers在他有关软件测试的著作《软件测试技巧》中陈述了一系列关于测试的观点: 测试是为了寻找错误而运行程序的过程。 一个好的测试用例在于能发现至今未发现的错误。 一个成功的测试是发现了至今未发现的错误的测试。 5.1.2 测试原则 测试应“尽早地和不断地进行”。 较早确定测试计划,严格执行测试计划。 注意错误的群集现象和应用Pareto原则。 测试规模应从小到大。 测试应一般由独立的第三方进行。 应保证测试用例的完整性和有效性。 应保存所有测试用例和出错统计等,直至软件不用为止。 5.1.3 测试工具 软件测试工具是一种测试软件,开发人员借助它可以提高软件测试工作的效率。 按工作方式可分为:静态分析工具和动态测试工具。 按功能分有:测试计划工具——支持制订测试计划;测试设计与开发工具——支持测试数据生成等;测试执行工具——支持特定的测试方法,支持回归测试等;测试评价工具——报告测试覆盖情况;测试管理工具——协助进行测试组织工作;以及其它辅助测试工具等。 静态分析测试软件 通过扫描被测程序的正文,对其数据流和控制流进行分析,然后送出测试报告。 主要功能包括:变量检查、逻辑结构检查、接口检查、编程风格检查和静态特性统计等,通过建立交叉引用表的方式等实现。 动态分析测试软件 通过对被测程序有控制地运行,自动地监视、记录和统计被测程序的运行情况。 主要功能包括:语句执行次数统计、执行开销估算、CPU执行时间分析和软硬件资源利用分析等。 测试数据自动生成程序 用来为被测程序自动产生测试输入数据。这样,一方面可以减轻生成大量测试数据的负担,另一方面可以避免人为的偏见。对于预期结果,可以利用手工计算等得到。 按生成测试数据的方式来分有:路径测试数据生成程序、随机测试数据生成程序、根据数据规格说明生成测试数据等。 文件比较程序 用来自动检查测试结果。 其检查过程一般主要由三步组成;首先建立一个存放预期结果的文件;然后执行测试,并把测试结果存进另一文件;最后,使用文件比较程序比较上述两个文件,打印出有差异者的情况。 Mercury Interactive公司测试产品 TestDirector是基于Web的测试管理系统,它可以在公司组织内进行全球范围内测试的协调。 WinRunner是一种企业级的用于检验应用程序是否如期运行的功能性测试工具。 LoadRunner是一种较高规模适应性的自动负载测试工具,它能预测系统行为,优化性能。 其他测试工具 5.1.4 测试组织 一般来讲,独立测试之前,软件开发者应负责对程序单个模块测试,以保证每个模块能完成详细设计的

您可能关注的文档

文档评论(0)

ormition + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档