版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、提綱白盒測試技術(shù)調(diào)試軟件可靠性6.8.1 調(diào)試過程調(diào)試是在測試發(fā)現(xiàn)錯(cuò)誤之后排除錯(cuò)誤的過程。測試用例結(jié)果調(diào)試附加測試糾正且回歸測試已識別原因被懷疑原因6.8 調(diào)試調(diào)試?yán)щy的原因(特征):(1) 癥狀和產(chǎn)生癥狀的原因可能在程序中相距甚遠(yuǎn),也就是說,癥狀可能出現(xiàn)在程序的一個(gè)部分,而實(shí)際的原因可能在與之相距很遠(yuǎn)的另一部分。緊耦合的程序結(jié)構(gòu)更加劇了這種情況。(2) 當(dāng)改正了另一個(gè)錯(cuò)誤之后,癥狀可能暫時(shí)消失了。(3) 癥狀可能實(shí)際上并不是由錯(cuò)誤引起的(例如,舍入誤差)。6.8.1 調(diào)試過程(4) 癥狀可能是由不易跟蹤的人為錯(cuò)誤引起的。(5) 癥狀可能是由定時(shí)問題而不是由處理問題引起的。(6) 可能很難重新
2、產(chǎn)生完全一樣的輸入條件(例如,輸入順序不確定的實(shí)時(shí)應(yīng)用系統(tǒng))。(7) 癥狀可能時(shí)有時(shí)無,這種情況在硬件和軟件緊密地耦合在一起的嵌入式系統(tǒng)中特別常見。(8) 癥狀可能是由分布在許多任務(wù)中的原因引起的,這些任務(wù)運(yùn)行在不同的處理機(jī)上。6.8.1 調(diào)試過程1. 蠻干法:打印內(nèi)存的內(nèi)容,從中尋找錯(cuò)誤的線索,是效率最低的程序調(diào)試方法。2. 回溯法:從發(fā)現(xiàn)問題的程序段開始人工地往回追蹤分析程序代碼,直到找到錯(cuò)誤。3. 原因排除法:包括:對分查找法、歸納法、演繹法6.8.2 調(diào)試途徑對分查找法的基本思路:如果已經(jīng)知道每個(gè)變量在程序內(nèi)若干個(gè)關(guān)鍵點(diǎn)的正確值,則可以用賦值語句或輸入語句在程序中點(diǎn)附近“注入”這些變量
3、的正確值,然后運(yùn)行程序并檢查所得到的輸出。如果輸出結(jié)果是正確的,則錯(cuò)誤原因在程序的前半部分;反之,錯(cuò)誤原因在程序的后半部分。對錯(cuò)誤原因所在的那部分再重復(fù)使用這個(gè)方法,直到把出錯(cuò)范圍縮小到容易診斷的程度為止。6.8.2 調(diào)試途徑歸納法的基本思路:首先把和錯(cuò)誤有關(guān)的數(shù)據(jù)組織起來進(jìn)行分析,以便發(fā)現(xiàn)可能的錯(cuò)誤原因。然后導(dǎo)出對錯(cuò)誤原因的一個(gè)或多個(gè)假設(shè),并利用已有的數(shù)據(jù)來證明或排除這些假設(shè)。當(dāng)然,如果已有的數(shù)據(jù)尚不足以證明或排除這些假設(shè),則需設(shè)計(jì)并執(zhí)行一些新的測試用例,以獲得更多的數(shù)據(jù)。6.8.2 調(diào)試途徑演繹法的基本思路:從一般原理或前提出發(fā),經(jīng)過排除和精化的過程推導(dǎo)出結(jié)論。采用這種方法調(diào)試程序時(shí),首先
4、設(shè)想出所有可能的出錯(cuò)原因,然后試圖用測試來排除每一個(gè)假設(shè)的原因。如果測試表明某個(gè)假設(shè)的原因可能是真的原因,則對數(shù)據(jù)進(jìn)行細(xì)化以準(zhǔn)確定位錯(cuò)誤。6.8.2 調(diào)試途徑動(dòng)手改正錯(cuò)誤之前要進(jìn)行的思考:是否同樣的錯(cuò)誤也在程序其他地方存在?在許多情況下,一個(gè)程序錯(cuò)誤是由錯(cuò)誤的邏輯思維模式造成的。將要進(jìn)行的修改可能會引入的“下一個(gè)錯(cuò)誤”是什么?在改正錯(cuò)誤之前應(yīng)該仔細(xì)研究源程序(最好也研究設(shè)計(jì)文檔),以評估邏輯和數(shù)據(jù)結(jié)構(gòu)的耦合程度。如果所要做的修改位于程序的高耦合段中,則修改時(shí)必須特別小心謹(jǐn)慎。為防止今后出現(xiàn)類似的錯(cuò)誤,應(yīng)該做什么?如果不僅修改了軟件產(chǎn)品還改進(jìn)了開發(fā)軟件產(chǎn)品的軟件過程,則不僅排除了現(xiàn)有程序中的錯(cuò)誤
5、,還避免了今后在程序中可能出現(xiàn)的錯(cuò)誤。6.8.2 調(diào)試途徑提綱白盒測試技術(shù)軟件可靠性軟件可靠性:是程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)行的概率。6.9.1 軟件可靠性的基本概念隨機(jī)變量隨著運(yùn)行時(shí)間的增加,運(yùn)行時(shí)出現(xiàn)程序故障的概率也將增加,即可靠性隨著給定的時(shí)間間隔的加大而減少“錯(cuò)誤”:由開發(fā)人員造成的軟件差錯(cuò)(bug)“故障”:由錯(cuò)誤引起的軟件的不正確行為軟件可用性:程序在給定的時(shí)間點(diǎn),按照規(guī)格說明書的規(guī)定,成功地運(yùn)行的概率??煽啃院涂捎眯缘膮^(qū)別:可靠性是在0到t時(shí)間間隔內(nèi),系統(tǒng)沒有失效的概率可用性是在t時(shí)刻,系統(tǒng)是正常運(yùn)行的概率。 6.9.2 軟件可用性的基本概念如果在一段時(shí)
6、間內(nèi),軟件系統(tǒng)故障停機(jī)時(shí)間分別為:td1 , td2 , ,正常運(yùn)行時(shí)間分別為:tu1 , tu2 , ,則系統(tǒng)的穩(wěn)態(tài)可用性定義為: 其中Tup= tui , Tdown= tdi 6.9.2 軟件可用性的基本概念如果引入系統(tǒng)平均無故障時(shí)間MTTF和平均維修時(shí)間MTTR的概念,則上面公式的系統(tǒng)穩(wěn)態(tài)可用性變成:平均維修時(shí)間MTTR是修復(fù)一個(gè)故障平均需要用的時(shí)間,取決于維護(hù)人員的技術(shù)水平和對系統(tǒng)熟悉程度。平均無故障時(shí)間MTTF是系統(tǒng)按照規(guī)格說明書規(guī)定成功地運(yùn)行的平均時(shí)間,取決于系統(tǒng)中潛伏的錯(cuò)誤數(shù)量。 6.9.2 軟件可用性的基本概念1. 符號 估算MTTF時(shí)使用到下列符號 ET測試之前程序中故障總
7、數(shù); IT程序長度(機(jī)器指令總數(shù)); 測試(包括調(diào)試)時(shí)間; Ed() 在0至期間發(fā)現(xiàn)的錯(cuò)誤數(shù); Ec() 在0至期間改正的錯(cuò)誤數(shù); 6.9.3 估算平均無故障時(shí)間MTTF的方法2. 基本假定根據(jù)經(jīng)驗(yàn)數(shù)據(jù),可作出下列假定:1)單位長度里的故障數(shù)ET/ IT近似為常數(shù)。一些統(tǒng)計(jì)數(shù)字表明,通常有:0.510-2ET/ IT210-2。2)失效率正比于軟件中剩余的(潛藏的)故障數(shù),而平均無故障時(shí)間MTTF與剩余的故障數(shù)成反比。3)調(diào)試過程沒有引入新的故障,即Ec()= Ed()。由于系統(tǒng)剩余的故障數(shù)為: Er() = ET- Ec()所以單位長度程序中剩余的故障數(shù)為: r () = ET / IT
8、- Ec()/ IT6.9.3 估算平均無故障時(shí)間MTTF的方法3. 估算平均無故障時(shí)間MTTF因?yàn)槠骄鶡o故障時(shí)間與單位長度程序中剩余的故障數(shù)r ()成反比,所以: 其中:K為常數(shù),它的值根據(jù)經(jīng)驗(yàn)選取,經(jīng)典值是200。6.9.3 估算平均無故障時(shí)間MTTF的方法由上式變換后得到程序中改正的錯(cuò)誤數(shù): 根據(jù)對軟件平均無故障時(shí)間的要求,可以估計(jì)需要改正多少個(gè)錯(cuò)誤后,測試工作就可以結(jié)束。 14. 估計(jì)故障總數(shù)ET的方法1)植入故障法 假設(shè)人為地植入的故障數(shù)為Ns,經(jīng)過一段時(shí)間的測試之后發(fā)現(xiàn)ns個(gè)植入的故障,同時(shí)還發(fā)現(xiàn)了n個(gè)原有的故障,則可以估計(jì)出程序中原有的故障總數(shù):其中: 是故障總數(shù)ET的估計(jì)值;
9、6.9.3 估算平均無故障時(shí)間MTTF的方法2)分別測試法分別測試法隨機(jī)把程序中一部分原有錯(cuò)誤加上標(biāo)記,根據(jù)測試發(fā)現(xiàn)的有標(biāo)記和無標(biāo)記錯(cuò)誤的比例,估計(jì)程序錯(cuò)誤總數(shù)。分別測試法使用兩個(gè)測試員,獨(dú)立地測試同一個(gè)程序的兩個(gè)副本,由另一名分析員分析他們的測試結(jié)果,把其中一個(gè)測試員發(fā)現(xiàn)的故障作為有標(biāo)記的故障。用表示測試時(shí)間,假設(shè) = 0時(shí)故障總數(shù)為B0(即ET); =1時(shí)測試員甲發(fā)現(xiàn)的故障數(shù)為B1; =1時(shí)測試員乙發(fā)現(xiàn)的故障數(shù)為B2; =1時(shí)兩個(gè)測試員發(fā)現(xiàn)的相同故障數(shù)為bc。 4. 估計(jì)故障總數(shù)ET的方法6.9.3 估算平均無故障時(shí)間MTTF的方法 如果認(rèn)為測試員甲發(fā)現(xiàn)的故障是有標(biāo)記的,即程序中有標(biāo)記的故
10、障總數(shù)為B1,那么測試員乙發(fā)現(xiàn)的B2個(gè)故障中有bc個(gè)是有標(biāo)記的。所以可以估計(jì)出測試前程序中的故障總數(shù)為:其中, 是故障總數(shù)ET的估計(jì)值。 每隔一定時(shí)間,分析員分析兩名測試員的測試結(jié)果,來估計(jì)錯(cuò)誤總數(shù)。幾次估計(jì)結(jié)果差不多時(shí),用其平均值作為錯(cuò)誤總數(shù)的估計(jì)值。4. 估計(jì)故障總數(shù)ET的方法6.9.3 估算平均無故障時(shí)間MTTF的方法練習(xí)在測試一個(gè)長度為48000條指令的程序時(shí),第一個(gè)月由甲、乙兩名測試員各自獨(dú)立測試這個(gè)程序。經(jīng)一個(gè)月測試后,甲發(fā)現(xiàn)并改正了20個(gè)錯(cuò)誤,使得MTTF達(dá)到8h。與此同時(shí),乙發(fā)現(xiàn)了24個(gè)錯(cuò)誤,其中6個(gè)錯(cuò)誤甲也發(fā)現(xiàn)了。以后由甲一個(gè)人繼續(xù)測試這個(gè)程序。問:(1)剛開始測試時(shí),程序共
11、有多少個(gè)潛藏的錯(cuò)誤?(2)為使得MTTF達(dá)到20h,必須再改正多少個(gè)錯(cuò)誤?練習(xí)(1)本題中采用了分別測試法, 如果認(rèn)為測試員甲發(fā)現(xiàn)的故障是有標(biāo)記的,即程序中有標(biāo)記的故障總數(shù)為B1,那么測試員乙發(fā)現(xiàn)的B2個(gè)故障中有bc個(gè)是有標(biāo)記的。所以可以估計(jì)出測試前程序中的故障總數(shù)為: 因此可以估算出剛開始測試時(shí),程序中錯(cuò)誤總數(shù)為: ET=24/6*20=803. 估算平均無故障時(shí)間MTTF因?yàn)槠骄鶡o故障時(shí)間與單位長度程序中剩余的故障數(shù)r ()成反比,所以: 其中:K為常數(shù),它的值根據(jù)經(jīng)驗(yàn)選取,經(jīng)典值是200。6.9.3 估算平均無故障時(shí)間MTTF的方法由上式變換后得到程序中改正的錯(cuò)誤數(shù): 根據(jù)對軟件平均無故障時(shí)間的要求,可以估計(jì)需要改正多少個(gè)錯(cuò)誤后,測試工作就可以結(jié)束
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026四川廣元市特種設(shè)備監(jiān)督檢驗(yàn)所第一批檢驗(yàn)檢測人員招聘7人備考題庫及答案詳解參考
- 2025年兒科呼吸系統(tǒng)題庫及答案
- 2025年泰和縣新睿人力資源服務(wù)有限公司面向社會公開招聘項(xiàng)目制工作人員的備考題庫及一套答案詳解
- 2025廣東廣州花都城投廣電城市服務(wù)有限公司招聘項(xiàng)目用工人員2人備考題庫及答案詳解(新)
- 2025年超準(zhǔn)財(cái)商測試題庫及答案
- 2026新疆兵團(tuán)第十三師淖毛湖農(nóng)場幼兒園招聘編外教師備考題庫(1人)含答案詳解
- 2026中國社會科學(xué)雜志社總編室(研究室)招聘5人備考題庫(北京)及一套答案詳解
- 2025年會計(jì)高級考試試題及答案
- 2025年證券監(jiān)管考試題庫及答案
- 2025年護(hù)考同步高分題庫及答案
- 福建省廈門市部分學(xué)校2025-2026學(xué)年九年級歷史上學(xué)期期末聯(lián)考試卷(含答案)
- 2025浙江杭州臨平環(huán)境科技有限公司招聘49人筆試模擬試題及答案解析
- 2026年浙江省軍士轉(zhuǎn)業(yè)崗位履職能力考點(diǎn)練習(xí)題及答案
- 生活垃圾焚燒廠運(yùn)管管理規(guī)范
- 江蘇省南京市2025-2026學(xué)年八年級上學(xué)期期末數(shù)學(xué)模擬試卷(蘇科版)(解析版)
- 箱式變電站安裝施工工藝
- 2025年安徽省普通高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷(含答案)
- 2026屆四川省成都市2023級高三一診英語試題(附答案和音頻)
- 油罐圍欄施工方案(3篇)
- 國家開放大學(xué)2025年(2025年秋)期末考試真題及答案
- JJF 2333-2025恒溫金屬浴校準(zhǔn)規(guī)范
評論
0/150
提交評論