《估算平均無故障時間的方法【教育類別】》由會員分享,可在線閱讀,更多相關《估算平均無故障時間的方法【教育類別】(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、孫旭光孫旭光1培訓類1、符號、符號nET 測試之前程序中錯誤總數(shù)nIT 程序長度(機器指令總數(shù))n 測試時間nEd()在0至之間發(fā)現(xiàn)的錯誤數(shù)nEc()在0至之間改正的錯誤數(shù)nEr()剩余的錯誤數(shù)2培訓類2、基本假定、基本假定n(1)根據(jù)經(jīng)驗數(shù)據(jù),單位長度里的錯誤數(shù)ET/IT 近似為常數(shù)。統(tǒng)計表明,在測試之前每1000條指令中大約有5-20個錯誤。n(2)平均無故障時間MTBF與剩余的錯誤數(shù)成反比。3培訓類3、平均無故障時間的估算、平均無故障時間的估算n假設每一個發(fā)現(xiàn)的錯誤都改正了,剩余的錯誤為:Er()=ET -Ec()n單位長度程序中剩余的錯誤數(shù)為:n(ET -Ec()/IT4培訓類3、平均
2、無故障時間的估算、平均無故障時間的估算n平均無故障時間與單位長度程序中剩余的錯誤數(shù)成反比:n其中,K為常數(shù),它的值應該根據(jù)經(jīng)驗選取。統(tǒng)計數(shù)字表明,K的典型值是200.5培訓類n在公式中,IT已知,Ec()和MTTF可以通過測試得知,因此,K和ET未知。n如果可以得到Ec()和MTTF的兩組測試數(shù)據(jù),則可以計算出K和ET。n如果僅可以得到Ec()和MTTF的一組測試數(shù)據(jù),則可以將K取為典型值200,計算出ET。6培訓類公式的作用公式的作用n1、估算平均無故障時間的公式,可以評價軟件測試的進展情況。n2、也可以根據(jù)軟件平均無故障時間的要求,估計需要改正多少個錯誤之后,測試工作才能結束。7培訓類例題
3、例題1n對一個包含10000條機器指令的程序進行一個月集成測試后,總共改正了15個錯誤,此時MTTF=10h,經(jīng)過兩個月的測試后,總共改正了25個錯誤,MTTF=15h。n(1)程序中總的錯誤數(shù)為多少?n(2)為達到MTTF=100h,還要改正多少個錯誤?8培訓類n(1)10=10000/K(ET-15)n 15=10000/K(ET-25)nK=100/3 ET=459培訓類n(2)Ec=45-3=42n 還需改正42-25=17個錯誤。10培訓類練習練習n對一個長度為100,000條指令的程序進行測試,記錄下來的數(shù)據(jù)如下:p 測試開始,發(fā)現(xiàn)錯誤個數(shù)為0;p 經(jīng)過160小時的測試,累計改正1
4、00個錯誤,此時,MTTF=0.4小時;p 又經(jīng)過160小時的測試,累計改正300個錯誤,此時,MTTF=2小時;n(1)估計程序中固有的錯誤總數(shù);n(2)為使MTTF達到10小時,必須測試多少個錯誤?11培訓類n1)MTTF=IT/(k*(Et-Ec(t)n所以0.4=IT/(k*(Et-100)n2 =IT/(k*(Et-300)n所以可以求出Et=350n2)n由1)可以知道nk=IT/2(Et-Ect)=100000/2(350-300)=100000/100=1000;n所以nMTTF=10=100000/1000(Et-Ec)=100/(Et-Ec)=100/(350-Ec)n所以
5、Ec=340 n340-300=40個錯誤。12培訓類4、估計錯誤總數(shù)、估計錯誤總數(shù)ET的方法的方法n兩種方法:p植入錯誤法p分別測試法p參考書P82 軟件缺陷數(shù)目估計中撒播模型13培訓類4.1 植入錯誤法植入錯誤法n人為的植入錯誤數(shù)為Ns,經(jīng)過一段時間測試后發(fā)現(xiàn)ns個植入的錯誤,此外還發(fā)現(xiàn)了n個原有的錯誤。n如果測試方案發(fā)現(xiàn)植入錯誤和發(fā)現(xiàn)原有錯誤的能力相同,則估計程序中原有的錯誤總數(shù)為:14培訓類4.2 分別測試法分別測試法n兩個測試員彼此獨立的測試同一個程序,測試一段時間后測試員甲發(fā)現(xiàn)錯誤數(shù)為B1,測試員乙發(fā)現(xiàn)錯誤數(shù)為B2,兩個測試員發(fā)現(xiàn)的相同錯誤數(shù)為bcn估計測試前程序中的錯誤總數(shù)為:1
6、5培訓類例題例題2n某公司對已開發(fā)的軟件產(chǎn)品采用錯誤植入模型來進行測試和評估。評測部對待測軟件人為植入了17個故障;在開始測試的一小段時間內(nèi),發(fā)現(xiàn)了300個固有故障;發(fā)現(xiàn)了植入的故障3個,被測程序的機器指令條數(shù)為3*105。n(1)請估算出被測程序的固有故障的個數(shù)N的值。n(2)若通過一段時間后,發(fā)現(xiàn)的錯誤個數(shù)為1600時,請估算此程序的平均無故障時間。n(3)若要求把此平均無故障時間再提高2倍,應至少再排除多少個錯誤?16培訓類n(1)ET=17/3*300=1700n(2)MTTF=3*105/200*(1700-1600)=15 hn(3)Ec=1700-3*105/200*30=165
7、0n還需改正1650-1600=50個錯誤。17培訓類例題例題3n在測試一個長度為24000條指令的程序時,第一個月由甲乙兩名測試員各自獨立測試這個程序。經(jīng)過一個月測試后,甲發(fā)現(xiàn)并改正了20個錯誤,使MTTF達到10h。與此同時,乙發(fā)現(xiàn)了24個錯誤,其中6個甲也發(fā)現(xiàn)了。以后由甲一個人繼續(xù)測試這個程序。n(1)剛開始時程序中總共有多少個潛藏的錯誤?n(2)為使MTTF達到60h,必須再改正多少個錯誤?18培訓類n開始測試前共有潛藏錯誤(24/6)*20=80 個 n由于甲發(fā)現(xiàn)并改正了20個錯誤,使MTTF達到了10小時,根據(jù)公式:p有:10=24000/(K*(80-20),則K=40;p利用同一公式:60=24000/(40*(80 Ec),所以 Ec=70,測試員甲已經(jīng)改正了20個錯誤,因此還需要改正50個錯誤。19培訓類