測試用例的管理

2020年發(fā)表于《測試技術(shù)與質(zhì)量管理》

摘要

隨著軟件系統(tǒng)規(guī)模的持續(xù)增大,業(yè)務(wù)復(fù)雜度的持續(xù)增加,軟件測試的復(fù)雜度也隨之越來越大。而軟件測試工作復(fù)雜度的直接體現(xiàn),就是測試用例編寫、維護(hù)、執(zhí)行和管理,所以編寫易讀、易維護(hù)和易管理的測試用例可以有效的降低測試工作的復(fù)雜度。

本文主要系統(tǒng)的介紹了測試用例的幾種管理方法,包括每種的特點(diǎn),適用場景以及實(shí)例。幫助不同的項(xiàng)目和團(tuán)隊(duì),根據(jù)自己的情況選擇適合的測試用例編寫和管理方法,從而降低測試工作的復(fù)雜度,提高測試工作的效率。

正文

在軟件測試工作中,測試用例是其最為重要的基礎(chǔ)。一個良好的測試用例可以幫助測試人員更容易閱讀,理解,修改并管理它,從而提高測試工作的質(zhì)量和效率。

要編寫一個好的測試用例,首先需要對業(yè)務(wù)需求和驗(yàn)收條件(AC)進(jìn)行深入的分析,并確定業(yè)務(wù)需求和驗(yàn)收條件的正確性和合理性。然后對其進(jìn)行測試分析,并完成整體測試用例的設(shè)計和編寫,其中包括功能測試用例,E2E測試用例,異常測試用例等等。

對于設(shè)計好的測試用例需要進(jìn)行分類并管理,然后根據(jù)不同的分類進(jìn)行分層測試。通常情況下可以將測試分為端到端測試(E2E Testing),功能測試(Functional Testing),集成測試(Integration Testing),單元測試(Unit Testing)等。根據(jù)這個分類方法,可以方便進(jìn)行測試分層管理,就是某些測試用例放在端到端測試類型里面,而有些測試用例則放到集成測試類型里面。

而根據(jù)測試用途還可以將某些類型的測試分類成回歸測試(Regression Testing),驗(yàn)收測試(Acceptance Testing), 健全測試(Sanity Testing)以及冒煙測試(Smoke Testing)等。由于一個測試用例可能既屬于回歸測試,又屬于冒煙測試,所以這種情況下就需要一個良好的測試管理系統(tǒng)或者管理方法來對大量的分類后的測試用例進(jìn)行管理。

編寫和管理測試用例是測試用例工作中工作量最大,最為繁瑣的部分。其質(zhì)量的高低直接影響到測試工作是不是能高效和順利的進(jìn)行和完成。所以結(jié)合產(chǎn)品的類型和團(tuán)隊(duì)的情況,選擇適合自己團(tuán)隊(duì)的用例編寫和管理方式,從而事半功倍。

測試用例的管理

測試用例需要具有以下特性:易閱讀,易維護(hù),易執(zhí)行,易管理。而難點(diǎn)也比較突出,其中包括語言的歧義性和多樣性導(dǎo)致的不易閱讀和理解;手動測試和自動化測試用例很難統(tǒng)一管理和統(tǒng)一執(zhí)行。

當(dāng)測試數(shù)量很大的時候,如果測試用例管理系統(tǒng)不易用,測試用例的復(fù)用性也不高,則會導(dǎo)致測試用例不易維護(hù),從而會極大的增加了其管理成本。

測試用例管理是一項(xiàng)繁瑣的工作,現(xiàn)在業(yè)界存在四種經(jīng)典方法,分別是文件管理,系統(tǒng)管理,代碼活文檔和系統(tǒng)活文檔。與編寫用例一樣,沒有一種用例管理方法是銀彈,適合所有不同的團(tuán)隊(duì)和不同的項(xiàng)目。所以了解它們的特點(diǎn),再根據(jù)自己團(tuán)隊(duì)和項(xiàng)目的實(shí)際情況,選擇適合的才是最佳實(shí)踐。

方法一:使用如Excel,Word,Mindmap等文件管理

本方法是中小型項(xiàng)目中比較常見的測試用例管理方法。其優(yōu)勢是簡單易用,而劣勢是需要自己對測試用例模版進(jìn)行定制,并且當(dāng)測試用例過多的時候管理成本會急劇增加。其次對于本地文件模式,則很難讓多人進(jìn)行協(xié)作編寫(Google Sheets這種在線文檔沒有這個問題)。下面是一個Excel實(shí)例。

[caption id="attachment_14653" align="aligncenter" width="700"]<a ><img src="https://insights.thoughtworks.cn/wp-content/uploads/2021/08/1-how-to-manage-testcases-768x575.png" alt="" width="700" height="524" class="size-medium_large wp-image-14653" /></a> Excel管理實(shí)例圖[/caption]

方法二:使用itest,TestLink等系統(tǒng)管理

