如何把握軟體產品的品質
蔡: 蔡為東,熱愛測試工作,有超過10年的軟體測試和團隊管理經驗。
鄭: 鄭文強, 阿爾卡特-朗訊測試架構師
蔡:如何把握軟體產品的品質?
鄭:不管軟體產品規模是大還是小,結構是簡單還是複雜,對它們品質的評估都不是一件容易的事情。儘管很難,但是產品品質的評估仍然是必需的,因為它也涉及軟體版本是否能夠發布。
軟體發布之前做評估
根據我和公司內的實踐經驗,可以從下面兩個方面進行評估。
第一,軟體產品發布之前的品質評估,具體的度量指標包括:
- 缺陷,包括髮現的總的缺陷分布趨勢、缺陷在不同功能模組中的分布等。例如,總的缺陷分布趨勢圖。
- 測試通過率,主要包括計劃的測試案例執行進度、通過的測試案例數目、失敗的測試案例數目、被阻塞的測試案例數目等。我們項目中定義的測試通過率是95%。
- 測試覆蓋率,包括測試對系統需求的覆蓋率、對測試類型的覆蓋率。例如,我們項目中定義的需求覆蓋率必須達到100%,測試類型覆蓋率也必須達到100%。
- 信心,負責這個模組的測試人員對品質的主觀感受。可能有的人覺得很奇怪,怎麼主觀感受也可以作為產品品質的評估?因為負責功能模組測試的工程師是最瞭解他們的測試對象的。
旁觀者說:可以設計一個信心指數,例如1~10,然後通過各種資料來支援這個指數。
軟體發布之後做評估
第二,軟體產品發布之後的品質評估。我們目前採用的度量指標是缺陷檢測百分比DDP(Defect Detected Percentage),其計算公式如下:
客戶現場發現的缺陷數 /(發布前測試團隊發現的缺陷數 +
客戶現場發現的缺陷數)*100%
我們一般統計產品發布之後6個月內在客戶現場發現的缺陷數。不同的公司與項目,採用的統計時間範圍會有所不同。
旁觀者說:統計客戶發現的bug是有意義的,一是可以據此對客戶做一些分析,例如,經常使用的功能、滿意度等;二是可以用於反思之前的測試活動,以求改進。
測試團隊為軟體發布提供品質資訊
還有一個問題是測試團隊非常關心的:誰來決定軟體產品的發布?從我的角度而言,我認為由測試團隊決定軟體產品是否發布是不合適的。
軟
件產品是否發行就緒,需要有不同角色的成員參與進來,根據公司定義的判定準則進行評估,同時平衡產品品質、市場機會、產品戰略以及成本等多個因素。測試團
隊在這個過程中主要的作用是盡量多地提供軟體產品的品質資訊、風險資訊等,以協助管理層做出是否發布的決定。任何一個單方面做決定都可能是不全面的。例
如,測試人員覺得品質還不夠好,發布有風險;但是市場機會要求我們發布,如果再等一段時間就會減弱市場機會,甚至喪失機會,這個時候就需要考慮哪個因素有
更高的優先順序。
旁觀者說:贊同。軟體發布與否應當綜合各種因素來考慮,而不僅僅是某個角色說了算。
本文節選自《贏在測試2:中國軟體測試專家訪談錄》
蔡為東 著
電子工業出版社出版