1. 背景介紹
軟件中的缺陷(Defect或Bug)是軟件開發過程中的"副產品"。通常,缺陷會導致軟件產品在某種程度上不能滿足用戶的需要。
每一個軟件組織都知道必須妥善處理軟件中的缺陷。這是關系到軟件組織生存、發展的質量根本?蛇z憾的是,并非所有的軟件組織都知道如何有效地管理自己軟件中的缺陷。
本文從CMM的視角闡述了不同成熟度的軟件組織如何管理自己軟件中的缺陷。希望軟件組織可以結合自己的實踐,找到適合自己的缺陷管理過程。
2. 個體行為
處于CMM第一級(或稱為初始級)的軟件組織,對軟件缺陷的管理無章可循。工程師們只是在發現缺陷后,修改相應的軟件。通常,沒有人會去記錄自己發現的缺陷。也沒有人知道在新的軟件版本里,究竟糾正了哪些缺陷,還有哪些缺陷未被糾正。而且,只有在下一輪測試中才有可能知道那些所謂已被糾正了的缺陷是否真的被糾正了,更重要的是糾正過程是否引入了新的缺陷。
所以這樣的軟件組織的項目交貨期(Release Date)表現出強烈的不可預測性。并且, 為了獲得一個高質量的軟件產品(如果能夠的話),通常要在測試上花費大量的人力。
3. 項目行為
在CMM第二級(或稱為可重復級)的軟件組織中,軟件項目會從自身的需要出發,制定本項目的缺陷管理過程。一個完備軟件缺陷管理過程通常會包括如下幾個方面:
。1)提交缺陷
。2)分析和定位缺陷
。3)提請修改相應的軟件
。4)修改相應的軟件
。5)驗證修改
項目組會完整地記錄開發過程中的缺陷,監控缺陷的修改過程,并驗證修改缺陷的結果。
4. 組織行為
CMM第三級(或稱為已定義級)的軟件組織會匯集組織內部以前項目的經驗教訓,制定組織級的缺陷管理過程。并且,要求項目根據組織級的缺陷管理過程定制本項目的缺陷管理過程。
從而,整個軟件組織中的項目都遵循類似的過程來管理缺陷。好的缺陷管理實踐成為所有項目的實踐,而教訓也為所有項目所了解。更重要的是,隨著組織的不斷發展完善,組織的過程會得到持續性的改進,所有項目的過程也都會相應的改進。
5. 量化管理
CMM第四級(或稱為已管理級)的軟件組織會根據已收集的缺陷數據,采用SPC的方法建立軟件過程能力基線(Process Capability Baseline)。對于缺陷管理,可以缺陷密度為例,過程能力基線通常包括期望(Mean),能力上限(Upper Control Limit,UCL),能力下限(Low Control Limit,LCL)。其中,"期望"描述了未來項目的缺陷密度的預期值,而UCL和LCL描述了未來項目的缺陷密度的合理變化范圍。
這樣的過程能力基線可以用來:(1)幫助未來的項目設立量化的項目質量目標;(2)理解和控制未來項目的實際結果。
文章來源于領測軟件測試網 http://www.kjueaiud.com/