- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
估算平均无障时间的方法
估算平均无故障时间的方法 孙旭光 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、平均无故障时间的估算 平均无故障时间与单位长度程序中剩余的错误数成反比: 其中,K为常数,它的值应该根据经验选取。统计数字表明,K的典型值是200. 在公式中,IT已知,Ec(?)和MTTF可以通过测试得知,因此,K和ET未知。 如果可以得到Ec(?)和MTTF的两组测试数据,则可以计算出K和ET。 如果仅可以得到Ec(?)和MTTF的一组测试数据,则可以将K取为典型值200,计算出ET。 公式的作用 1、估算平均无故障时间的公式,可以评价软件测试的进展情况。 2、也可以根据软件平均无故障时间的要求,估计需要改正多少个错误之后,测试工作才能结束。 例题1 对一个包含10000条机器指令的程序进行一个月集成测试后,总共改正了15个错误,此时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小时的测试, 累计改正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/(Et - Ec) = 100/(350 - Ec) 所以Ec = 340 340-300 =40个错误。 4、估计错误总数ET的方法 两种方法: 植入错误法 分别测试法 参考书P82 软件缺陷数目估计中撒播模型 4.1 植入错误法 人为的植入错误数为Ns,经过一段时间测试后发现ns个植入的错误,此外还发现了n个原有的错误。 如果测试方案发现植入错误和发现原有错误的能力相同,则估计程序中原有的错误总数为: 4.2 分别测试法 两个测试员彼此独立的测试同一个程序,测试一段时间后测试员甲发现错误数为B1,测试员乙发现错误数为B2,两个测试员发现的相同错误数为bc 估计测试前程序中的错误总数为: 例题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个
文档评论(0)