第5章软件可靠性度量.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 6.5.3 软件可靠性模型 Musa模型 基本模型 假设:①每个缺陷对故障率的贡献是相同的;②每修正一个缺陷故障率均匀地减少,即故障率对时间的导数是常数;③软件固有的故障总数是有限的,但不固定,即修正缺陷时可能产生新缺陷 Musa模型: * * 利用基本模型可估计要达到某可靠性目标还必须要发现(检测出)的缺陷数和需要的时间,有助于计划人力和时间 设要达到的可靠性目标为λf,则需发现的故障数Nf为: 为达到这一目标所需时间Tf为: 当前已检 测出的累 积缺陷数 为达到故障率目 标或MTTF目标 必须要检出的累 计缺陷数 为达到目标还需检测出的缺陷数 为达到目标 需要的时间 测试时间 已检出 的累计 缺陷数 * * 对数模型 假设: ①每个缺陷对故障率的贡献不同;②常用的功能的缺陷可及早被检出,故障率的变化随时间减少;③软件固有的故障总数是无限的 Musa模型: Nf和Tf为: * * Goel-Okumoto模型 假设:缺陷对时间的分布是非时对齐的,即发现的缺陷不一定会立即消除(适用于开发早期) 基本模型: 其中,ab为常数,与单位时间内发生的缺陷有关 可得: 修正模型: 故障密度函数为Weibull分布 * * 5.5.4 软件可靠性模型的适用条件 模型 假设 适用阶段 难易度 Mussa基本模型 ①优先固有缺陷数 ②常数故障率 ③指数分布 集成测试后 E Mussa对数模型 ①无限固有缺陷数 ②对数分布 ③故障率随时间变化 单元测试到系统测试 E Goel-Ukumoto ①非时齐缺陷分布 ②缺陷可能因修复而产生 ③指数、Weibull分布 集成测试后 M * * §5.6 软件可靠性测试 5.6.1 软件测试的类型 与软件可靠性相关的测试主要是动态测试 单元测试:对汇编单元进行测试 集成测试:对汇编单元接口的测试 验收测试:验收并确认实现了所有需求 回归测试:对与修正的缺陷的软件部件的再测试 * * 5.6.2 软件可靠性测试方法 利用在其他测试中的数据收集来检验软件可靠性的测试 基本步骤是: 仔细研究开发过程和软件问题报告 确定使用那些或那个模型来度量软件可靠性 执行一种有效的方法来收集问题报告缺陷数据、过程数据和产品数据,收集集成测试期间及以后的数据 按照模型规定的原理和方法,将数据输入选定的模型,直接估计软件可靠性或间接地估计与其有关的参数 根据估计结果进行决策: 软件能否被释放(发布)? 是否需要增加测试时间以达到可靠性目标?如果需要,还需要多少时间? * * Beta测试 可以直接反映可靠性水平 系统软件证明测试 在要求时间内、在实际的使用环境中运行系统,不对系统进行维护,收集发现的故障数,以决定整个系统能否通过可靠性测试 基于测试时间的软件证明测试 在相对较长时间内对软件的运行进行软件证明测试 基于测试输入的软件证明测试 只针对特定的测试用力进行软件证明测试 * * 软件证明测试方法 测试前,先由测试者和用户共同确定以下三个参数: 用户风险因子α:是由用户承担的软件可靠性未达目标而通过测试的风险 生产者风险因子β:是由开发者承担的可靠性已达目标而未被接受的风险 鉴别因子γ:是最大可接受的失效密度和失效密度目标的比值 * * 确定可靠性测试判定标准 根据已确定的三个参数绘制软件可靠性证明测试判定图 确定拒绝线 和接受线 规格化是指将测试时间或测试用例数乘以故障率目标值 规格化的测试 时间或测试输入 在测试期间发 现的累计缺陷数 测试通过 测试未完 测试失败 接受线 拒绝线 * * 测试开始后,失效发生时,将对应的累计故障数和测试时间或测试用例数在图中标出 判定测试结果:通过或失败都表示测试结束,若测试未完成,则继续测试 注:基于测试用例的证明测试具有随机性,不同测试可能得到不同结果,为此可采用模块化方法选择测试用例,以保证测试的客观性 * * 5.6.3 软件可靠性测试的实施过程 1、概述 软件可靠性测试有两类: 开发测试:包括性能测试、加载测试、回归测试,目的是发现和修正单元及其集成的缺陷 确认测试:一般只进行加载测试,目的是为了确定软件部件或系统是否被接受 对于软件可靠性建模,开发测试收集的是分组数据,是不完整的,而确认测试获得的是完全数据 * * 软件可靠性测试过程模型 开发业务剖面是软件可靠性测试的重要环节,因为可靠性目标与业务剖面关系密切 软件可靠性目标 开发系统业务剖面 准备测试 软件可靠性定量评估 软件可靠性模型 执行测试 收集、整理故障数据 对比 需求与构造 设计和实现 集成测试和确认测试 接受或拒绝 * * 3、测试的目的 通过在规定的业务剖面下运行软件系统,确认是否能够完成于业务剖面相关的任务: 正确地完成

文档评论(0)

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

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

1亿VIP精品文档

相关文档