羅銀,賓建偉,姚日煌
(工業和信息化部電子第五研究所,廣東 廣州 510610)
目前在國內軍用軟件裝備研制領域,經過近10年的發展,已形成一套完備的軟件質量控制體系,該質量控制體系要求進一步加強軟件測評的力度和細致程度,將軟件測評的重要性上升到了一個新的高度。隨著軍用軟件測評的迅速發展,民用軟件測評領域尤其是航天、航空、金融和軌道交通等行業對軟件的可靠性和安全性要求也越來越高,對軟件測評的要求也越來越向軍用軟件測評靠近。
軟件測評是保證軟件質量的重要手段,軟件測評包括軟件測試和軟件評價兩部分[1],通過測試來發現和解決軟件問題,通過評價來說明軟件質量。但對于軟件測評而言,如何保證軟件測評本身的質量對軟件質量保證則有著至關重要的作用。建立軟件測評體系,規范軟件測評工作,如測評流程、測評配置管理等,可保證軟件測評本身的質量。
ISO/IEC 17025及GJB 2725A等標準對檢測實驗室的管理體系和技術體系做了全面要求[2],但并未針對軟件測評體系給出具體的質量要求及質量評價方法。本文以某軌道交通企業的軟件測評體系建設咨詢項目(以下簡稱 “該項目”)為基礎,根據軟件工程原理[3]及軟件測試過程改進[4]要求,提出了針對軟件測評體系的質量評價模型,研究了相應的質量評價指標體系,并給出了模型計算方法。
軟件測試伴隨著軟件的產生而產生,在早期的軟件開發過程中,軟件規模比較小、復雜程度也低,所謂的測試也基本等同于開發人員的調試。軟件測試模型與軟件測試標準的研究隨著軟件工程的發展而越來越深入,測試作為保證軟件質量的手段也朝著工程化方向發展。20世紀80年代后期,Paul Rook提出了著名的V模型,該模型反映了測試活動與軟件設計開發活動之間的關系,但它僅僅是將測試作為在編碼之后的一個階段,只是針對程序進行的尋找錯誤的活動,忽視了對需求分析、系統設計等開發階段的測試,存在一定的局限性。針對V模型的局限,Evolutif公司提出了W模型,該模型增加了軟件開發各階段中應相應開展的測試活動,強調測試與開發的同步性。
V模型和W模型強調了測試的重要性,尤其是W模型不僅僅將測試作為軟件生命周期中的某一個階段,而是將測試貫穿到了軟件生命周期的各個階段。為確保人們對軟件質量的信心,充分發揮測試的質量保證作用,需進一步建立適合的測試體系,從技術上、管理上保證測試的流程化、體系化和規范化,保證測試本身的質量,從而保證軟件的質量。因此,如何建立適合的測評體系,如何評價所建立的體系質量則顯得尤為重要,這也是本文所要研究的主要內容。
該項目的主要目標之一就是建立符合標準要求的軟件測評體系。在該項目開展前期的項目調研工作階段已有針對性地對軟件測評相關的制度、流程、人員和文檔等現狀進行了調研,相應的調研也就成為了項目后續軟件測評體系建設和規劃的重要依據。
基于此,本文提出的軟件測評體系質量評價模型及評價指標如圖1所示:

圖1 軟件測評體系質量評價模型
該模型從測評管理、測評過程、測評人員、測評文檔和測評質量保證、測評配置管理、測評環境及工具、測評標準8個方面(評價項)對測評體系的質量進行評價,并給出了管理層面的評價指標體系及評價指標(評價子項),評價指標的具體內容要求可參考相關的標準或根據實際需要來靈活定義。
值得指出的是,在實際的軟件測評體系建設咨詢項目中,除了從管理層面對建立的軟件測評體系進行評價外,還需要從應用層面通過選取若干典型的實際測評項目對測評體系的執行情況進行評價。
設n為評價項數,總權重為100,P表示計算得到的總評價分值,xi表示第i個評價項的評價子項數,wij表示第i個評價項的第j個評價子項的權重。uij表示第i個評價項的第j個評價子項是否通過,若通過,則uij=1;否則uij=0,其中i=1,2…,n,j=1,2…,xi。
則P為各評價子項的權重之和,具體的計算方式如下:

特別地,當各評價子項的權重相同時,即:


在通常情況下,應用式(1)時比較復雜,需要自行定義各評價子項的權重,而式(2)不需要單獨定義評價子項的權重,只需要根據評價子項數計算平均權重即可,其優點是簡單,不足之處在于不能根據權重來區分各評價子項的重要性。
建立通用的且符合標準要求的軟件測評體系的質量評價體系是一件比較復雜的事情,需要綜合考慮多方面的因素,比如測試管理評價、測評過程評價等,本文通過對已完成的某軌道交通企業軟件測評體系建設咨詢項目的經驗總結,同時根據軟件工程原理要求,提出了一個形式上相對通用的軟件測評體系質量評價模型,研究了質量評價指標體系,并給出了模型的形式化計算方法。
[1]鐘德明,王成志.軟件測試與評價的關系研究 [J].測控技術,2009,28(4): 77-82.
[2]GJB 2725A-2001,測試實驗室和校準實驗室通用要求[S].
[3]陳世鴻,朱福喜,黃水松,等.軟件工程原理及應用[M].武漢:武漢大學出版社,2006.
[4]KIT E,軟件測試過程改進 [M].北京:機械工業出版社,2003.