天天看點

基于缺陷分布的品質目标分解和品質預測體系 - 張魚

基于缺陷分布的品質目标分解和品質預測體系

 摘要:品質管理如何去量化要求?怎麼設定一個合理的品質目标?品質目标如何被分解?品質目标如何随着項目實施過程推進而被修正?這些都是困擾項目品質管理的老大難問題。本文嘗試從缺陷分布模型的角度去提供一種思考次元。

        關鍵詞:品質管理,量化,品質目标,品質預測。

項目量化管理與量化品質目标

        CMU SEI的CMMI模型中,把一個軟體企業的軟體能力成熟度分成五個等級。分别為初始級,可重複級,已定義級,已管理級和優化級。各成熟度等級的特征如下:

        初始級—軟體過程是無序,無章可循的,軟體項目的成功依賴項目組中的關鍵成員的個人能力,項目的成功是偶然和不可預見的。

        可重複級—項目已經定義了最基本的項目管理過程,對項目的進度,成本和品質在一定程度上起到控制作用,對同類型的項目,一些成功的經驗是可以被複用和優化到新的項目過程中去的。

        已定義級—軟體項目管理過程已經上升為組織級别的标準過程規範。組織的項目過程采用或裁剪自組織标準過程。

        已管理級—軟體過程表現逐漸穩定,軟體過程和産品品質都能有量化的衡量準則,可以量化控制和預測過程和産品品質。

        優化級—在已管理級的基礎上,通過對過程革新,來不斷的優化過程,進而達到持續改進。

        那麼,對于達到或者将要達到已管理級的這些公司,如何利用這些過程資料來控制和預測産品品質呢?基于規模資料和缺陷資料是很多公司比較早收集的,而且相關過程也是比較早達到穩定的,我們可以先從缺陷資料開始入手,建立初步的品質目标分解和品質預測體系。

建構缺陷分布模型和項目缺陷密度性能基線

        對于達到成熟度等級四級的公司來說,基于這個成熟度等級的項目一般來說項目管理、評審、測試等子過程的過程性能比較穩定,是以也有條件生成該過程的過程性能基線。通俗的講,我們可以把一個公司某個過程的過程性能基線看作是該公司該過程的基準值。如,測試缺陷密度性能基線為[25±2] 個/千行,那麼類似的項目的缺陷表現就可以參照這個資料了。

        對于建構本模型,我們需要一個缺陷分布模型和一個缺陷密度性能基線資料。假設A公司X類項目的缺陷分布模型如下:

缺陷發現階段 缺陷比例
1-User Requirement / System Requirement Review 3%
2-High Level Design Review 4%
3-Low Level Design Review 4%
4-Unit Test 14%
5-Code Review 15%
6-System Integration Test 51%
7-External Defects 9%

        假設A公司X類項目的缺陷密度性能基線為M1 = [25±2] 個/千行。

設定品質目标

        按照項目給定的範圍,進行項目規模估算。假設估算的項目規模是Size = 20,000行,那麼,根據缺陷密度性能基線資料,可以推算,該項目預計的缺陷總數為M2 = M1*Size/1000,得出M2 = [500±40] 個。然後按照缺陷分布模型的百分比,可以把缺陷發現名額分解到各個階段中,如下表:

項目實施階段 缺陷發現品質目标(個)
1-User Requirement / System Requirement Review 14±1
2-High Level Design Review 19±2
3-Low Level Design Review 19±2
4-Unit Test 71±6
5-Code Review 75±6
6-System Integration Test 255±20
7-External Defects 47±4

        這樣我們就得到了每個階段缺陷發現的目标數和控制上下限,并作為品質目标固定下來。

運用缺陷分布模型進行品質目标跟蹤與品質預測

        大家也許會問,那麼如果某個階段沒有達到品質目标或者超額完成品質目标怎麼調整下一階段的品質目标情況?

        在回答這個問題之前我們先基于這樣一個假設:即同樣技術水準等級的人,遵循同樣的過程,其産品的總體品質表現是一緻的。那麼我們由此假設可以推斷,對于一個給定項目規模來說,其總缺陷數是不變的。

        還以上面的資料為例,假設到代碼基線化時,Unit Test和Code Review一共比計劃少發現30個缺陷。那麼,基于缺陷總量不變的假設,這30個缺陷勢必要被洩漏到後續的系統測試和傳遞後的環節中。

        按照缺陷分布的比例,系統測試缺陷将需要多發現 M3 = 30 * 51%/(51%+9%) = 26±2個, 這樣,調整後的系統測試缺陷發現品質目标将為:[381 ± 22] 個。預計洩漏到客戶現場的缺陷将為:[51 ± 4] 個。

        假設在後期維護期間,原先預計的修複外部缺陷的人天數為47人天,即一個缺陷1人天,按照調整後的品質預測結果估計,修複缺陷的維護工作量将增加4人天,變為51人天。

結束語

        本文隻是從一個次元基于若幹假設條件下,對品質目标分解和品質預測作了一個執行個體介紹。大家在具體運用時候,也可以基于本公司的實際情況,選擇适合本公司的模組化方法去實際運用。

轉載:http://www.51testing.com/html/15/n-66115-2.html

基于缺陷分布的品質目标分解和品質預測體系 - 張魚