本方法一般是中大型項(xiàng)目中最為常用的管理方法。它的優(yōu)勢是管理系統(tǒng)提供了強(qiáng)大的管理和協(xié)作功能,比如協(xié)作編寫用例,協(xié)作執(zhí)行用例,測試步驟管理,截圖管理,測試迭代管理以及豐富的測試用例和測試結(jié)果報表等。所以它有一定的學(xué)習(xí)曲線,并且基本上都是界面操作,相對比較繁瑣,有些修改很難跟蹤,比如測試步驟和測試數(shù)據(jù)的更改等。

其次這種系統(tǒng)一般需要一個獨(dú)立服務(wù)器來部署和運(yùn)行,如itest,TestLink等。下面三張圖是itest最為典型的支持執(zhí)行管理、用例管理和用例編排管理的界面。

[caption id="attachment_14654" align="aligncenter" width="700"]<a ><img src="https://insights.thoughtworks.cn/wp-content/uploads/2021/08/2-how-to-manage-testcases-768x435.png" alt="" width="700" height="396" class="size-medium_large wp-image-14654" /></a> itest 用例管理實(shí)例圖1[/caption]

[caption id="attachment_14655" align="aligncenter" width="700"]<a ><img src="https://insights.thoughtworks.cn/wp-content/uploads/2021/08/3-how-to-manage-testcases-768x348.png" alt="" width="700" height="317" class="size-medium_large wp-image-14655" /></a> itest用例管理實(shí)例圖2[/caption]

[caption id="attachment_14677" align="aligncenter" width="700"]<a ><img src="https://insights.thoughtworks.cn/wp-content/uploads/2021/08/9-2-how-to-manage-testcases-768x428.jpeg" alt="" width="700" height="390" class="size-medium_large wp-image-14677" /></a> itest用例管理實(shí)例圖3[/caption]

方法三:使用Cucumber,RF,SVN和GIT等代碼活文檔、自動化測試框架和代碼版本工具

本方法適合于有足夠軟件技術(shù)工程實(shí)踐的團(tuán)隊(duì)和個人,因?yàn)樗枰褂玫酱a版本管理工具,集成開發(fā)環(huán)境(IDE),自動化測試框架,持續(xù)流水線等實(shí)踐才能高效的編寫,維護(hù),執(zhí)行,管理測試用例,測試日志和測試結(jié)果。

本方法的優(yōu)勢是可以同時管理自動化測試用例和手動測試用例,并且更容易跟蹤測試用例和測試數(shù)據(jù)的更改。而劣勢是需要測試工程師有足夠的工程技術(shù)能力來實(shí)現(xiàn)。下面是用Cucumber寫的一個Demo的截圖,左邊是集成開發(fā)環(huán)境中測試用例的管理文件,每個Feature文件就是一套測試用例。而右圖是通過Jenkins生成的測試用例活文檔(Test Case Living Document),通過它可以統(tǒng)一的展示出手動測試用例和自動化測試用例的測試結(jié)果。

[caption id="attachment_14656" align="aligncenter" width="700"]<a ><img src="https://insights.thoughtworks.cn/wp-content/uploads/2021/08/4-how-to-manage-testcases-768x286.png" alt="" width="700" height="261" class="size-medium_large wp-image-14656" /></a> Cucumber測試用例管理和活文檔示例圖[/caption]

方法四:使用系統(tǒng)活文檔

本方法是將代碼活文檔和系統(tǒng)管理結(jié)合,通過測試管理系統(tǒng)編寫和管理測試用例,然后會自動生成代碼模式的測試用例。也可以只編寫代碼模式的測試用例,然后自動同步到測試管理文檔中。自動化測試在持續(xù)集成流水線執(zhí)行,通過流水線進(jìn)行展示并同步到測試管理系統(tǒng)中。

手動測試人員執(zhí)行了手動測試后,將測試結(jié)果通過測試管理系統(tǒng)或者在測試代碼中進(jìn)行記錄,并最終匯總到測試管理系統(tǒng)的進(jìn)行統(tǒng)一展示,從而實(shí)現(xiàn)了讓不同人員可以一起協(xié)作分析,設(shè)計,管理,和執(zhí)行測試用例的工作。下面是本方法的架構(gòu)設(shè)計圖。

[caption id="attachment_14661" align="aligncenter" width="700"]<a ><img src="https://insights.thoughtworks.cn/wp-content/uploads/2021/08/7-how-to-manage-testcases-1-768x579.png" alt="" width="700" height="528" class="size-medium_large wp-image-14661" /></a> 系統(tǒng)活文檔架構(gòu)圖1[/caption]

[caption id="attachment_14662" align="aligncenter" width="700"]<a ><img src="https://insights.thoughtworks.cn/wp-content/uploads/2021/08/8-how-to-manage-testcases-1-768x497.png" alt="" width="700" height="453" class="size-medium_large wp-image-14662" /></a> 系統(tǒng)活文檔架構(gòu)圖2[/caption]

總結(jié)

測試用例是測試工作的根本,不管是手動測試還是自動化測試的成功,都十分依賴于測試用例的質(zhì)量。但是只有充分的做好測試分析,設(shè)計,編寫和管理才能產(chǎn)出一套合格甚至優(yōu)秀的測試用例套件。從而保證測試工作可以高效正確的進(jìn)行,為產(chǎn)出高質(zhì)量軟件保駕護(hù)航。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容