發(fā)項目的測試流程有所不同,比如說:測試評價一般都位于項目執(zhí)行期,而對于外包測試項目來說,由于測試進(jìn)行流程就代表了整個項目的進(jìn)行流程,所以在測試結(jié)束時的測試評價活動就相當(dāng)于在項目結(jié)束期的總結(jié)活動了。
第四,測試流程的細(xì)化與實現(xiàn)過程。雖然前后兩步對于完善軟件外包測試服務(wù)流程都具有同等重要的作用,但是流程的細(xì)化和實現(xiàn)過程是CMMI應(yīng)用的難點,也是影響流程改進(jìn)成敗的關(guān)鍵。正因為根據(jù)CMMI思想指導(dǎo)軟件測試流程改進(jìn)在實施過程中存在上述風(fēng)險,我們認(rèn)為,利用風(fēng)險管理思想,把風(fēng)險管理活動與測試流程改進(jìn)活動相結(jié)合,可以進(jìn)一步完善軟件外包測試流程。所謂風(fēng)險管理,就是提前認(rèn)知或預(yù)測識別風(fēng)險,進(jìn)而有計劃地消除或降低風(fēng)險。
為了便于量化管理,常見的風(fēng)險定義由以下3個參數(shù)表述:
?、亠L(fēng)險嚴(yán)重性:指風(fēng)險對項目造成的危害程度;
?、陲L(fēng)險可能性:指風(fēng)險發(fā)生的幾率;
?、埏L(fēng)險系數(shù):是風(fēng)險嚴(yán)重性和風(fēng)險可能性的乘積。
一般地,風(fēng)險管理有4個主要活動,即風(fēng)險識別、風(fēng)險分析、風(fēng)險減緩和風(fēng)險跟蹤。在項目的生命周期內(nèi),上述4個活動將被循環(huán)執(zhí)行,直到項目的所有風(fēng)險都被識別與解決為止。據(jù)此,我們可以得出基于風(fēng)險管理的軟件測試流程。
(1)風(fēng)險識別。根據(jù)企業(yè)項目實施經(jīng)驗識別出軟件外包測試項目的潛在風(fēng)險。風(fēng)險的識別除了來源于項目管理及相關(guān)專業(yè)知識,主要還要依靠性質(zhì)相近項目的實踐經(jīng)驗,所以即使專業(yè)CMMI咨詢顧問也不得不在問訊企業(yè)內(nèi)各相關(guān)人員后才能做出改進(jìn)方案。因此風(fēng)險識別角色的確定成為了第一個關(guān)鍵點,這不僅要求具備扎實的管理及專業(yè)知識,同時還應(yīng)具備豐富的項目實踐經(jīng)為了避免責(zé)任過于集中(在一人身上)的風(fēng)險,企業(yè)還可以采用集思廣益法以及建立項目風(fēng)險庫來收集企業(yè)內(nèi)各項目實際遇到的困難及解決方案等以供參考。
(2)風(fēng)險分析。為識別出的各種風(fēng)險估計嚴(yán)重性和可能性,繼而求出風(fēng)險系數(shù),確定測試流程改進(jìn)及實施的關(guān)鍵點以及優(yōu)先級。風(fēng)險分析方法主要參照風(fēng)險管理知識來進(jìn)行,其分析中所用的統(tǒng)計數(shù)據(jù)則來自于專業(yè)知識以及實踐經(jīng)驗的總結(jié),同樣也可以來自于企業(yè)項目風(fēng)險庫內(nèi)的各項目歷史數(shù)據(jù)統(tǒng)計。
(3)風(fēng)險減緩。按照風(fēng)險系數(shù)大小針對各個風(fēng)險點給出合適的流程改進(jìn)以及實施建議。如上所述,流程改進(jìn)理論將主要參照CMMI3中驗證與確認(rèn)這兩個過程域進(jìn)行,而具體實施建議則要結(jié)合企業(yè)的實際應(yīng)用環(huán)境加以靈活調(diào)整,比如因CMMI標(biāo)準(zhǔn)流程的啟用而導(dǎo)致項目相關(guān)成員工作量的調(diào)整。
(4)風(fēng)險跟蹤。記錄新的測試流程實施過程,跟蹤風(fēng)險狀態(tài)并依此制定出新的測試流程改進(jìn)實施計劃。開始新的測試流程并不能代表流程改進(jìn)進(jìn)程的結(jié)束,風(fēng)險要素為活動因素,它們會隨外界條件的變化而改變,或新增或消失,其重要性、可能性等或增加或減少,因此通過風(fēng)險跟蹤我們可以驗證流程改進(jìn)的成果,同時也可以讓風(fēng)險管理思想所引導(dǎo)的測試流程改進(jìn)隨之進(jìn)行相應(yīng)的變化。風(fēng)險跟蹤依據(jù)則主要來源于項目實踐中的各種常用報告以及專門為了便于風(fēng)險跟蹤而設(shè)計的各種數(shù)據(jù)報告。
二、軟件測試流程改進(jìn)的項目實踐
本文實踐項目是一個名為Final的項目,它來源于歐美一家知名企業(yè)的軟件外包測試。該項目為長期項目,以年為單位簽訂承包合同,其下還設(shè)有五六個子項目。
測試方法采用手工的集成測試、回歸測試和系統(tǒng)測試,屬于黑盒測試的范疇。測試周期隨著客戶的開發(fā)進(jìn)度而變化。由于該項目要求的技術(shù)性不