如何確定一個軟件測試項目的終結點 軟件測試工具
1.原則上來講,我們更希望一種規范化開發的體系來規正這個命題,不需要為此傷腦筋。但在里程碑或計劃的截止時間點能結束測試對大多數的軟件項 目僅僅是一種期望,而不是既定的現實。理想的情況下,我們可以嚴格執行計劃,然后在計劃要求的deadline或者里程碑點上提交交付件,以確認該里程碑 是否達到要求,是否可以進行下一階段的工作——但正如前提所言,這個僅僅是理想情況
2.現在讓我們現實一點。我們為什么會有這樣的問題(一個軟件如何確定測試結束點)?往往就是因為我們不知道何時可以結束一個軟件的測試。不管 教科書上如何說明一個軟件只要還在生命周期內,就無法結束測試,但現實要求我們在某一個時間點上,結束對軟件某一階段的測試。那么,這個問題實際上就已經 轉化為確定該階段測試的結束點的方法了。這個方法可能是一種規范,一套流程,一些交付件,一些評審,一些由統計學原理得出的收斂曲線或者僅僅只是一些確認 而已。而個人認為,無論這個方法是何種形式的,其基本的要求就是能達成一種協議,確認該協議生效——那么這個階段的測試就結束了,至于這個點在什么時間, 我想就是完成所有要求的這些確認的時間而已。
在軟件消亡之前,如果沒有測試的結束點,那么軟件測試就永無休止,永遠不可能結束。軟件測試的結束點,要依據自己公司具體情況來制定,不能一概而論!個人認為測試結束點由以下幾個條件決定::
1.基于“測試階段”的原則:
每個軟件的測試一般都要經過單元測試、集成測試、系統測試這幾個階段,我們可以分別對單元測試、集成測試和系統測試制定詳細的測試結束點。每個 測試階段符合結束標準后,再進行后面一個階段的測試。舉個例子來說:單元測試,我們要求測試結束點必須滿足“核心代碼100%經過Code Review”、“功能覆蓋率達到100%”、“代碼行覆蓋率不低于80%”、“不存在A、B類缺陷”、“所有發現缺陷至少60%都納入缺陷追蹤系統且各 級缺陷修復率達到標準”等等標準。集成測試和系統測試的結束點都制定相關的結束標準,當然也是如此。
2.基于“測試用例”的原則:
測試設計人員設計測試用例,并請項目組成員參與評審,測試用例一旦評審通過,后面測試時,就可以作為測試結束的一個參考標準。比如說在測試過程 中,如果發現測試用例通過率太低,可以拒絕繼續測試,待開發人員修復后再繼續。在功能測試用例通過率達到100%,非功能性測試用例達到95%以上,允許 正常結束測試。但是使用該原則作為測試結束點時,把握好測試用例的質量,非常關鍵。
3.基于“缺陷收斂趨勢”的原則:
軟件測試的生命周期中隨著測試時間的推移,測試發現的缺陷圖線,首先成逐漸上升趨勢,然后測試到一定階段,缺陷又成下降趨勢,直到發現的缺陷幾乎為零或者很難發現缺陷為止。我們可以通過缺陷的趨勢圖線的走向,來定測試是否可以結束,這也是一個判定標準。
4.基于“缺陷修復率”的原則:
軟件缺陷在測試生命周期中我們分成幾個嚴重等級,它們分別是:嚴重錯誤、主要錯誤、次要錯誤、一般錯誤、較小錯誤和測試建議6種。那我們在確定 測試結束點時,嚴重錯誤和主要錯誤的缺陷修復率必須達到100%,不允許存在功能性的錯誤;次要錯誤和一般錯誤的缺陷修復率必須達到85%以上,允許存在 少量功能缺陷,后面版本解決;對于較小錯誤的缺陷修復率最好達到60%~70%以上。對于測試建議的問題,可以暫時不用修改。
5.基于“驗收測試”的原則:
很多公司都是做項目軟件,如果這種要確定測試結束點,最好測試到一定階段,達到或接近測試部門指定的標準后,就遞交用戶做驗收測試。如果通過用 戶的測試驗收,就可以立即終止測試部門的測試;如果客戶驗收測試時,發現了部分缺陷,就可以針對性的修改缺陷后,驗證通過后遞交客戶,相應測試也可以結 束。
原文轉自:http://www.anti-gravitydesign.com