检验和有效性验证.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
检验和有效性验证

检验和有效性验证 目标 软件检验和软件有效性验证之间的区别; 在程序中发现缺陷的程序审查方法; 什么是程序的静态分析以及它在检验和有效性验证中如何使用; 程序开发中的净室(cleanroom)方法及其有效性的原因 内容 检验和有效性验证规划 软件审查 自动静态分析 净室软件开发 检验 vs 有效性验证 检验(Verification): “我们是否在正确地构造一个产品”. 软件应该符合设计规格。 有效性验证(Validation): 我们是否在构造一个正确的产品”. 软件应该满足用户所需要的。 V V 过程 是否为整个生命周期过程 - V V 必须应用于软件周期的各个阶段中. 两个主要目标 发现系统中的缺陷; 评估在操作情况下系统可用性与有用性. V V 目标 检验和有效性验证要确立软件系统达到设计目标的信心. 这并不意味着完全没有缺陷. 相反,它必须足够用于其预定用途和根据所使用类型确定所需要的信任程度 . V V 可信度 依赖于系统目标, 用户期望值和市场环境 软件功能 系统需要的信任程度取决于该软件在机构中的重要程度. 用户期望值 用户可能对某些软件的期望值很低. 市场环境 让产品早日上市也许比发现产品中的缺陷更重要。 静态检验和动态检验 软件审查. 对静态系统的表示进行分析来发现问题 (静态检验) 如需求文档、设计图表和程序源代码等 软件测试. 对产品的输出和它的操作行为来测试 (动态测试) 使用测试数据来执行软件,观察它的行为和输出 静态VV和动态VV 程序测试 可以揭示错误的地方. 通过执行软件来观察它的行为,这是非功能性需求唯一的有效性验证手段. 应与静态检验联合使用来保证VV过程. 测试类型 缺陷测试 所设计的测试用于发现系统中的缺陷 一个成功的测试能揭示系统缺陷的出现 包含在第23章中 有效性测试 目的是为了证明软件满足了设计要求 一个好的测试是能证明每一个功能都被很好地实施的测试. 测试和调试 缺陷测试和调试是两个不同的过程 检验和有效性验证关心的是确定程序中存在缺陷. 调试关心的是错误出现的地方和如何改正这些错误. 调试包括对程序的行为提出假设,并通过验证这些假设来发现系统的错误. 调试过程 V V 规划 仔细规划能从程序检查和测试中得到更多的回报. 规划应该从开发过程早期就开始着手. 规划应该考虑静态检验和测试之间的平衡. 对测试规划主要是制定测试过程标准,而不是描述产品测试. 开发过程的V模型 软件测试计划的结构 测试过程. 需求跟踪. 测试项目. 测试时间安排. 测试记录程序. 硬件和软件需求. 约束. 软件测试计划 软件审查 包括对软件系统(一般是源代码)进行复查来发现异常和缺陷. 审查可以在系统执行前进行,因为它不需要执行系统. 它们可以应用于任何的系统表示中 (需求, 设计,配置数据, 测试数据, 等等.). 它已被证明是一种发现程序错误的有效技术. 审查成功 单一的审查可能会发现多个缺陷. 在测试中, 软件中的缺陷可能是相互掩盖的,所以,执行程序是必要的. 加上领域知识和编程经验,开发者更容易看到一般出现的错误类型. 审查和测试 审查和测试时互补的,而不是相互对立的检验手段. 在V V过程中两者都需要用到. 审查可以检验规范定义的一致性,但是不能检验用户真实需求的一致性. 审查不能检验非功能特征,如性能,可用性等. 程序审查 文件检查的正确方式 拟明确规定缺陷检测(而不校正). 缺陷可能是逻辑错误,在代码中可能显示一个错误的异常状态(如一个未初始化的变量)或不符合标准. 审查先决条件 必须要有一个精确的可用说明书. 团队成员必须对组织标准非常熟悉. 必须有语法正确的代码或者其他系统表示. 应准备错误清单. 在软件过程的早期,管理人员必须接受审查会增加成本的事实. 不应该使用审查来考核工作人员,如查找谁犯了错误等. 审查过程 审查过程 系统概述提交给审查组. 最新的、语法正确的代码版本发给所有团队成员. 进行审查并记录错误. 改正已经发现的错误. 视情况决定再审查是否必要. 审查角色 审查清单 应有一份常出的错误清单来引导审查. 错误清单依赖于编程语言并反映语言中可能会出现的特征错误. 一般来说,较“弱”的类型检查对应了较大的清单. 例子:初始化,常量命名,循环终止,数组界限,等. 程序审查内容1 程序审查内容2 审查率 总体观察期间500行源代码/小时. 个别准备阶段125行源代码/小时. 会议期间90-125行源代码/小时. 因此,审查是个昂贵的过程. 审查500行代码消耗40人/时劳动力 – 大约 £2800. 自动静态分析 静态程序分析器是一个扫描程序源代码的软件工具. 它们通过解析程序文本来发现潜在的错误条件,并将此转告V V 团队.

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档