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