測試結果分析和質量報告

如同代碼是程序員的成果之一,測試報告是測試人員的主要成果之一.一個好的測試報告建立在測試結果的基礎上,不僅要提供必要測試結果的實際數據,同時要對結果進行分析,發現產品中問題的本質,對產品質量進行準確的評估.
 
分析的對象和內容:測試的覆蓋率,缺陷分析,產品總體質量分析,過程分析等.
 
1.測試的覆蓋率
語句覆蓋率:檢測在軟件測試時代碼語句執行覆蓋率.
分支覆蓋率:用於分析被測軟件在進行軟件測試時分支的執行情況.
子程序調用覆蓋率:判斷某一程序是否調用了所有應該調用的子程序,或判斷所有的子程序是否被調用過.此指標在系統集成測試時很有用.
數據值覆蓋率:檢測程序中變量在測試時是否包含了所有可能值.
面向對象覆蓋率:多态類的覆蓋,模式化的覆蓋,繼承的覆蓋.類的狀態決定它的行為,需要確認每一個對象獨立狀態的代碼覆蓋率,或測試每一個類或子系統獨立線程的覆蓋率.例如,通信協議類有很多狀態:初始化狀態,正在連接狀態,已連接狀態和出錯狀態等
MC/DC代碼覆蓋率:支持RTCA DO-178B標準.
 
2.bug分析
bug分布:在程序模塊的橫向分布,在時間上的縱向分布.
測試的效率:根據丟失的bug數目和發現的總bug數,可以了解測試的效率.也可以根據執行的總測試用例數,計算出每發現一個bug所需要的測試用例數,測試時間等,對不同階段,不同模塊,不同人員等進行比對分析.
程序的質量:通過對每千行代碼所含的bug數分析,了解程序代碼質量.
開發解決bug的能力或狀態.
 
3.產品總體質量分析
傳統的軟件測試,只針對軟件產品開展,找到缺陷之後再加以改正和修補,這是一種"亡羊補牢"的質量管理方式.而針對開發全過程所開展的軟件測試和過程質量,則注重事先分析,通過對已發生的數據對比,統計,時間序列等分析.來判斷軟件產品質量的未來趨勢,並提前予以控制和預防,屬於一種"防患於未然"的質量管理方式.與傳統的軟件測試相比,全過程測試管理方式不僅可以有效降低產品的質量風險,而且還可以提前對軟件產品缺陷進行規避,這不僅縮短了對缺陷的反饋週期和整個項目的開發週期,而且也會在較大程度上降低軟件產品開發用在修正軟件缺陷時所支付的成本.
 
對測試的結果進行整理,歸納和分析,一般借助於Excel文件,數據庫和一些直方圖,圓餅圖,趨勢圖來進行分析和表示.主要的方法有對比分析,根本原因(root cause)查找,問題分類,趨勢(時間序列)分析和其他統計分析等.
 
對比分析:用軟件執行測試結果與標準輸出的對比工作,因為可能有部分的輸出內容是不能直接對比的(比如,對運行的時間的紀錄,對運行的路徑紀錄,以及測試對象的版本數據等),就要用程序進行處理.
根本原因查找:"分析"是找出不吻合的地方並指出錯誤的可能起因.
問題分類:"分類"包括各種統計上的分項,例如,對應的源程序位置,錯誤的嚴重級別(提示,警告,非失效性錯誤,失效性錯誤或別的分類方法),新發現的還是已有紀錄的錯誤.
趨勢(時間序列)分析:根據所發現的軟件缺陷歷史數據進行分析,預測未來情況.
其它統計分析:通過對缺陷進行分類,然後利用一些成熟的統計方法對已有數據進行分析.因為已了解程序開發中主要問題或產生問題的主要原因,從而比較容易提高軟件質量
posted @ 2009-01-21 08:57  道场  阅读(173)  评论(0)    收藏  举报