董 曦,王 妍
(中國船舶重工集團公司第七二三研究所,江蘇揚州 225101)
軟件合格性測試工作目前已經(jīng)從定性管理逐步過渡到定量管理。如何更好地進行定量管理,一直是軟件測試項目負(fù)責(zé)人和眾多軟件測試人員追求的目標(biāo)之一。GJB 5000A二級MA過程域很好地指導(dǎo)了軟件研制生命周期中各種基礎(chǔ)與導(dǎo)出數(shù)據(jù)的收集工作。因此,將該過程域借鑒并實施到軟件合格性測試的工作中,可以有效提升軟件合格性測試工作的定量管理能力。
GJB 5000A二級MA過程域主要為了開發(fā)和保持測量的能力,以支持信息的管理[1]。MA過程域相應(yīng)的專用目標(biāo)和專用實踐過程如圖1所示。
軟件合格性測試有自己特有的生命周期模型,即軟件測試過程。一般情況下,軟件合格性測試遵循測試策劃、測試設(shè)計與實現(xiàn)、測試執(zhí)行、測試總結(jié)的過程[2]。與軟件開發(fā)過程一樣,在軟件合格性測試中,至少應(yīng)包含一些基本的項目管理活動作為支持,包括配置管理、質(zhì)量保證、測量分析等[3]。軟件合格性測試過程如圖2所示。

圖1 GJB 5000A二級MA過程域

圖2 軟件合格性測試過程
在軟件合格性測試項目的具體實施過程中,應(yīng)該遵循MA過程域活動的基本要求,并且覆蓋MA過程域的所有專用目標(biāo)和專用實踐。必須對以下 4個問題進行解答,即測量的目標(biāo)是什么?達(dá)到這些測量目標(biāo)需要采集哪些測量項?如何采集、存儲、分析和報告這些測量項?如何提供有效的測量結(jié)果以做出決策[1]?下面對此展開討論。
所謂測量目標(biāo)就是指項目組織或者利益相關(guān)方需要利用所得到的測量數(shù)據(jù)從而達(dá)到什么樣的目的,測量目標(biāo)驅(qū)動著整個測量與分析的過程。此問題用以覆蓋專用實踐“SP1.1:確定測量目標(biāo)”。一般而言,項目的測量目標(biāo)是由組織的質(zhì)量改進目標(biāo)加入各利益相關(guān)方的關(guān)注目標(biāo),并結(jié)合項目自身特點而來,例如軟件合格性測試生命周期縮短;軟件合格性測試人力成本支出減少;軟件合格性測試千行代碼BUG率較過程改進前減少等。
此問題用以覆蓋專用實踐“SP1.2:指明測量項”。顧名思義,測量項就是為了完成測量目標(biāo)所需要的被測量內(nèi)容和對象,通常由基本測量項和導(dǎo)出測量項組成。組織會有組織推薦測量集。一般情況下,項目的測量項必須大于組織推薦測量集,項目還應(yīng)該根據(jù)自身特點新增其他測量項。MA人員所需測量的數(shù)據(jù)可以是工作量數(shù)據(jù)(包含階段計劃和實際工作量、工作量偏差等)、進度數(shù)據(jù)(包括計劃開始和結(jié)束日期、實際開始和結(jié)束日期、偏差等)、缺陷數(shù)據(jù)(包括評審缺陷數(shù)量、缺陷率等)、BUG數(shù)據(jù)(包括BUG數(shù)量、密度等數(shù)據(jù))以及其他所需測量數(shù)據(jù)(如測試文檔規(guī)模)等。
在《軟件合格性測試項目測量與分析計劃》文檔中必須要明確描述采集、存儲、分析和報告的機制。機制中需寫明由誰采集、如何采集、采集對象有哪些、采集時機有哪些、采集結(jié)果形式是什么、如何存放采集的結(jié)果等內(nèi)容,還須寫明誰來分析、分析的方法和策略、分析的實踐、分析的結(jié)果以什么形式存放等。最后,還必須描述出測量分析報告的形式、采集和分析結(jié)果告知組織領(lǐng)導(dǎo)或利益相關(guān)方的形式等。
完成了這一步,就可以做到覆蓋專用實踐“SP1.3:指明數(shù)據(jù)采集和存儲規(guī)程”和專用實踐“SP1.4:指明分析規(guī)程”了。
在以上前期工作完成之后,就可以依據(jù)項目進度對照《軟件合格性測試項目測量與分析計劃》進行測量與分析活動的實施和開展。依照專用實踐“SP2.1:采集測量數(shù)據(jù)”、“SP2.2:分析測量數(shù)據(jù)”、“SP2.3:存儲數(shù)據(jù)和結(jié)果”、“SP2.4:交流結(jié)果”的流程順序執(zhí)行該活動即可。
需要注意的是,測量與分析活動人員必須對該項目的專業(yè)背景有一定的了解,對軟件合格性測試流程熟練地掌握,對各種相關(guān)標(biāo)準(zhǔn)有較深的領(lǐng)悟。對于所采集的數(shù)據(jù),要求做到保證數(shù)據(jù)的正確性。對于數(shù)據(jù)的分析,則必須做到客觀性。同時,還需保證測量數(shù)據(jù)和分析結(jié)果與各利益相關(guān)方交流的有效性。因此,該活動不斷提高、不斷改進、由難入易的過程。
GJB 5000A二級MA核心活動可以歸納概括為計劃測量和執(zhí)行測量。計劃測量一般需要完成標(biāo)識信息、建立/選擇合適的測量項并將其集成到項目合格性測試過程中,而執(zhí)行測量則需實施測量計劃并分析測量結(jié)果。二者的活動過程如圖3所示。

圖3 測量與分析過程示意圖
測量分析人員和軟件合格性測試項目負(fù)責(zé)人的工作至關(guān)重要。其中,測量分析人員的工作有:參與標(biāo)識軟件合格性測試項目的測量,確定所需的測量項;負(fù)責(zé)編制軟件合格性測試的測量分析計劃;收集和分析軟件合格性測試中的各項測量數(shù)據(jù),編制測量分析報告;向測試項目負(fù)責(zé)人、項目組成員、顧客代表、高層管理者等相關(guān)人員通報測量分析結(jié)果等。軟件合格性測試項目負(fù)責(zé)人的具體工作有:指定測量分析人員;標(biāo)識項目的測量目標(biāo),確定所需的測量;參與制定測量分析計劃;接收測量分析結(jié)果等。另外,軟件合格性測試項目組的成員需要向測量分析人員提供基本測量數(shù)據(jù);合格性測試項目的質(zhì)量保證人員需要采集項目的質(zhì)量保證數(shù)據(jù)、移交測量分析人員、監(jiān)督測量分析過程和相關(guān)工作產(chǎn)品。項目周期內(nèi)的測量與分析流程如圖4所示。
項目實施過程中,軟件合格性測試角色的劃分如圖5所示[4]。
本文首先介紹了GJB 5000A二級MA過程域的背景及軟件合格性測試的基本過程,然后對于如何在軟件合格性測試過程中實施MA過程域開展了詳細(xì)的討論。對軟件合格性測試和軟件工程化推進工作有一定的指導(dǎo)作用,提高了組織的量化管理能力。但該實施方案還存在一定的改進空間,在今后的工作中,相關(guān)研究人員還需對此實施方案開展進一步的研究和優(yōu)化,做到不斷改進。

圖4 測量與分析流程

圖5 軟件合格性測試角色劃分