吳潔
摘要:介紹了敏捷測試和TMMi(測試成熟度模型集成)的特點(diǎn),并將敏捷測試的理念和TMMi測試過程的改進(jìn)和優(yōu)化相結(jié)合,提出了敏捷測試TMMi框架參考。重點(diǎn)討論框架下各級成熟度過程域以及過程域?qū)嵺`的適用性。
關(guān)鍵詞:敏捷;TMMi;過程域
中圖分類號:TP311.53 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)05-0080-02
1 引言
在軟件規(guī)模和軟件復(fù)雜度的日益提升的今天,如何實(shí)現(xiàn)軟件高質(zhì)量的快速交付成為軟件測試行業(yè)亟待解決的問題。隨著敏捷開發(fā)理念的盛行,軟件產(chǎn)品生命周期呈現(xiàn)出高度迭代并且需要持續(xù)響應(yīng)客戶頻繁反饋的特點(diǎn),相應(yīng)的敏捷測試應(yīng)用日趨廣泛。敏捷組織希望通過改進(jìn)測試過程實(shí)現(xiàn)測試能力的提升和產(chǎn)品質(zhì)量的提高,同時也保留敏捷測試自身的優(yōu)點(diǎn)。
2 敏捷測試與TMMi
2001年17位軟件開發(fā)領(lǐng)域的領(lǐng)軍人物經(jīng)過討論提出了一套全新的軟件開發(fā)價(jià)值觀,并通過一份簡明扼要的《敏捷宣言》向世界傳遞了敏捷開發(fā)的理念。敏捷是一種思想貫穿于整個軟件生命周期包括測試階段。敏捷測試應(yīng)能不斷修正質(zhì)量指標(biāo),正確建立測試策略,確認(rèn)客戶的有效需求能得以圓滿實(shí)現(xiàn)和確保整個生產(chǎn)的過程安全的、及時的發(fā)布最終產(chǎn)品。在獨(dú)立完成各項(xiàng)測試計(jì)劃、測試執(zhí)行工作的同時,敏捷測試人員需要參與幾乎所有的團(tuán)隊(duì)討論,團(tuán)隊(duì)決策。通常情況下敏捷測試人員比較關(guān)注單元測試、測試自動化以及探索性測試等。由于與敏捷測試相關(guān)的組織通常只從項(xiàng)目角度根據(jù)需求去改進(jìn),很少關(guān)注項(xiàng)目外或測試本身,這會導(dǎo)致一些測試基本問題不能完全解決。比如由于項(xiàng)目資源不足,性能問題和可靠性問題通常會被一再推遲版本解決甚至無限期推遲解決。這種囿于項(xiàng)目的思維也會導(dǎo)致測試過程改進(jìn)不能達(dá)到最大程度的優(yōu)化,缺乏全面性。
TMMi(測試成熟度模型集成)作為CMMI的補(bǔ)充模型,已成為全球范圍內(nèi)軟件測試過程的改進(jìn)標(biāo)準(zhǔn)。TMMi采用類似CMMI的階段模型,設(shè)計(jì)了5個成熟度級別,分別是1級初始、2級已管理、3級已定義、4級已測量、5級優(yōu)化,幫助組織的測試過程從一個無序混亂的狀態(tài)逐步演變?yōu)榭晒芾怼⒖啥x、可測量、可優(yōu)化的狀態(tài)[1]。除了1級外每個級別都有一組過程域。為了達(dá)到特定的成熟度級別,一個組織必須滿足該成熟度級別及低成熟度級別的過程域的所有適用目標(biāo)。實(shí)踐表明,TMMi的框架開發(fā)者提取實(shí)際可行的基準(zhǔn)來評估和改進(jìn)測試,可以建立一個更有效和高效的測試過程。
3 敏捷測試TMMi框架研究
隨著敏捷團(tuán)隊(duì)不斷成長,項(xiàng)目壓力逐漸增大,為了改進(jìn)和優(yōu)化測試過程,提升測試能力,考慮引入TMMi保證關(guān)鍵的測試實(shí)踐被施行。在敏捷測試環(huán)境下使用TMMi模型來改進(jìn)測試過程并不是強(qiáng)制要求測試組織必須完成一系列測試實(shí)踐,也不是為了證明測試組織的測試活動和標(biāo)準(zhǔn)的一致性。測試組織應(yīng)開發(fā)敏捷測試TMMi框架,在參考傳統(tǒng)模型的基礎(chǔ)上,定義符合敏捷測試實(shí)際特點(diǎn)的過程域,進(jìn)行評估和改進(jìn)測試活動[3]。
3.1 敏捷測試TMMi框架分級結(jié)構(gòu)
敏捷測試TMMi框架下的分級結(jié)構(gòu)和傳統(tǒng)的TMMi模型是基本一致的。每個過程域確定了一系列測試相關(guān)的活動,當(dāng)過程域下的實(shí)踐全部得以執(zhí)行后,該過程域相關(guān)的活動將極大的改進(jìn)。1級初始不包含任何過程域。2級和3級成熟度級別下的過程域需要具體分析,并非所有過程域的目標(biāo)的實(shí)踐都是適用的,這將在下面的章節(jié)詳細(xì)分析。4級和5級成熟度級別中,已定義過程域的目標(biāo)的實(shí)踐對于敏捷測試來說都是適用的。
3.2 敏捷測試TMMi框架下的2級成熟度過程域分析
在敏捷環(huán)境下2級成熟度過程域的大部分實(shí)踐都是適用的,但敏捷組織完成實(shí)踐的方式是靈活多樣的,比如測試計(jì)劃采用思維導(dǎo)圖而非傳統(tǒng)的文檔。還有部分實(shí)踐不適用于敏捷測試,如表1所示。
在排除不適用的過程域?qū)嵺`后,敏捷測試TMMi框架下的2級成熟度過程域及實(shí)踐如圖1所示。
3.3 敏捷測試TMMi框架下的3級成熟度過程域分析
在TMMi3級中,測試應(yīng)集成到軟件開發(fā)生命周期中,而不再局限于編碼之后的一個階段,這與敏捷測試的思想有共通之處。測試組織、測試培訓(xùn)方案、測試生命周期與集成以及同行評審中的實(shí)踐基本適用于敏捷測試。由于非功能測試對測試者的能力,領(lǐng)域知識,測試技術(shù)等要求較高,迫于項(xiàng)目壓力,這往往是敏捷測試的薄弱環(huán)節(jié)。TMMi下非功能測試過程域?qū)嵺`包括:執(zhí)行非功能產(chǎn)品風(fēng)險(xiǎn)評估,建立非功能測試途徑,制定非功能測試分析與設(shè)計(jì),執(zhí)行非功能測試實(shí)施,執(zhí)行非功能測試。與2級成熟度中的定義入口準(zhǔn)則、中止和恢復(fù)準(zhǔn)則相同,建立非功能測試途徑下的定義非功能退出準(zhǔn)則對敏捷測試來說是不適用的。圖2展示了敏捷測試TMMi框架下3級成熟度過程域及實(shí)踐。
4 結(jié)語
應(yīng)用敏捷測試TMMi框架進(jìn)行評估和改進(jìn)敏捷測試過程還需要從組織層面考慮,與項(xiàng)目緊密結(jié)合,關(guān)注測試流程本身甚于測試文檔,不局限于模型規(guī)定的實(shí)踐也不囿于項(xiàng)目,最終達(dá)到過程改進(jìn)的目標(biāo)。
參考文獻(xiàn)
[1]張靖,趙羽中,賁可榮.測試成熟度模型及其評估算法[J].艦船電子工程,2007,27(1):81-83.
[2]Burnste in,T.Suwanassart, C. R. Carlson, Developing A Testing Maturity Model[J]. Part II, CrossTalk, Journal of Defense Software Engineering,1996,9(9):19-26.
[3]郭小群,侯紅,魚濱.TMM在軟件質(zhì)量保證中的作用[J].西北大學(xué)學(xué)報(bào),2004,34(1):19-22.
[4]吳峰,賁可榮.系統(tǒng)安全測試能力成熟度模型框架研究[J].計(jì)算機(jī)與數(shù)字工程,2011,2:128-132.