廣東電網(wǎng)公司信息中心 廣東電網(wǎng)公司信息化評(píng)測(cè)實(shí)驗(yàn)室 梁哲恒
中國(guó)軟件評(píng)測(cè)中心 唐 磊
淺析軟件測(cè)試用例管理
廣東電網(wǎng)公司信息中心 廣東電網(wǎng)公司信息化評(píng)測(cè)實(shí)驗(yàn)室 梁哲恒
中國(guó)軟件評(píng)測(cè)中心 唐 磊
開發(fā)和維護(hù)測(cè)試用例是軟件測(cè)試過(guò)程中的重要步驟之一,也是衡量軟件測(cè)試質(zhì)量的核心影響因素。本文從開發(fā)、執(zhí)行和維護(hù)幾方面對(duì)測(cè)試用例管理過(guò)程進(jìn)行分析,提出了測(cè)試用例開發(fā)、維護(hù)的相關(guān)原則。
軟件測(cè)試;測(cè)試用例
一般說(shuō)來(lái),測(cè)試需求就是為了達(dá)到測(cè)試目標(biāo),項(xiàng)目中需要測(cè)試什么。測(cè)試過(guò)程中所有活動(dòng)都可以追溯到測(cè)試需求。例如,制定測(cè)試計(jì)劃時(shí),需要明確以下基本要素:首先需要明確測(cè)試需求,也就是測(cè)試的目標(biāo)內(nèi)容;然后才能決定怎么測(cè),即采用什么測(cè)試方法;再評(píng)估需要多少測(cè)試時(shí)間,需要多少測(cè)試人員,也就是測(cè)試的進(jìn)度安排;最后明確測(cè)試的環(huán)境是什么。此外,還包括其他因素,例如測(cè)試中需要的技能、工具以及相 應(yīng)的專業(yè)背景知識(shí),測(cè)試中可能遇到的風(fēng)險(xiǎn)等,以上所有的內(nèi)容結(jié)合起來(lái)就構(gòu)成了測(cè)試計(jì)劃的基本要素。制定測(cè)試計(jì)劃的重要依據(jù)就是測(cè)試需求,而測(cè)試計(jì)劃中的所有內(nèi)容都可以追溯到測(cè)試需求,所以說(shuō)測(cè)試需求是測(cè)試計(jì)劃的基礎(chǔ)與重點(diǎn)。同樣的,測(cè)試方案、用例、內(nèi)容都要以測(cè)試需求為基礎(chǔ)。
測(cè)試需求是從軟件需求映射而來(lái),所以其詳細(xì)程度與軟件需求的詳細(xì)程度有密切關(guān)系。在編寫時(shí),在保證與軟件需求一致的前提下,力求表達(dá)準(zhǔn)確詳細(xì),避免測(cè)試的遺漏與誤解。
測(cè)試用例的編寫應(yīng)該覆蓋所有的測(cè)試需求,而測(cè)試需求是由軟件需求轉(zhuǎn)換而來(lái),因此所有測(cè)試用例的執(zhí)行結(jié)果最終都會(huì)追溯到軟件需求,因此測(cè)試用例的編寫依據(jù)主要是軟件需求。此外,還應(yīng)遵守相關(guān)的編寫規(guī)則、規(guī)范等。
測(cè)試用例的設(shè)計(jì)原則包括:
(1)依據(jù)原則:測(cè)試用例編寫的主要依據(jù)為項(xiàng)目提供的需求說(shuō)明書和相關(guān)技術(shù)規(guī)范文檔;
(2)全覆蓋原則:對(duì)于需求說(shuō)明書和相關(guān)技術(shù)規(guī)范中要求的主要功能點(diǎn)進(jìn)行全覆蓋測(cè)試,要求所有功能均能正常實(shí)現(xiàn);
(3)規(guī)范原則:所有測(cè)試案例的編寫要求規(guī)范,對(duì)于所有被測(cè)的功能點(diǎn),應(yīng)用程序均應(yīng)該按照需求說(shuō)明書和相關(guān)技術(shù)規(guī)范中的給定形式,在規(guī)定的邊界值范圍內(nèi)使用相應(yīng)的工具、資源和數(shù)據(jù)執(zhí)行其功能;
(4)全面原則:測(cè)試不僅僅針對(duì)系統(tǒng)功能特性進(jìn)行測(cè)試,對(duì)系統(tǒng)的其他質(zhì)量特性也進(jìn)行全面的測(cè)試與評(píng)估。
測(cè)試用例編寫應(yīng)該滿足的具體量化要求包括如下幾點(diǎn):
(1)用戶經(jīng)常使用、關(guān)系到系統(tǒng)核心功能、優(yōu)先級(jí)別較高的功能點(diǎn),測(cè)試用例應(yīng)該達(dá)到100%覆蓋率;
(2)針對(duì)各個(gè)系統(tǒng)端到端的功能以及與其它系統(tǒng)的接口的測(cè)試應(yīng)該達(dá)到100%覆蓋率;
(3)測(cè)試用例包括正常輸入和正常業(yè)務(wù)流程測(cè)試,也包括對(duì)非法數(shù)據(jù)輸入和異常處理的測(cè)試,且對(duì)系統(tǒng)非正常操作的測(cè)試用例應(yīng)占到總數(shù)的20%-30%;
(4)測(cè)試用例中包括中文特性及系統(tǒng)本地化測(cè)試,如中文信息的顯示、錄入、查詢、打印和報(bào)表顯示測(cè)試等。
首先看一下什么是測(cè)試需求覆蓋。測(cè)試需求來(lái)源于軟件需求,與軟件需求的關(guān)系是一對(duì)一,或者是多對(duì)一。如果一個(gè)軟件需求可以轉(zhuǎn)換為一個(gè)或者多個(gè)測(cè)試需求,那么測(cè)試需求已經(jīng)覆蓋了全部的軟件需求,可以說(shuō)測(cè)試需求的覆蓋率為100%。但是這不能說(shuō)明測(cè)試需求的覆蓋程度達(dá)到了100%。因?yàn)橐话愕能浖枨笾幻鞔_了顯性的功能與特性,而隱性的功能與特性(沒有被明確指出但是卻應(yīng)該具有的功能和特性)并沒有在需求中直接體現(xiàn)。這部分需求也應(yīng)該成為測(cè)試需求,因此在進(jìn)行測(cè)試需求分析時(shí),要同時(shí)分析軟件的顯性和隱性需求,或者根據(jù)實(shí)際測(cè)試中發(fā)現(xiàn)的缺陷,對(duì)測(cè)試需求進(jìn)行補(bǔ)充或優(yōu)化,并更新測(cè)試用例,以此來(lái)提高測(cè)試需求的覆蓋程度。
好的測(cè)試用例集應(yīng)該覆蓋全部的測(cè)試需求。以系統(tǒng)功能舉例說(shuō)來(lái),測(cè)試用例包括功能點(diǎn)和業(yè)務(wù)流程。對(duì)于功能點(diǎn),設(shè)計(jì)的測(cè)試用例需要覆蓋全部需求中的功能點(diǎn),除了正常情況的測(cè)試用例,還應(yīng)設(shè)計(jì)異常情況的測(cè)試用例,且異常情況測(cè)試用例占整個(gè)測(cè)試用例集的20%-30%。同樣的,業(yè)務(wù)流程的測(cè)試用例也包含正常流程和異常流程。
測(cè)試用例執(zhí)行結(jié)果可以從覆蓋率、執(zhí)行率、通過(guò)率等幾個(gè)方面進(jìn)行分析和考察。測(cè)試用例覆蓋率是指測(cè)試用例覆蓋的功能與測(cè)試需求功能的比值;測(cè)試用例執(zhí)行率是指已執(zhí)行的測(cè)試用例數(shù)與測(cè)試用例總數(shù)的比值;測(cè)試用例通過(guò)率是指成功執(zhí)行的測(cè)試用例數(shù)與測(cè)試用例總數(shù)的比值。
測(cè)試用例的覆蓋率需要達(dá)到100%,也就是說(shuō),測(cè)試用例必須覆蓋全部的測(cè)試需求,否則測(cè)試用例的設(shè)計(jì)則是不全面的,無(wú)法保證測(cè)試質(zhì)量,需要補(bǔ)充或者重新設(shè)計(jì)相應(yīng)測(cè)試用例。測(cè)試用例執(zhí)行率是衡量測(cè)試效率的因素,一般說(shuō)來(lái),在測(cè)試完成時(shí)測(cè)試用例的執(zhí)行率也需要達(dá)到100%,也可能因?yàn)槟承┨厥庠驅(qū)е聹y(cè)試中斷而沒有全部執(zhí)行測(cè)試用例,可針對(duì)具體的情況進(jìn)行分析。測(cè)試用例通過(guò)率是衡量用例本身設(shè)計(jì)質(zhì)量和被測(cè)軟件質(zhì)量的因素,對(duì)于未能成功執(zhí)行的測(cè)試用例,要分析是用例設(shè)計(jì)錯(cuò)誤還是被測(cè)軟件錯(cuò)誤,導(dǎo)致用例無(wú)法順利執(zhí)行。
軟件產(chǎn)品的版本是隨著軟件的升級(jí)而不斷變化的,而每一次版本的變化都會(huì)對(duì)測(cè)試用例集產(chǎn)生影響,所以測(cè)試用例集也需要不斷地變更和維護(hù),使之與產(chǎn)品的變化保持一致。以下原因可能導(dǎo)致測(cè)試用例變更:
(1)軟件需求變更:軟件需求變更可能導(dǎo)致軟件功能的增加、刪除、修改等變化,應(yīng)遵循需求變更控制管理方法,同樣變更的測(cè)試用例也需要執(zhí)行變更管理流程。
(2)測(cè)試需求的遺漏和誤解:由于測(cè)試需求分析不到位,可能導(dǎo)致測(cè)試需求遺漏或者誤解,相應(yīng)的測(cè)試用力也要進(jìn)行變更。特別是對(duì)于軟件隱性需求,在測(cè)試需求分析階段容易遺漏,而在測(cè)試執(zhí)行過(guò)程中被發(fā)現(xiàn),這時(shí)需要補(bǔ)充測(cè)試用例。
(3)測(cè)試用例遺漏:在測(cè)試過(guò)程中,發(fā)現(xiàn)測(cè)試用例未覆蓋全部需求,需要補(bǔ)充相應(yīng)的測(cè)試用例。
(4)軟件發(fā)布后,用戶反饋的缺陷:表明測(cè)試不全面,存在尚未發(fā)現(xiàn)的缺陷,需要補(bǔ)充或者修改測(cè)試用例。
對(duì)于提供軟件服務(wù)的產(chǎn)品,其多個(gè)版本常常共存,而對(duì)應(yīng)的測(cè)試用例也是共存的,而且測(cè)試用例需要專人定期維護(hù),并遵循以下原則:
(1)及時(shí)刪除過(guò)時(shí)的測(cè)試用例
需求變更可能導(dǎo)致原有部分測(cè)試用例不再適合新的需求要求。例如,刪除了某個(gè)功能,那么針對(duì)該功能的測(cè)試用例也不再需要。所以隨著需求的每一次變更,都要?jiǎng)h除那些不再使用的測(cè)試用例。
(2)及時(shí)刪除冗余的測(cè)試用例
在設(shè)計(jì)測(cè)試用例時(shí),可能存在兩個(gè)或者多個(gè)用例測(cè)試相同內(nèi)容,降低回歸測(cè)試效率,所以要定期整理測(cè)試用例集,及時(shí)刪除冗余的測(cè)試用例。
(3)增加新的測(cè)試用例
由于需求變更、用例遺漏或者版本發(fā)布后發(fā)現(xiàn)缺陷等原因,原有的測(cè)試用例集沒有完全覆蓋軟件需求,需要增加新的測(cè)試用例。
(4)改進(jìn)測(cè)試用例
隨著開發(fā)工作進(jìn)行,測(cè)試用例不斷增加,可能會(huì)出現(xiàn)一些對(duì)輸入或者運(yùn)行狀態(tài)比較敏感的測(cè)試用例。這些用例難以重用,影響回歸測(cè)試的效率,需要進(jìn)行改進(jìn),使之可重用可控制。
總之,測(cè)試用例的維護(hù)是一個(gè)長(zhǎng)期的過(guò)程,也是一個(gè)不斷改進(jìn)和完善的過(guò)程。
測(cè)試用例管理是軟件測(cè)試過(guò)程中的重要內(nèi)容,測(cè)試用例的好壞對(duì)軟件測(cè)試質(zhì)量有著重要的影響。本文介紹了測(cè)試用例的開發(fā)、執(zhí)行及維護(hù)等管理過(guò)程,為測(cè)試過(guò)程中的用例設(shè)計(jì)提出相關(guān)建議,同時(shí)也希望從測(cè)試用例設(shè)計(jì)的角度為軟件開發(fā)提供參考。