劉瑞杰 楊文青
摘要:新技術(shù)背景下,軟件研發(fā)發(fā)生了巨大的變化——在傳統(tǒng)技術(shù)基礎(chǔ)上廣泛運用新技術(shù),如物聯(lián)網(wǎng)、大數(shù)據(jù)、云計算、機器學(xué)習(xí)、人工智能等,這對軟件測試提出了新的要求和挑戰(zhàn)。軟件測試周期更短、可靠性和標(biāo)準(zhǔn)化程度更高等特點日益突出,軟件測試過程不斷改進和優(yōu)化成為軟件測試的新動力。
關(guān)鍵詞:軟件測試;測試過程改進;業(yè)務(wù)驅(qū)動;BDTM;測試組織資產(chǎn)庫
中圖分類號:TP306 文獻標(biāo)識碼:A? ? ?文章編號:1007-9416(2020)10-0000-00
0引言
軟件測試的經(jīng)典定義是在規(guī)定條件下對程序進行操作,發(fā)現(xiàn)軟件存在的錯誤,衡量軟件質(zhì)量,并對其是否滿足設(shè)計要求進行評估的過程。軟件開發(fā)全生命周期的軟件項目測試,也是保障軟件開發(fā)質(zhì)量的重要技術(shù)手段,有效的促進和提升軟件的穩(wěn)定性和可靠性。此外,而隨著信息技術(shù)的快速發(fā)展,軟件研制模式和研發(fā)技術(shù)也發(fā)生了巨大變化,尤其是大數(shù)據(jù)、云計算技術(shù)的不斷成熟和應(yīng)用,以及互聯(lián)網(wǎng)+時代的來臨都給軟件測試帶來了新的挑戰(zhàn),對高效專業(yè)的軟件測試要求日益迫切。
1軟件測試的新變化
伴隨著軟件開發(fā)技術(shù)的發(fā)展,作為軟件開發(fā)整個生命周期的軟件測試發(fā)展將會出現(xiàn)新的特點:(1)軟件測試周期短,軟件研發(fā)技術(shù)的成熟以及項目的迭代開發(fā)等因素必然要求更快和更新的速度,因此軟件測試周期需要更快。(2)軟件可靠性測試要求更高。研制單位更加注重自測試,軟件質(zhì)量得到很大的提高,這勢必對軟件的可靠性更加重視,加強軟件的可靠性測試有助于提高軟件的穩(wěn)定性。(3)軟件測試將趨于標(biāo)準(zhǔn)化。各業(yè)務(wù)領(lǐng)域的軟件測試規(guī)范相繼推出,這使得軟件測試日益規(guī)范化和標(biāo)準(zhǔn)化。
軟件測試的新特點給軟件測試管理提出了新的要求,而軟件測試管理是在軟件測試的整個過程中,運用合理的管理方法和管理工具進行監(jiān)控,減低測試費用,提升測試效率。也就是說,軟件測試的內(nèi)涵是對測試人員(People)、測試過程(Processes)、測試工作產(chǎn)品(Products)的管理,即3P管理[1]。3P 管理給出了軟件測試管理的三個要素,其中測試過程是非常重要的,決定了軟件測試有效性、可靠性。
2軟件測試過程模型
2.1 W模型
由Evolutif公司提出,主要強調(diào)的是軟件測試伴隨著整個軟件開發(fā)周期,并穿于整個軟件周期,而且測試對象不僅僅是程序,需求、設(shè)計及相關(guān)的文檔同樣要測試[2]。W模型體現(xiàn)了測試與開發(fā)的同步性,以及可操作性,便于發(fā)現(xiàn)軟件問題。然而,該模型局限性也比較明顯,無法適應(yīng)軟件開發(fā)復(fù)雜多變的特點。
2.2 TPI模型
TPI(Test Process Improvement)是榮獲歐洲測試杰出獎的軟件測試大師Martin Pol和Tim Koomen提出的軟件測試過程模型,該模型目前是西方工業(yè)界和軟件公司、研究機構(gòu)普遍采用的測試過程方法,并基于TPI建立了其測試體系和測試規(guī)范;圖1所示的TPI 模型能夠檢視您組織的測試過程成熟度,幫助定義漸進的和可控的改進步驟,建立其測試體系和測試規(guī)范。這在TPI NEXT中進行了優(yōu)化,將20個域優(yōu)化為16個域。TPI模型給出的軟件測試過程持續(xù)改進過程對軟件過程改進提供了很大的指導(dǎo)。
2.3 TMMi模型
TMMi模型與CMMI相似著眼于不同成熟度級別的軟件測試,使用成熟度級別作為測試過程評估和改進的概念。將測試過程成熟度分為五個級別:初始狀態(tài)、已管理、已定義和已度量、持續(xù)改進[3]。TMMi模型是一個測試過程改進的參考模型,主要用于確定組織當(dāng)前處于該模型的哪個成熟度級別。TMMi僅僅明確了測試過程到什么程度,缺乏測試過程如何改進的相關(guān)描述。
3基于業(yè)務(wù)驅(qū)動的軟件測試過程改進研究
3.1軟件測試過程改進
TMAP(Test Management Approach)測試管理方法模型和TPI(Test Process Improvement)測試過程改進模型已經(jīng)得到廣泛的應(yīng)用,其中TMAP主要是基于業(yè)務(wù)驅(qū)動測試管理(如圖2所示),優(yōu)勢在于客戶能參與測試過程的控制;TPI是基于業(yè)務(wù)驅(qū)動測試過程提升(如圖1所示),優(yōu)勢在于更好分析當(dāng)前的測試現(xiàn)狀,從而得到測試的強項和薄弱環(huán)節(jié),有助于建立一個提高測試過程能力的明確目標(biāo)。然而對于測試組織來講,總是希望項目以最高質(zhì)量,最低成本,最短時間完成。測試過程改進的目標(biāo)就是幫助測試組織實現(xiàn)項目目標(biāo)的有效方法。
3.2基于業(yè)務(wù)驅(qū)動的軟件測試過程改進研究分析
按照TMMi的規(guī)定,通過測試過程不斷的改進和優(yōu)化可以提高測試組織的能力成熟度。同時測試組織在測試項目過程中產(chǎn)生并積累了大量的獨特的數(shù)據(jù)資源,我們稱之為測試組織過程資產(chǎn)。組織過程資產(chǎn)的累積程度是衡量一個測試項目組織能力成熟度的重要指標(biāo),也構(gòu)成了組織的核心競爭力。鑒于此,為了推進軟件測試過程改進,并針對許多軟件總是為了解決用戶的某類業(yè)務(wù)問題的特點,結(jié)合TMAP(Test Management Approach)測試管理方法模型和TPI(Test Process Improvement)測試過程改進模型,提出了基于業(yè)務(wù)驅(qū)動的軟件測試過程改進模型,如圖3所示。
圖3所示基于業(yè)務(wù)驅(qū)動的軟件測試過程改進模型,受到“業(yè)務(wù)/任務(wù)(測試目標(biāo))”或者“確認(rèn)測試業(yè)務(wù)/任務(wù)” 的驅(qū)動,軟件測試過程得以展開,軟件測試過程改進離不開組織資產(chǎn)庫。軟件測試過程通過入庫(資產(chǎn)庫)進行評估,并給出改進建議,為新的測試過程提供參考,從而形成良好的循環(huán)機制?;镜倪^程如下:
(1)業(yè)務(wù)/任務(wù)(測試目標(biāo)):由客戶(不同業(yè)務(wù)類型的客戶)發(fā)布任務(wù)/業(yè)務(wù),啟動、招投標(biāo)形式。
(2)投標(biāo):由測試組織響應(yīng)招標(biāo)的業(yè)務(wù)/任務(wù),通過組織資產(chǎn)庫獲取投標(biāo)相關(guān)的信息(測試組織資質(zhì)、業(yè)務(wù)服務(wù)范圍、人員能力、技術(shù)能力、測試設(shè)備和工具、相關(guān)經(jīng)驗?zāi)芰Φ龋?,編制?biāo)書并進行投標(biāo)。確認(rèn)測試業(yè)務(wù)/任務(wù)后,將業(yè)務(wù)基本信息按照業(yè)務(wù)類型、被測設(shè)備、軟件基本信息、合同進行入庫(組織資產(chǎn)庫)。
(3)確認(rèn)測試業(yè)務(wù)/任務(wù):由客戶評標(biāo),選擇中標(biāo)的測試組織,并簽訂合同確認(rèn)測試業(yè)務(wù)/任務(wù)。客戶也可直接指派或者委托等方式直接與測試組織確認(rèn)測試業(yè)務(wù)/任務(wù)。
(4)測試過程:由測試組織啟動,組織從組織資產(chǎn)庫中獲取相關(guān)的業(yè)務(wù)數(shù)據(jù)(業(yè)務(wù)數(shù)據(jù)包括被測設(shè)備、軟件基本信息、測試策略、測試方法、測試說明、測試記錄、問題報告、改進建議等),執(zhí)行測試計劃、測試實施、測試總結(jié)。
(5)組織資產(chǎn)庫:主要包括體系庫(管理體系:組織資質(zhì)、業(yè)務(wù)規(guī)范、操作程序、技術(shù)能力、服務(wù)范圍、人員組織、測試設(shè)備、測試工具、測試文檔模板等等)、構(gòu)件庫(按照業(yè)務(wù)類型、被測設(shè)備對各個配置項軟件測試過程文件、以及經(jīng)過評審的測試大綱和測試報告、合同等)、培訓(xùn)庫(培訓(xùn)成果、培訓(xùn)內(nèi)容、培訓(xùn)記錄等)、過程庫(經(jīng)驗教訓(xùn)、典型文檔范例、最佳實踐、過程改進建議等等)、度量庫(公共度量集、客戶滿意度度量集、成本度量集、度量報告等)。組織資產(chǎn)庫由測試組織進行管理、維護和使用。
基于業(yè)務(wù)驅(qū)動的軟件測試過程改進模型以組織資產(chǎn)庫為核心,測試組織在投標(biāo)過程中可反復(fù)使用資產(chǎn)庫中的體系庫、構(gòu)件庫、過程庫獲取相關(guān)業(yè)務(wù)信息,半自動化生成投標(biāo)文檔,大大提高了投標(biāo)文檔的編制效率。同時組織資產(chǎn)庫與測試過程形成的良性循環(huán)機制,測試過程既可以通過組織資產(chǎn)庫獲取過程改進建議,改進測試策略優(yōu)化測試過程,又可以反復(fù)利用組織資產(chǎn)庫進行測試方法復(fù)用、測試說明復(fù)用。這不僅僅有利于測試組織對測試過程的優(yōu)化,大大節(jié)省測試時間,降低測試成本,提高測試效率,也有利于提升組織的能力成熟度。
4結(jié)論
本文根據(jù)新時代軟件測試的特點和變化,對軟件測試W模型、軟件測試過程改進模型(TPI)以及測試成熟度模型集成(TMMi)進行分析,結(jié)合業(yè)務(wù)驅(qū)動測試管理(BDTM),給出了基于業(yè)務(wù)驅(qū)動的軟件測試過程改進模型,該模型由業(yè)務(wù)驅(qū)動,并以組織資產(chǎn)庫為過程改進的核心,通過當(dāng)前規(guī)范化的測試過程為依托,使得軟件測試過程更加符合項目實踐。
參考文獻
[1] 陳文萍.基于遺傳算法的軟件測試用例優(yōu)化技術(shù)研究[D].北京:北京化工大學(xué),2009.
[2] 胡瑋.軟件測試過程模型的改進與應(yīng)用[D].杭州:浙江大學(xué),2006.
[3] 馮超男,趙衛(wèi)東,張麗.基于TMM模型的軟件測試成熟度探究[J].電腦知識與技術(shù),2016(17):226-228.
收稿日期:2020-08-22
作者簡介:劉瑞杰(1982—),男,河南鄭州人,碩士研究生,工程師,研究方向:軟件測試與項目管理。
Research and Analysis of Software Testing Process Improvement Based on Business Driven
LIU Rui-jie1,YANG Wen-qing2
(1.The 32nd Research Institute of China Electronics Technology Group Corporation,Shanghai? 201800;
2.Xinzheng Engineering Quality Supervision Station,Zhengzhou? Henan? 451100)
Abstract: Under the background of new technology, great changes have taken place in software development—On the basis of traditional technologies, new technologies are widely used, such as Internet of things, big data, cloud computing, machine learning, artificial intelligence, etc., which puts forward new requirements and challenges for software testing. Software testing has new characteristics, such as shorter cycle, higher reliability and higher standardization, and the continuous improvement and optimization of software testing process has become a new driving force for software testing.
Keywords: software testing; testing process improvement; business driven, business driven testing management; test organization asset library