面向对象的软件开发基础.PPT

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

学习目标 软件可靠性定义 估算平均无故障时间的方法 7.8 软件可靠性 7.8.1 基本概念 1.可靠性定义:程序在给定的时间间隔内,按照规格说明书的规定成功地运行的概率。 2.可用性定义:程序在给定的时间点,按照规格说明书的规定,成功地运行的概率。 区别:可靠性意味着在0~t时间间隔内系统没有失效;而可用性是指在时刻t,系统是正常运行的。 * 淮海工学院━软件工程 第7章 测试(续 ) 可靠性和可用性的差别: 可靠性意味着在0到t这段时间间隔内系统没有失效,而可用性只意味着在时刻t,系统是正常运行的。 因此,如果在时刻t系统是可用的,则有下述种种可能:在0到t这段时间内,系统一直没失效(可靠);在这段时间内失效了一次,但是又修复了;在这段时间内失效了两次修复了两次;…… 如果在一段时间内,软件系统故障停机时间分别为td1,td2,…,正常运行时间分别为tu1,tu2,…,则系统的稳态可用性为: Ass=Tup/(Tup+Tdown) (7.1) 其中Tup=∑tui,Tdown=∑tdi 如果引入系统平均无故障时间MTTF和平均维修时间MTTR的概念,则(7.1)式可以变成 Ass=MTTF/(MTTF+MTTR) (7.2) 软件的平均无故障时间MTTF是一个重要的质量指标,往往作为对软件的一项要求,由用户提出来。为了估算MTTF,首先引入一些有关的量。 1. 符号 在估算MTTF的过程中使用下述符号表示有关的数量: ET——测试之前程序中错误总数; IT——程序长度(机器指令总数); τ——测试(包括调试)时间; Ed(τ)——在0至τ期间发现的错误数; Ec(τ)——在0至τ期间改正的错误数。 7.8.2 估算平均无故障时间的方法 2. 基本假定 根据经验数据,可以作出下述假定。 在类似的程序中,单位长度里的错误数ET/IT近似为常数。美国的一些统计数字表明, 通常:0.5×10-2≤ET/IT≤2×10-2 也就是说,在测试之前每1000条指令中大约有5~20个错误。 (2) 失效率正比于软件中剩余的(潜藏的)错误数,而平均无故障时间MTTF与剩余的错误数成反比。 (3) 假设发现的每一个错误都立即正确地改正了(即,调试过程没有引入新的错误)。因此 Ec(τ)=Ed(τ) 剩余的错误数为 Er(τ)=ET-Ec(τ) (7.3) 单位长度程序中剩余的错误数为 εr(τ)=ET/Ir-Ec(τ)/IT (7.4) 3. 估算平均无故障时间 经验表明,平均无故障时间与单位长度程序中剩余的错误数成反比,即 MTTF=1/[K(ET/IT-Ec(τ)/IT)] (7.5) 其中K为常数,它的值应该根据经验选取。美国的一些统计数字表明,K的典型值是200。 估算平均无故障时间的公式,可以评价软件测试的进展情况。此外,由(7.5)式可得 Ec=ET-IT/(K×MTTF) (7.6) 可以根据对软件平均无故障时间的要求,估计需要改正多少个错误之后,测试工作才能结束。 4. 估计错误总数的方法 程序中的错误总数ET与程序规模、类型、开发环境、开发方法论、开发人员的技术水平和管理水平等都有密切关系。下面介绍估计ET的两个方法。 (1) 植入错误法 使用这种估计方法,在测试之前由专人在程序中随机地植入一些错误,测试之后,根据测试小组发现的错误中原有的和植入的两种错误的比例,来估计程序中原有错误的总数ET。 假设人为地植入的错误数为Ns,经过一段时间的测试之后发现ns个植入的错误,此外还发现了n个原有的错误。如果可以认为测试方案发现植入错误和发现原有错误的能力相同,则能够估计出程序中原有错误的总数为 N^=n/ns×Ns (7.7) 其中N^即是错误总数ET的估计值。 (2) 分别测试法 植入错误法的基本假定是所用的测试方案发现植入错误和发现原有错误的概率相同。但是,人为地植入的错误和程序中原有的错误可能性质很不相同,发现它们的难易程度自然也不相同,因此,上述基本假定可能有时和事实不完全一致。 如果有办法随机地把程序中一部分原有的错误加上标记,然后根据测试过程中发现的有标记错误和无标记错误的比例,估计程序中的错误总数,则这样得出的结果比用植入错误法得到的结果更可信一些。 为了随机地给一部分错误加标记,分别测试法使用两个测试员(或测试小组),彼此独立地测试同一个程序的两个副本,把其中一个测试员发现的错误作为有标记的错误。具体做法是,在测试过程的早期阶段,由测试员甲和测试员乙分别测试同一个程序的两个副本,由另一名分析员分析他们的测试结果。用τ表示测试时间,假设 τ=0时错误总数为B0; τ=

文档评论(0)

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

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

1亿VIP精品文档

相关文档