资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,估算平均无故障时间的方法,孙旭光,1,估算平均无故障时间的方法孙旭光1,1,、符号,?,E,T,测试之前程序中错误总数,?,I,T,程序长度(机器指令总数),?,?,测试时间,?,Ed,(,?,),在,0,至,?,之间发现的错误数,?,Ec,(,?,),在,0,至,?,之间改正的错误数,?,Er,(,?,),剩余的错误数,2,1、符号?ET 测试之前程序中错误总数?IT程序长,2,、基本假定,?,(,1,)根据经验数据,单位长度里的错误,数,E,T,/I,T,近似为常数。统计表明,在测试,之前每,1000,条指令中大约有,5-20,个错误。,?,(,2,)平均无故障时间,MTBF,与剩余的错,误数成反比。,3,2、基本假定?(1)根据经验数据,单位长度里的错误数ET/I,3,、平均无故障时间的估算,?,假设每一个发现的错误都改正了,剩余,的错误为:,Er,(,?,),=,E,T,-,Ec,(,?,),?,单位长度程序中剩余的错误数为:,?,(,E,T,-,Ec,(,?,),/I,T,4,3、平均无故障时间的估算?假设每一个发现的错误都改正了,剩余,3,、平均无故障时间的估算,?,平均无故障时间与单位长度程序中剩余,的错误数成反比:,?,其中,,K,为常数,它的值应该根据经验选,取。统计数字表明,,K,的典型值是,200.,5,3、平均无故障时间的估算?平均无故障时间与单位长度程序中剩余,?,在公式中,,I,T,已知,,,Ec,(,?,)和,MTTF,可以,通过测试得知,因此,,K,和,E,T,未知。,?,如果可以得到,Ec,(,?,)和,MTTF,的两组测,试数据,则可以计算出,K,和,E,T,。,?,如果仅可以得到,Ec,(,?,)和,MTTF,的一组,测试数据,则可以将,K,取为典型值,200,,,计算出,E,T,。,6,?在公式中,IT已知,Ec(?)和MTTF可以通过测试得知,,公式的作用,?,1,、估算平均无故障时间的公式,可以评价软,件测试的进展情况。,?,2,、也可以根据软件平均无故障时间的要求,,估计需要改正多少个错误之后,测试工作才,能结束。,7,公式的作用?1、估算平均无故障时间的公式,可以评价软件测试的,例题,1,?,对一个包含,10000,条机器指令的程序进行,一个月集成测试后,总共改正了,15,个错,误,此时,MTTF=10h,,经过两个月的测试,后,总共改正了,25,个错误,,MTTF=15h,。,?,(,1,)程序中总的错误数为多少?,?,(,2,)为达到,MTTF=100h,,还要改正多少,个错误?,8,例题1?对一个包含10000条机器指令的程序进行一个月集成测,?,(1)10=10000/K(E,T,-,15),?,15=10000/K(E,T,-,25),?,K=100/3 E,T,=45,9,?(1)10=10000/K(ET-15)?15=,?,(2)Ec=45-,3=42,?,还需改正,42-25=17,个错误。,10,?(2)Ec=45-3=42?还需改正42-,练习,?,对一个长度为,100,000,条指令的程序进行,测试,记录下来的数据如下:,?,测试开始,发现错误个数为,0;,?,经过,160,小时的测试,累计改正,100,个错误,此时,MTTF=0.4,小时;,?,又经过,160,小时的测试,累计改正,300,个错误,此时,MTTF=2,小时;,?,(1),估计程序中固有的错误总数,;,?,(2),为使,MTTF,达到,10,小时,必须测试多少,个错误,?,11,练习?对一个长度为100,000条指令的程序进行测试,记录下,?,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,个错误。,12,?1)MTTF=IT/(k*(Et-Ec(t,4,、估计错误总数,E,T,的方法,?,两种方法:,?,植入错误法,?,分别测试法,?,参考书,P82,软件缺陷数目估计中撒播模型,13,4、估计错误总数ET的方法?两种方法:?植入错误法?分别测试,4.1,植入错误法,?,人为的植入错误数为,Ns,,经过一段时间测试,后发现,n,s,个植入的错误,此外还发现了,n,个原,有的错误。,?,如果测试方案发现植入错误和发现原有错误,的能力相同,则估计程序中原有的错误总数,为:,14,4.1 植入错误法?人为的植入错误数为Ns,经过一段时间测,4.2,分别测试法,?,两个测试员彼此独立的测试同一个程序,测,试一段时间后测试员甲发现错误数为,B,1,,测,试员乙发现错误数为,B,2,,两个测试员发现的,相同错误数为,b,c,?,估计测试前程序中的错误总数为:,15,4.2 分别测试法?两个测试员彼此独立的测试同一个程序,测,例题,2,?,某公司对已开发的软件产品采用错误植入模型,来进行测试和评估。评测部对待测软件人为植,入了,17,个故障;在开始测试的一小段时间内,,发现了,300,个固有故障;发现了植入的故障,3,个,,被测程序的机器指令条数为,3*10,5,。,?,(1),请估算出被测程序的固有故障的个数,N,的值。,?,(2),若通过一段时间后,发现的错误个数为,1600,时,请估算此程序的平均无故障时间。,?,(3),若要求把此平均无故障时间再提高,2,倍,应,至少再排除多少个错误?,16,例题2?某公司对已开发的软件产品采用错误植入模型来进行测试和,?,(1)E,T,=17/3*300=1700,?,(2)MTTF=,3*10,5,/200*(1700-1600)=15 h,?,(3)Ec=1700-,3*10,5,/200*30=1650,?,还需改正,1650-1600=50,个错误。,17,?(1)ET=17/3*300=1700?(2)M,例题,3,?,在测试一个长度为,24000,条指令的程序时,,第一个月由甲乙两名测试员各自独立测,试这个程序。经过一个月测试后,甲发,现并改正了,20,个错误,使,MTTF,达到,10h,。,与此同时,乙发现了,24,个错误,其中,6,个,甲也发现了。以后由甲一个人继续测试,这个程序。,?,(,1,)刚开始时程序中总共有多少个潜藏,的错误?,?,(,2,)为使,MTTF,达到,60h,,必须再改正多,少个错误?,18,例题3?在测试一个长度为24000条指令的程序时,第一个月由,?,开始测试前共有潜藏错误(,24/6,),*20=80,个,?,由于甲发现并改正了,20,个错误,使,MTTF,达到了,10,小时,,根据公式:,?,有:,10=24000/(K*(80-,20),,则,K=40,;,?,利用同一公式:,60=24000/(40*(80,Ec),,,所以,Ec=70,,测试员甲已经改正了,20,个错误,,因此还需要改正,50,个错误。,19,?开始测试前共有潜藏错误(24/6)*20=80 个?由,
展开阅读全文