姜文 劉立康



[摘 ? ?要] 隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,軟件廣泛應(yīng)用到各個(gè)領(lǐng)域。軟件應(yīng)用規(guī)模越來越大,應(yīng)用形式越來越復(fù)雜,軟件質(zhì)量要求越來越高,軟件測試越來越重要。軟件測試工作可以分為兩類:測試設(shè)計(jì)和測試執(zhí)行。為了規(guī)范管理測試組日常工作,軟件測試組采用跨部門的矩陣流程圖管理日常的測試工作。結(jié)合工作實(shí)踐分別給出軟件測試設(shè)計(jì)工作流程圖和軟件測試執(zhí)行工作流程圖,通過工作任務(wù)表詳細(xì)敘述了流程節(jié)點(diǎn)的工作任務(wù),敘述了軟件測試的風(fēng)險(xiǎn)分析與控制。工作實(shí)踐表明,采用規(guī)范的流程管理,可以提高測試組的工作效率,有助于改進(jìn)測試工作的風(fēng)險(xiǎn)控制,提高軟件產(chǎn)品質(zhì)量。
[關(guān)鍵詞] 軟件測試;工作流程;流程節(jié)點(diǎn);工作任務(wù)表;風(fēng)險(xiǎn)分析與控制
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 19. 062
[中圖分類號(hào)] F273;TP311.5 ? ?[文獻(xiàn)標(biāo)識(shí)碼] ?A ? ? ?[文章編號(hào)] ?1673 - 0194(2019)19- 0142- 05
0 ? ? ?引 ? ?言
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,軟件越來越普遍應(yīng)用到各個(gè)領(lǐng)域和各個(gè)方面。如今軟件已經(jīng)滲透到人們的日常生活中,從辦公設(shè)備到家用電器,從通信工具到航空航天事業(yè),軟件無處不在。軟件是信息化的核心,現(xiàn)代國民經(jīng)濟(jì)、國防建設(shè)、社會(huì)發(fā)展及人民生活都離不開軟件。軟件產(chǎn)業(yè)是增長最快的朝陽產(chǎn)業(yè),是高投入、高產(chǎn)出、無污染、低能耗的綠產(chǎn)業(yè)。軟件產(chǎn)業(yè)關(guān)系到國家經(jīng)濟(jì)和文化安全,體現(xiàn)了國家綜合實(shí)力,是決定未來國際競爭地位的戰(zhàn)略性產(chǎn)業(yè)。目前軟件應(yīng)用規(guī)模越來越大,應(yīng)用形式越來越復(fù)雜,軟件質(zhì)量要求越來越高,軟件測試越來越重要。
當(dāng)前及今后,“軟件定義一切”充分說明了軟件的重要性。軟件作為產(chǎn)品及產(chǎn)品中的核心,其質(zhì)量可以認(rèn)為是產(chǎn)品的生命。在國家大力推行信息化與工業(yè)化融合之際,信息軟件與工業(yè)軟件的質(zhì)量決定了“兩化融合”的成敗。軟件質(zhì)量保證的最重要手段之一就是軟件測試。
在大型軟件項(xiàng)目的開發(fā)過程中,開發(fā)工作可以分為兩類:軟件開發(fā)和軟件測試,二者之間的關(guān)系如同一枚硬幣的正反兩面。本項(xiàng)目組從事通信網(wǎng)云化軟件的開發(fā),該軟件以后要用于5G通信的核心網(wǎng)。軟件開發(fā)需要掌握通信網(wǎng)技術(shù),熟悉許多通信協(xié)議,具有一定的難度和復(fù)雜度。為了規(guī)范在研項(xiàng)目測試組日常工作流程管理,軟件測試組采用跨部門的矩陣流程圖管理日常的測試工作流程。這樣有助于提高測試組的工作效率,提高測試組測試工程師(TE)的業(yè)務(wù)水平,提高軟件產(chǎn)品質(zhì)量。
1 ? ? ?軟件項(xiàng)目組組織形式
項(xiàng)目組通常分為軟件開發(fā)組和軟件測試組。軟件開發(fā)組主要負(fù)責(zé)軟件產(chǎn)品的設(shè)計(jì)與編碼,軟件測試組主要負(fù)責(zé)軟件檢錯(cuò)和軟件版本的驗(yàn)證與確認(rèn)。軟件產(chǎn)品實(shí)際上是軟件產(chǎn)品的某個(gè)版本,沒有經(jīng)過驗(yàn)證與確認(rèn)是不能交付應(yīng)用。
1.1 ? 軟件開發(fā)組
從技術(shù)上來講,軟件開發(fā)組由系統(tǒng)工程師(SE)和軟件開發(fā)工程師(SWE)組成,SE主要負(fù)責(zé)軟件設(shè)計(jì),SWE主要負(fù)責(zé)編程。
1.1.1 ? 軟件系統(tǒng)工程師(SE)
SE根據(jù)客戶提出的需求文檔給出可行的設(shè)計(jì)方案;完成軟件需求設(shè)計(jì)、架構(gòu)設(shè)計(jì)和詳細(xì)設(shè)計(jì);將設(shè)計(jì)場景文檔轉(zhuǎn)換為開發(fā)場景文檔,提供給SWE進(jìn)行軟件編碼。在軟件開發(fā)過程中,SE和SWE共同處理遇到的各種問題。
1.1.2 ? 軟件開發(fā)工程師(SWE)
SWE根據(jù)SE給出的軟件產(chǎn)品設(shè)計(jì)場景文檔編寫代碼;源代碼調(diào)試、自驗(yàn)之后,將源代碼合入版本庫;處理持續(xù)集成工程師(CIE)和測試工程師提交的問題單,定位問題產(chǎn)生的原因,修改代碼,重新將代碼合入版本庫。
1.2 ? 軟件測試組
軟件測試組的工作可以分為兩類:測試設(shè)計(jì)和測試執(zhí)行。從技術(shù)上來講,軟件測試組主要由軟件測試架構(gòu)師(TSE)和軟件測試工程師(TE)組成,TSE主要負(fù)責(zé)軟件測試設(shè)計(jì),TE主要負(fù)責(zé)軟件測試執(zhí)行。有的單位可能沒有測試架構(gòu)師,測試設(shè)計(jì)工作通常由測試組長或測試經(jīng)理負(fù)責(zé)。
1.2.1 ? 軟件測試架構(gòu)師(TSE)
TSE根據(jù)需求規(guī)格文檔和SE給出設(shè)計(jì)場景文檔,編寫軟件產(chǎn)品測試策略;細(xì)化與分析軟件測試點(diǎn),編寫軟件測試用例。將測試用例分配給TE進(jìn)行自動(dòng)化測試腳本編寫。與TE共同處理軟件測試過程中遇到的各種問題。
1.2.2 ? 軟件測試工程師(TE)
TE根據(jù)設(shè)計(jì)場景文檔、測試策略和測試用例編寫自動(dòng)化測試腳本。搭建測試環(huán)境,安裝軟件版本包,執(zhí)行軟件測試。對已發(fā)現(xiàn)到的軟件缺陷,提交問題單,進(jìn)行問題單跟蹤,SWE修改源碼解決軟件缺陷之后,TE需要執(zhí)行問題單回歸測試,直到問題單處理完畢。
2 ? ? ?測試組工作流程管理
軟件測試組的工作與軟件開發(fā)組的工作相互交織、密切相關(guān),往往顯得雜亂無章。制度管人,流程管事。建立合理和實(shí)用的測試工作流程,才能提高工作效率和減少測試風(fēng)險(xiǎn)。軟件測試工作可以分為兩類:測試設(shè)計(jì)和測試執(zhí)行。本文分別給出軟件測試設(shè)計(jì)工作流程和軟件測試執(zhí)行工作流程。
2.1 ? 測試組工作流程管理的特點(diǎn)
許多圖書和文獻(xiàn)都介紹軟件測試工作流程,基本上都是流水式的工作流程,有助于了解軟件測試的工作原理,通常不適合直接用于測試組工作管理。本文通過跨部門的矩陣流程圖和流程節(jié)點(diǎn)的工作任務(wù)表來實(shí)現(xiàn)測試工作流程管理。測試組工作流程管理有以下特點(diǎn):
(1)測試組的工作與開發(fā)組的工作密切相關(guān),需要采用跨部門的矩陣流程圖才能完整描述測試工作流程。
(2)矩陣流程圖的節(jié)點(diǎn)表示工作進(jìn)程,通過矩陣流程圖的節(jié)點(diǎn)可以確定誰(Who)來完成該節(jié)點(diǎn)的工作,完成什么(What)工作任務(wù)。
(3)流程節(jié)點(diǎn)的工作任務(wù)表確定了每個(gè)階段的工作內(nèi)容,輸入/輸出文檔。
(4)有助于對測試工作進(jìn)行風(fēng)險(xiǎn)分析和控制。
2.2 ? 軟件測試設(shè)計(jì)工作流程
2.2.1 ? 軟件測試設(shè)計(jì)工作流程圖
軟件測試設(shè)計(jì)工作流程圖如圖1所示。
2.2.3 ? 測試設(shè)計(jì)風(fēng)險(xiǎn)分析與控制
軟件測試設(shè)計(jì)的主要風(fēng)險(xiǎn)是漏測和對軟件產(chǎn)品業(yè)務(wù)的錯(cuò)誤理解。
(1)軟件產(chǎn)品需求風(fēng)險(xiǎn)。產(chǎn)品需求的不明確,對產(chǎn)品需求理解不準(zhǔn)確,需求變更沒有及時(shí)溝通處理;導(dǎo)致測試范圍存在誤差,遺漏部分需求或者執(zhí)行了錯(cuò)誤的測試點(diǎn)。
風(fēng)險(xiǎn)控制:通過圖1中第1、2、4、5行的節(jié)點(diǎn)控制該風(fēng)險(xiǎn)。
(2)軟件設(shè)計(jì)和代碼風(fēng)險(xiǎn)。軟件概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)存在問題,開發(fā)工程師對軟件設(shè)計(jì)和要求理解不準(zhǔn)確,代碼質(zhì)量差;導(dǎo)致漏測和測試失敗。
風(fēng)險(xiǎn)控制:通過圖1中第1、2行的節(jié)點(diǎn)控制該風(fēng)險(xiǎn)。
(3)測試策略和測試用例風(fēng)險(xiǎn)。測試策略設(shè)計(jì)沒有做好細(xì)化與分析軟件測試點(diǎn)工作,測試用例設(shè)計(jì)不完整,忽視了邊界條件、異常輸入等情況,用例覆蓋率沒有做到足夠覆蓋產(chǎn)品需求;導(dǎo)致漏測和各種測試問題。
風(fēng)險(xiǎn)控制:通過圖1中第3、4、5行的節(jié)點(diǎn)控制該風(fēng)險(xiǎn)。
2.3 ? 軟件測試執(zhí)行工作流程
2.3.1 ? 軟件測試執(zhí)行工作流程圖
軟件測試執(zhí)行工作流程圖如圖2所示。
2.3.2 ? 軟件測試執(zhí)行流程節(jié)點(diǎn)的工作任務(wù)
軟件測試執(zhí)行流程節(jié)點(diǎn)的工作任務(wù)如表2所示。
2.3.3 ? 軟件測試執(zhí)行風(fēng)險(xiǎn)分析與控制
軟件測試執(zhí)行過程中的風(fēng)險(xiǎn)主要是測試結(jié)果是否正確,主要關(guān)注測試技術(shù)和方法。
(1)測試工程師對測試用例理解不準(zhǔn)確。測試工程師對測試用例理解不準(zhǔn)確,導(dǎo)致不能正確編寫自動(dòng)化測試腳本,不能正確完成測試用例測試。
風(fēng)險(xiǎn)控制:通過圖2中第2行的節(jié)點(diǎn)控制該風(fēng)險(xiǎn)。
(2)測試環(huán)境風(fēng)險(xiǎn)。不能正確搭建測試環(huán)境,往往無法正確開展軟件測試工作,尤其對于一些復(fù)雜的大型軟件產(chǎn)品。
風(fēng)險(xiǎn)控制:通過圖2中TE3節(jié)點(diǎn)控制該風(fēng)險(xiǎn)。
(3)版本控制風(fēng)險(xiǎn)。開發(fā)工程師沒有提供正確的轉(zhuǎn)測試版本,測試工程師沒有安裝最新的轉(zhuǎn)測試版本,沒有檢查轉(zhuǎn)測試版本的版本號(hào);導(dǎo)致測試失敗。
風(fēng)險(xiǎn)控制:通過圖2中第5行的節(jié)點(diǎn)控制該風(fēng)險(xiǎn)。
(4)缺陷問題單風(fēng)險(xiǎn)。在測試中發(fā)現(xiàn)問題后,沒有及時(shí)溝通定位提交問題單,導(dǎo)致該缺陷問題遺漏;提交問題單后,缺陷跟蹤不夠積極主動(dòng),沒做好缺陷記錄和及時(shí)更新,導(dǎo)致問題遲遲沒有解決;從而影響軟件產(chǎn)品的測試工作,導(dǎo)致軟件產(chǎn)品在以后的應(yīng)用過程中發(fā)生問題。
風(fēng)險(xiǎn)控制:通過圖2中節(jié)點(diǎn)TE6、SWE6、SWE5、TE5閉環(huán)控制該風(fēng)險(xiǎn)。
(5)自動(dòng)化測試腳本風(fēng)險(xiǎn)。自動(dòng)化測試腳本不僅用于本次測試,以后還要用在冒煙測試后回歸測試中,腳本的編寫需要符合編碼規(guī)范,腳本的代碼質(zhì)量需要嚴(yán)格把關(guān)。
風(fēng)險(xiǎn)控制:通過圖2中節(jié)點(diǎn)TSE7、TE7、TE4控制該風(fēng)險(xiǎn)。
3 ? ? ?結(jié) ? ?語
“時(shí)間就是金錢、效率就是生命”,在測試工作遇到的各種問題,往往造成測試流程的阻塞,需要SE、TSE、SWE、TE之間及時(shí)溝通和反饋。有時(shí)需要進(jìn)行多方溝通協(xié)調(diào),需要與其他單位和部門之間的溝通、協(xié)作,及時(shí)處理流程阻塞問題,保證測試工作順利進(jìn)行。
工作實(shí)踐表明,軟件測試組采用流程管理可以改變測試工作的混亂狀況,規(guī)范在研項(xiàng)目測試組日常工作流程管理,提高測試組的工作效率,提高測試組TE(測試工程師)的業(yè)務(wù)水平;有助于改進(jìn)測試工作的風(fēng)險(xiǎn)控制,從而提高軟件產(chǎn)品質(zhì)量。在以后的工作實(shí)踐中需要不斷優(yōu)化和完善該流程管理方法。
主要參考文獻(xiàn)
[1]蔡建平,葉東升,康妍,等.軟件測試技術(shù)與實(shí)踐[M].北京:清華大學(xué)出版社,2018:1.
[2]肖利瓊.軟件測試之魂:核心測試設(shè)計(jì)精解[M].第2版.北京:電子工業(yè)出版社,2013:5.
[3]劉展.制度管人 流程管事:做最簡單高效的管理者[M].北京:中國財(cái)富出版社,2015:7.
[4]孫宗虎,付偉.生產(chǎn)管理流程設(shè)計(jì)與工作標(biāo)準(zhǔn)[M].北京:人民郵電出版社,2006:4.
[5]王光偉.產(chǎn)品研發(fā)與質(zhì)量管理工作執(zhí)行流程[M].北京:人民郵電出版社,2010:4.
[6]弗布克HR實(shí)務(wù)中心.管理制度設(shè)計(jì)實(shí)訓(xùn)實(shí)戰(zhàn)實(shí)務(wù)[M].北京:人民郵電出版社,2015:7.
[7]易生俊.向流程管理要效益:流程管理的28個(gè)關(guān)鍵點(diǎn)[M].北京:電子工業(yè)出版社,2016:6.