估算平均无故障时间的方法_第1页
估算平均无故障时间的方法_第2页
估算平均无故障时间的方法_第3页
估算平均无故障时间的方法_第4页
估算平均无故障时间的方法_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、估算平均无故障时间的方法,孙旭光,1、符号,ET 测试之前程序中错误总数 IT 程序长度(机器指令总数) 测试时间 Ed() 在0至之间发现的错误数 Ec() 在0至之间改正的错误数 Er() 剩余的错误数,2、基本假定,(1)根据经验数据,单位长度里的错误数ET/IT 近似为常数。统计表明,在测试之前每1000条指令中大约有5-20个错误。 (2)平均无故障时间MTBF与剩余的错误数成反比。,3、平均无故障时间的估算,假设每一个发现的错误都改正了,剩余的错误为:Er()=ET - Ec() 单位长度程序中剩余的错误数为: (ET - Ec()/ IT,3、平均无故障时间的估算,平均无故障时间

2、与单位长度程序中剩余的错误数成反比: 其中,K为常数,它的值应该根据经验选取。统计数字表明,K的典型值是200.,在公式中,IT已知,Ec()和MTTF可以通过测试得知,因此,K和ET未知。 如果可以得到Ec()和MTTF的两组测试数据,则可以计算出K和ET。 如果仅可以得到Ec()和MTTF的一组测试数据,则可以将K取为典型值200,计算出ET。,公式的作用,1、估算平均无故障时间的公式,可以评价软件测试的进展情况。 2、也可以根据软件平均无故障时间的要求,估计需要改正多少个错误之后,测试工作才能结束。,例题1,对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,

3、此时MTTF=10h,经过两个月的测试后,总共改正了25个错误,MTTF=15h。 (1)程序中总的错误数为多少? (2)为达到MTTF=100h,还要改正多少个错误?,(1) 10 =10000/K(ET - 15) 15 =10000/K(ET - 25) K = 100/3 ET =45,(2) Ec = 45 - 3 =42 还需改正42-25 = 17个错误。,练习,对一个长度为100,000条指令的程序进行测试,记录下来的数据如下: 测试开始, 发现错误个数为0; 经过160小时的测试, 累计改正100个错误, 此时, MTTF = 0.4小时; 又经过160小时的测试, 累计改正

4、300个错误, 此时, MTTF = 2小时; (1) 估计程序中固有的错误总数; (2) 为使MTTF达到10小时, 必须测试多少个错误?,1)MTTF = IT / ( k * (Et - Ec(t) ) 所以0.4 = IT / ( k * (Et - 100) ) 2 = IT/ ( k * (Et - 300) ) 所以可以求出Et =350 2) 由1)可以知道 k = IT / 2(Et - Ect) = 100000 / 2(350 - 300) = 100000 / 100 = 1000; 所以 MTTF = 10 = 100000 / 1000(Et - Ec) = 100

5、/(Et - Ec) = 100/(350 - Ec) 所以Ec = 340 340-300 =40个错误。,4、估计错误总数ET的方法,两种方法: 植入错误法 分别测试法 参考书P82 软件缺陷数目估计中撒播模型,4.1 植入错误法,人为的植入错误数为Ns,经过一段时间测试后发现ns个植入的错误,此外还发现了n个原有的错误。 如果测试方案发现植入错误和发现原有错误的能力相同,则估计程序中原有的错误总数为:,4.2 分别测试法,两个测试员彼此独立的测试同一个程序,测试一段时间后测试员甲发现错误数为B1,测试员乙发现错误数为B2,两个测试员发现的相同错误数为bc 估计测试前程序中的错误总数为:,

6、例题2,某公司对已开发的软件产品采用错误植入模型来进行测试和评估。评测部对待测软件人为植入了17个故障;在开始测试的一小段时间内,发现了300个固有故障;发现了植入的故障3个,被测程序的机器指令条数为3*105。 (1) 请估算出被测程序的固有故障的个数N的值。 (2) 若通过一段时间后,发现的错误个数为1600时,请估算此程序的平均无故障时间。 (3) 若要求把此平均无故障时间再提高2倍,应至少再排除多少个错误?,(1) ET = 17/3*300 =1700 (2) MTTF = 3*105 / 200 * (1700 -1600) =15 h (3) Ec = 1700 - 3*105 / 200*30 =1650 还需改正1650-1600 =50个错误。,例题3,在测试一个长度为24000条指令的程序时,第一个月由甲乙两名测试员各自独立测试这个程序。经过一个月测试后,甲发现并改正了20个错误,使MTTF达到10h。与此同时,乙发现了24个错误,其中6个甲也发现了。以后由甲一个人继续测试这个程序。 (1)刚开始时程序中总共有多少个潜藏的错误? (2)为使MTTF达到60h,必须再改正多少个错误?,开始测试前共有潜藏错误(24/6)*20 = 80 个 由于甲发现并改正了20个错误,使MTTF达到了10小时, 根据公式: 有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论