摘 要:本文基于CMMI的軟件測試過程度量分析進行了詳細探討,為確保軟件測試過程的精確性和有效性提供了重要保障。
關(guān)鍵詞:CMMI;軟件測試過程;度量分析
中圖分類號:TP311.52
近幾年來,隨著我國信息技術(shù)的迅猛發(fā)展,軟件行業(yè)得到大幅度提高,使得軟件項目的功能等復雜度在逐步壯大,與此同時,軟件的成本和質(zhì)量也很難得到控制。那么,如何提高軟件產(chǎn)品的質(zhì)量成為當前軟件行業(yè)普遍關(guān)注的問題。而軟件度量分析是改進軟件過程中的關(guān)鍵所在,最終為軟件過程提供量化測試結(jié)果。因此,基于CMMI的軟件測試過程度量分析的研究,對提高軟件產(chǎn)品的質(zhì)量具有重要的實際意義。
1 CMMI軟件測試和度量之間的關(guān)系
1.1 CMMI和軟件測試
CMMI的提出的目的是為了提高軟件產(chǎn)品的質(zhì)量,有利于改進軟件過程,可以說,CMMI是一個廣泛使用的過程改進模型。由于在軟件過程中,軟件測試是其中關(guān)鍵性內(nèi)容,基于CMMI的軟件測試能夠為軟件過程的改進提供重要的指導性方針。尤其在CMMI連續(xù)表示中,軟件測試和驗證域和過程域緊密相連,對改進軟件測試過程提供了重要支持。其中,常見的過程域有風險分析過程、量化項目管理過程等。
1.2 CMMI和度量
CMMI為軟件開發(fā)提供了重要度量和分析過程域,有效提高了管理信息所需要的度量能力。通常情況下,度量能夠提取軟件過程或產(chǎn)品的表征數(shù)據(jù),而分析則主要對數(shù)據(jù)進行分析,一旦發(fā)現(xiàn)不一致及其他問題,為及時采取措施進行處理,促使軟件企業(yè)免受損失。度量分析執(zhí)行流程如圖1所示。從中可以發(fā)現(xiàn),CMMI的度量分析流程主要由計劃、收集和分析這三部分構(gòu)成。對于計劃過程來說,它主要是確定并細化度量目標。對于收集過程來說,它主要是采集并存儲數(shù)據(jù),進而實現(xiàn)對數(shù)據(jù)的收集和檢查過程。而分析過程主要是按照相應分析原則對數(shù)據(jù)進行分析和存儲,甚至還能夠報告結(jié)果的過程。所以,CMMI的度量分析過程比較嚴格,但具有明確的目標,流程十分清楚,實現(xiàn)對軟件測試過程的指導和度量活動。
圖1 度量和分析執(zhí)行流程
2 軟件測試過程模型
2.1 軟件測試階段劃分
在軟件投入運行之前需要對軟件進行測試,軟件測試目的就是確認軟件需求和設(shè)計說明以及編碼的是否合理。因此,軟件測試直接影響著軟件的生存周期。通常情況下,軟件程序中的故障不一定由代碼錯誤引起,還可以能是詳細設(shè)計過程、需求分析階段等出現(xiàn)問題造成,總之,軟件問題可以存在于軟件開發(fā)的整個環(huán)節(jié)?;诖?,這就要求軟件測試貫穿于軟件定義和開發(fā)的整個階段,其中包括單元測試、集成測試、確認測試等各個階段。對于單元測試來說,它是軟件開發(fā)過程中最低級別的測試活動,和傳統(tǒng)的C語言相比,其單元測試的對象一般是函數(shù)。但在類似C++語言中,其單元測試的對象還可以能是類或類的成員函數(shù)。對于集成測試而言,當每個模塊能夠單獨工作之后,將這些模塊組裝在一起,同時還要驗證其是否正常,一旦出現(xiàn)問題,將會給影響功能的發(fā)揮。當每個模塊進行單元測試完畢之后,則需要按照相應的設(shè)計結(jié)構(gòu)程序圖進行組裝,為集成測試提供重要依據(jù)。當各個單元測試中的各個模塊組合在一起之后,利用集成測試就可以對接口相關(guān)的不同故障進行檢測。對于確認測試來說,當在完成集成測試之后,可以連接分散開發(fā)的模塊,從而構(gòu)成一個完整的程序,待各個模塊之間的故障消除之后,就可以直接進行確認測試。在確認測試過程中,主要按照軟件需求說明書作為主要依據(jù),評估軟件產(chǎn)品的質(zhì)量等,從而滿足軟件需求過程,并及時對軟件功能、接口等方面做出嚴格評價。
2.2 基于CMMI的軟件測試過程模型
基于CMMI的軟件測試過程需要遵循多個原則,第一,軟件測試應貫穿于整個軟件生命周期中;第二,軟件測試需要具有嚴格的過程定義,同時還要嚴格按照相應的規(guī)范進行輸入、輸出和過程本身,且每一個測試階段都有多種任務;第三,軟件測試過程中擁有不同的測試對象,為不同開發(fā)階段提供不同類型的測試;第四,軟件測試應及時進行,一旦滿足測試環(huán)境就可以實行軟件測試過程;第五,軟件測試除了和軟件開發(fā)周期息息相關(guān),還和風險管理以及成本管理等有著直接聯(lián)系。第六,軟件測試活動應將確認和驗證作為重點。軟件測試過程模型左邊從需求分析開始直至軟件運行和維護都需要測試,進而將測試需求遞交至右邊的軟件測試基本流程中。在這個過程中,測試計劃、測試設(shè)計等每個階段都有一系列的任務,而這些任務均和整個測試流程有著密切聯(lián)系,比如,在測試計劃中,它主要以測試需求為依據(jù),計劃測試包括單元測試和集成測試等。
3 度量元的選取和細化
3.1 度量元的選取模型
基于CMMI軟件測試過程為軟件開發(fā)提供更多的實踐指導,因此,根據(jù)CMMI的要求和原則,引入度量分析是十分必要的。而利用GOM方法能夠有效確保度量元選取以及細化的有效性。由于GOM有效利用了目標驅(qū)動,使得軟件開發(fā)具有較高的效率。也就是說在利用GOM方法時,要先對一組目標進行確定,然后針對各個目標提出極有可能出現(xiàn)的問題,這便是對目標的定義,待定義完目標之后,應針對每一個問題設(shè)計出相應的測量方法,這樣就可以用這一組的測量方法所得出的度量元解決這一問題。在這個過程中,利用GOM方法最主要的是確保問題轉(zhuǎn)化的完整性和匹配性。
3.2 度量元的選取原則
度量元的選取原則具有多種,其中有過程域裁剪原則、實踐剪裁性原則、文檔剪裁性原則等,對于過程域裁剪原則來說,每個STPA均有幾個相關(guān)過程域,如果幾個STPA同時擁有一個確定的過程域,那么就應該實行保留并合并下來,如果涉及軟件測試關(guān)系性不強,那么則可以完全刪除,如此一來就可以確保軟件測試實踐的有效性和完整性。對于實踐剪裁來說,基于CMMI的整個軟件過程改進中,需要對整個軟件過程的實踐性進行及時關(guān)注,尤其是置換軟件測試過程。通常情況下,如何和軟件測試無關(guān)的某些實踐,都可以直接剪裁掉。如果針對某些零散的實踐,如果表示的同一目標,那么可以直接進行合并。對于文檔剪裁性原則來說。通常情況下,每個STPA均擁有大量且繁瑣的文檔,這給管理和維護帶來一定困難。針對此,應保留和測試輸入或輸出相關(guān)的文檔資料,為整個度量分析提供重要依據(jù)。
4 結(jié)束語
綜上所述,基于CMMI的軟件測試過程度量分析是軟件行業(yè)中重點內(nèi)容,尤其是近幾年來,我國軟件行業(yè)得到大幅度發(fā)展,使得軟件成本和質(zhì)量出現(xiàn)失控的狀態(tài),針對此,基于CMMI的軟件測試過程度量分析有效改善了這一問題。因此,文中基于CMMI的軟件測試過程度量分析進行探討,不僅為度量分析的應用起到了良好的指導作用,還具有一定輔助作用。相信,在未來,CMMI的軟件測試過程度量分析將會更加完善,進一步推動軟件行業(yè)的穩(wěn)健發(fā)展。
參考文獻:
[1]張少崗.基于CMMI的軟件過程度量研究與應用[D].鄭州大學,2010:5-10.
[2]方炯華.基于CMMI的軟件度量模型研究與應用[D].廈門大學,2011:26-28.
[3]萬邦睿,丁曉明.基于CMMI的軟件測試過程度量研究[D].計算機工程與設(shè)計,2007(11):2530-2546.
作者簡介:包瑋?。?984-),男,蒙古族,遼寧大連人,講師,碩士,研究方向:軟件工程。
作者單位:重慶航天職業(yè)技術(shù)學院,重慶 400021