蔡蕾+王佳+盧沖
【摘 要】介紹了測試過程改進的目的,陳述了基于模型的、基于分析的、混合型和其他測試過程改進方法及其特點,并以核電廠DCS工程為應(yīng)用背景,在IDEAL框架下描述了測試過程改進過程,包括啟動改進過程、診斷當(dāng)前過程、創(chuàng)建過程改進計劃、過程改進實施活動和從改進過程中學(xué)習(xí)的過程。
【關(guān)鍵詞】測試過程;測試過程改進;過程改進;核電廠;DCS
中圖分類號: TP311.52 文獻標(biāo)識碼: A 文章編號: 2095-2457(2017)32-0090-002
【Abstract】This paper introduces the purpose of testing process improvement, describes the methods and features of model-based, analytical, hybrid and other approach. And taking the nuclear power plant DCS project as the application background, describes the testing process improvement process, including initiating the improvement process, diagnosing the current process, establishing a process improvement plan, implementing the process improvement activities, and learning from the process using the IDEAL process improvement framework.
【Key words】Testing process; Test process improvement; Process improvement; Nuclear power plant; DCS
0 引言
測試是軟件系統(tǒng)開發(fā)過程中的一部分,通過全面、科學(xué)且有效的測試,能夠幫助我們發(fā)現(xiàn)軟件系統(tǒng)的缺陷,在缺陷解決的過程中提高軟件系統(tǒng)的質(zhì)量,包括軟件系統(tǒng)的功能性、可靠性、可用性、有效性等。同時,較完善的測試過程實施能夠降低整個軟件系統(tǒng)工程的風(fēng)險,節(jié)約時間和成本,幫助我們樹立對于軟件質(zhì)量的信心。
特別是在核電廠DCS工程領(lǐng)域,由于其軟件系統(tǒng)規(guī)模龐大、結(jié)構(gòu)復(fù)雜、安全性要求高以及工期長等特點,其測試過程面臨著相當(dāng)大的挑戰(zhàn)。而如何改進、完善測試過程,更是核電廠DCS工程實施組織努力的目標(biāo)。
1 測試過程改進方法
一般的過程改進方法有持續(xù)改進的戴明環(huán)框架,即包含計劃、實施、檢查和行動四個步驟的PDCA循環(huán),以及IDEAL()改進框架,即包含啟動、診斷、創(chuàng)建、實施和學(xué)習(xí)五個階段得到過程改進框架。測試過程改進方法,也都是以一般的過程改進方法為基本思想,主要有基于模型的改進方法、基于分析的改進方法、混合型改進方法及其他改進方法,如圖1所示。
1.1 基于模型的改進方法
基于模型的改進方法包括基于過程模型和基于內(nèi)容模型兩類。
測試過程改進常用的過程模型有TPI?誖Next模型和TMMi(測試成熟度模型集成)模型。TPI?誖Next模型是連續(xù)式模型,覆蓋了測試過的16個關(guān)鍵過程域,采用矩陣式結(jié)構(gòu)呈現(xiàn)測試過程成熟度級別,適用于規(guī)模不大的軟件團隊。TMMi模型則是階段式模型,作為CMMi(能力成熟度模型集成)的互補模型,采用累增式結(jié)構(gòu)將測試過程成熟度分為初始、已管理、已定義、已測量和優(yōu)化5個級別,對每個過程域都有詳細(xì)的要求,適用于有一定規(guī)模的軟件團隊。
測試過程改進常用的內(nèi)容模型有STEP(系統(tǒng)化測試和評估過程)模型和CTP(關(guān)鍵測試過程)模型。與基于過程模型的方法不同,基于內(nèi)容模型的方法是靈活且有針對性的,可以針對組織或業(yè)務(wù)的需要確定關(guān)注的測試過程特性和改進的優(yōu)先級,而不用像基于過程模型的方法要按部就班的按照規(guī)范要求的優(yōu)先順序進行。CTP模型是可以從識別的12個關(guān)鍵測試過程中,識別和確定要改進的過程,并按具體組織或業(yè)務(wù)的優(yōu)先級進行排序,通過評估一系列度量元的測量及定性因素的評估,提出改進的建議。STEP模型則定義了3個要評估的測試主要階段,根據(jù)組織或業(yè)務(wù)的特點,進行定量和定性度量元的評估,然后提出改進建議。與CTP不同的是,STEP在使用時提出了一系列較為嚴(yán)格的測試過程假設(shè),不適用于那些沒有滿足或不認(rèn)可這些假設(shè)的組織。
1.2 基于分析的改進方法
基于分析的改進方法,一般是基于具體問題和目標(biāo)的,確定相應(yīng)的度量項,通過對測量得到的數(shù)據(jù)進行分析確定待改進項,以及采取的改進,然后通過對改進實施后測量的度量項數(shù)據(jù)評估改進的效果。GQM(目標(biāo)-問題-度量)方法是基于分析的改進方法,涉及了概念、操作和量化三個層次,在概念層面確定組織的與產(chǎn)品質(zhì)量、過程和資源有關(guān)的目標(biāo),在操作層面確定組織層的那些目標(biāo)在實現(xiàn)過程中的問題,然后是在量化層面將那些問題轉(zhuǎn)化為定量的或定性的度量項。常用的度量項有測試有效性度量、測試效率和成本度量,交付周期度量、可預(yù)測性指標(biāo)、產(chǎn)品質(zhì)量度量、測試成熟度度量幾大類,可根據(jù)實際情況選取使用?;诜治龅母倪M方法不適用那些不能有效測量或采集相關(guān)度量項數(shù)據(jù)的組織。
1.3 混合型改進方法
混合型改進方法,是指將多種較為成熟的基于模型或基于分析的方法結(jié)合的方法,可以突出各種方法的優(yōu)點,是改進過程更加有效。如TMMi模型方法結(jié)合GQM分析方法,突出階段過程的規(guī)范性,又有通過度量項增加過程改進的客觀性,或?qū)PI-Next模型方法與STEP模型方法相結(jié)合等。endprint
1.4 其他改進方法
如果組織或工程不想在改進測試過程上花費較多的成本,也可以從前面提到的方法中單獨選取要改進的方面開展改進工作,如通過提高人員技能,使用工具來實現(xiàn)改進。人員技能的提高,可以從測試和軟件工程知識、業(yè)務(wù)領(lǐng)域知識以及溝通報告等軟技能提升。工具的使用,諸如測試管理工具、靜態(tài)測試工具、測試執(zhí)行和記錄工具、性能和監(jiān)測工具等,都能幫助測試過程的改進,但合適工具的選擇、以及組織內(nèi)現(xiàn)有過程與工具使用過程的契合度,都會影響改進的效果。
2 測試過程改進在核電廠DCS工程中的應(yīng)用
以下將以IDEAL框架為基礎(chǔ),詳細(xì)策劃核電廠DCS工程的測試過程改進。
2.1 啟動測試改進過程
啟動測試過程改進,要確定核電廠DCS工程測試過程改進的需求,設(shè)置改進的目標(biāo)和范圍,并關(guān)注啟動過程中工程實施組織的人員和文化的影響。改進的需求主要以調(diào)查的方式獲得,如從業(yè)主和買方的角度,希望測試能夠更加有效,確保DCS系統(tǒng)滿足功能、性能要求的同時易用且易于維護;從測試人員的角度,希望建立更加系統(tǒng)的測試。以改進的需求為基礎(chǔ),考慮與工程質(zhì)量、成本、時間和合同目標(biāo)相結(jié)合,設(shè)置如提高產(chǎn)品質(zhì)量,降低測試成本、縮短測試工期、減少測試工作量等與組織改進目標(biāo)一致的具體的改進目標(biāo)。確定改進的范圍,如在工程實施團隊所在的組織中開展,或者在工程實施團隊中開展,本文選擇只在工程的測試團隊中開展??紤]團隊成員的知識、文化和對改進的接受程度,選用不同的改進方式。
2.2 診斷當(dāng)前測試過程
通過正式評審的方式評估和診斷當(dāng)前測試過程。首先制定評估計劃,策劃和安排評估活動,然后對組織的測試相關(guān)的程序文件、作業(yè)指導(dǎo)書,以及工程的測試計劃、測試說明書等文檔進行初步分析,對已進行的測試過程進行調(diào)查,與團隊測試人員面談,確保獲得真實的測試過程狀態(tài)信息。之后對獲取的信息進行分析,在評估報告中總結(jié)出待改進和存在問題的方面,并列出改進建議,如異常管理流程的優(yōu)化、測試用例模板的改進、測試自動化框架的開發(fā)等。
2.3 創(chuàng)建測試過程改進計劃
創(chuàng)建測試過程改進計劃,包括明確改進的目標(biāo),明確評估改進的度量項指標(biāo),確定改進活動的優(yōu)先級,選擇適用的過程改進方案,成立實施改進的團隊,執(zhí)行改進任務(wù)。對于一個DCS工程的測試過程改進,建議使用自底向上的方案,易于開展,在資金有限的情況下也能夠較快的反應(yīng)成本收益比。
2.4 測試過程改進實施活動
對測試過程改進任務(wù)的實施要格外謹(jǐn)慎,既要遵循核電行業(yè)法律法規(guī)和標(biāo)準(zhǔn),也要滿足團隊所在組織的質(zhì)量大綱和程序文件,以及工程專用作業(yè)文件的要求。對改進的活動要實時跟進,記錄度量項所需的數(shù)據(jù),并評價改進的效果。如果發(fā)現(xiàn)偏離了改進目標(biāo),則要及時采取糾正措施。必要時可以進行改進試驗,以降低改進失敗的風(fēng)險,減少不必要的損失,還能夠積累有用的經(jīng)驗。
2.5 從測試過程改進中學(xué)習(xí)
從測試過程改進中學(xué)習(xí),不僅是在測試過程改進期間,也包括改進活動結(jié)束后,要對改進的效果進行分析和與改進前進行對比評價,特別是從改進成功的活動中吸取經(jīng)驗,從改進失敗的活動中總結(jié)教訓(xùn)。
3 結(jié)束語
測試過程的改進是一個持續(xù)的過程,核電廠DCS工程也不例外。在核電廠DCS工程領(lǐng)域的應(yīng)用測試過程改進,能夠不斷地提高核電廠DCS工程測試過程的有效性、提高工程產(chǎn)品質(zhì)量、提高測試效率以減少測試時間、節(jié)省測試成本,讓業(yè)主對工程產(chǎn)品滿意放心,這也是其他領(lǐng)域測試過程改進的主要目標(biāo)。
【參考文獻】
[1]GB/T16260-2006《軟件工程 產(chǎn)品質(zhì)量 第1部分:質(zhì)量模型》.
[2]Bob McFeeley/Software Engineering Institute (SEI),“IDEAL: A Users Guide for Software Process Improvement”,1996,CMU/SEI-96-HB-001.
[3]Sogeti,“TPI Next-Business Driven Test Process Improvement”,UTN Publishing,2009,ISBN 90-72194-97-7 [1]Craig, Rick David;Jaskiel,Stefan P.,“Systematic Software Testing”,Artech House,2002,ISBN:1-580-53508-9.
[4]Rex Black,“Critical Testing Processes”,Addison-Wesley, 2003,ISBN:0-201-74868-1.
[5]Trienekens and Veenendaal,“Software Quality from a Business Perspective”, Kluwer,1997.
[6]TMMi基金會的網(wǎng)站, www.TMMifoundation.org.
[7]國際軟件測試認(rèn)證委員會網(wǎng)站, http://www.istqb.org.endprint