如同代碼是程序員的成果之,測試報告是測試人員的豐要成果之一。一個好的測試試報告建立在測試結果的基礎之上,不僅要提供必要測試結果的實際數據,同時要對結果進行分析,發現產品中問題的本質,對產品質量進行準確的評估。
分析的對象和內容:測試的覆蓋率、缺陷分析、產品總體質量分析、過程分析等。
1測試的覆蓋率
· 語句覆蓋率:檢測在軟件測試時代碼語句執行覆蓋率。
· 分支覆蓋率:用于分析被測軟件在進行軟件測試時分支的執行情況。
· 子程序調用覆蓋率:判斷某一程序是否調用了所有應該調用的子程序,或判斷所
有的子程序是臺被調用過。此指標杠系統集成測試時很有用。
· 數據值覆蓋率:檢測程序中變量在測試時是否包含了所有可能值。
· 面向對象覆蓋率:多態類的覆蓋、模式化的覆蓋、繼承的覆蓋。類的狀態決定它的行為,需要確認每一個對象獨直狀態的代碼覆蓋率,或測試每一個類或子系統獨立線程的覆蓋率。例如,通信西議類有很多狀態:初始化狀態、正在連接狀態、已連接狀態和出錯狀態等。
· Mc/Dc代碼覆蓋率:支持RTC‘A DO-178B標準。
2 bug分析
· №分布:在程序模塊的橫向分布,在時間上的縱向分布。
· 測試的效率:根據丟失的bug數日和發現的總bug數,可以了解測試的效率。也可咀根據執行的總測試用例數,計算H1每發現一個bug所需要的測試用例數、測試時間等,對不同階段、不唰模塊、不同人員等進行對比分析。
· 程序的質量:通過對每千行代碼所含的bug數分析,了解程序代碼質量。
· 開發解決bug的能力或狀態。
3產品總體質量分析
傳統的軟件測試,只針對軟件產品開展,找到缺陷之后冉加以改正和修補,這是一種“亡羊補牢”的質量管理方式。而針對開發全過程所開展的軟件測試和過程度量,則注重事先分析,通過對已發生的數據對比、統計、時間序列等分析,來判斷軟件產品質量的未來趨勢,并提前予以控制和預防,屬于一種“防忠于末然”的質量管理方式。與傳統的軟件測試相比,全過程測試管理方式不僅可以有效降低產品的質量風險,而且還可以提前對軟件產品缺陷進行規避,這不僅縮短了對缺陷的反饋周期和整個項目的開發周期,而且也會在較大程度七降低軟件產品開發用在修正軟件缺陷時所支付的成本。對測試的結果進行整理、歸納和分析,一般借助于Excel文件、數據庫和_些直方圖、圓餅圖、趨勢圖來進行分析和表示。主要的方法有對比分析、根本原因(root cⅫase)查找、問題分類、趨勢(時間序列)分析和其他統計分析等。
· 對比分析:用軟件執行測試結果與標準輸出的對比工作,因為可能有部分的輸出內容是不能直接對比的(比如,對運行的時間的記錄,對運行的路徑記錄,以及 測試對象的版本數據等),就要用程序進行處理。
· 根本原因查找:“分析”是找出不吻合的地方并指出錯誤的可能起因。
· 問題分類:“分類”包括各種統計上的分項,例如,對應的源程序位置,錯誤的嚴重級別(提示、警告、非失效性錯誤、失效性錯誤或別的分類方法),新發現的還是已有記錄的錯誤。
· 趨勢(時間序列)分析:根據所發現的軟件缺陷歷史數據進行分析.預測未來情況。
· 其他統計分析:通過對缺陷進行分類,然后利用一些成熟的統計方法對已有數據進行分析。因為已了解程序開發中主要問題或產生問題的主要原因,從而比較容易提高軟件質量。
4.3 CMM思想和結構體系
cMM(capabil時M蚰Ⅱ時Model)即軟件能力成熟度模型,是向軟件組織提供如何增
加對其開發和維護軟件過程的控制能力。設計并實施cMM是為了指導軟件組織達到以下要求。
· 確定當前過程的成熟度等級,識別出對軟件質量和過程改進至關重要的問題,選擇其過程改進策略。
· 通過關注一組有限的活動,并為實現它們而積極工作,組織能穩步地改善其軟件過程,使其軟件過程能力持續不斷地增長。
原文轉自:http://www.anti-gravitydesign.com