摘要
隨著軟件系統(tǒng)規(guī)模的持續(xù)增大,業(yè)務(wù)復(fù)雜度的持續(xù)增加,軟件測試的復(fù)雜度也隨之越來越大。而軟件測試工作復(fù)雜度的直接體現(xiàn),就是測試用例編寫、維護、執(zhí)行和管理,所以編寫易讀、易維護和易管理的測試用例可以有效的降低測試工作的復(fù)雜度。
本文主要系統(tǒng)的介紹了測試用例的幾種管理方法,包括每種的特點,適用場景以及實例。幫助不同的項目和團隊,根據(jù)自己的情況選擇適合的測試用例編寫和管理方法,從而降低測試工作的復(fù)雜度,提高測試工作的效率。
正文
在軟件測試工作中,測試用例是其最為重要的基礎(chǔ)。一個良好的測試用例可以幫助測試人員更容易閱讀,理解,修改并管理它,從而提高測試工作的質(zhì)量和效率。
要編寫一個好的測試用例,首先需要對業(yè)務(wù)需求和驗收條件(AC)進行深入的分析,并確定業(yè)務(wù)需求和驗收條件的正確性和合理性。然后對其進行測試分析,并完成整體測試用例的設(shè)計和編寫,其中包括功能測試用例,E2E測試用例,異常測試用例等等。
對于設(shè)計好的測試用例需要進行分類并管理,然后根據(jù)不同的分類進行分層測試。通常情況下可以將測試分為端到端測試(E2E Testing),功能測試(Functional Testing),集成測試(Integration Testing),單元測試(Unit Testing)等。根據(jù)這個分類方法,可以方便進行測試分層管理,就是某些測試用例放在端到端測試類型里面,而有些測試用例則放到集成測試類型里面。
而根據(jù)測試用途還可以將某些類型的測試分類成回歸測試(Regression Testing),驗收測試(Acceptance Testing), 健全測試(Sanity Testing)以及冒煙測試(Smoke Testing)等。由于一個測試用例可能既屬于回歸測試,又屬于冒煙測試,所以這種情況下就需要一個良好的測試管理系統(tǒng)或者管理方法來對大量的分類后的測試用例進行管理。
編寫和管理測試用例是測試用例工作中工作量最大,最為繁瑣的部分。其質(zhì)量的高低直接影響到測試工作是不是能高效和順利的進行和完成。所以結(jié)合產(chǎn)品的類型和團隊的情況,選擇適合自己團隊的用例編寫和管理方式,從而事半功倍。
測試用例的管理
測試用例需要具有以下特性:易閱讀,易維護,易執(zhí)行,易管理。而難點也比較突出,其中包括語言的歧義性和多樣性導致的不易閱讀和理解;手動測試和自動化測試用例很難統(tǒng)一管理和統(tǒng)一執(zhí)行。
當測試數(shù)量很大的時候,如果測試用例管理系統(tǒng)不易用,測試用例的復(fù)用性也不高,則會導致測試用例不易維護,從而會極大的增加了其管理成本。
測試用例管理是一項繁瑣的工作,現(xiàn)在業(yè)界存在四種經(jīng)典方法,分別是文件管理,系統(tǒng)管理,代碼活文檔和系統(tǒng)活文檔。與編寫用例一樣,沒有一種用例管理方法是銀彈,適合所有不同的團隊和不同的項目。所以了解它們的特點,再根據(jù)自己團隊和項目的實際情況,選擇適合的才是最佳實踐。
方法一:使用如Excel,Word,Mindmap等文件管理
本方法是中小型項目中比較常見的測試用例管理方法。其優(yōu)勢是簡單易用,而劣勢是需要自己對測試用例模版進行定制,并且當測試用例過多的時候管理成本會急劇增加。其次對于本地文件模式,則很難讓多人進行協(xié)作編寫(Google Sheets這種在線文檔沒有這個問題)。下面是一個Excel實例。
Excel管理實例圖
方法二:使用itest,TestLink等系統(tǒng)管理
本方法一般是中大型項目中最為常用的管理方法。它的優(yōu)勢是管理系統(tǒng)提供了強大的管理和協(xié)作功能,比如協(xié)作編寫用例,協(xié)作執(zhí)行用例,測試步驟管理,截圖管理,測試迭代管理以及豐富的測試用例和測試結(jié)果報表等。所以它有一定的學習曲線,并且基本上都是界面操作,相對比較繁瑣,有些修改很難跟蹤,比如測試步驟和測試數(shù)據(jù)的更改等。
其次這種系統(tǒng)一般需要一個獨立服務(wù)器來部署和運行,如itest,TestLink等。下面三張圖是itest最為典型的支持執(zhí)行管理、用例管理和用例編排管理的界面。
itest 用例管理實例圖1
itest用例管理實例圖2
itest用例管理實例圖3
方法三:使用Cucumber,RF,SVN和GIT等代碼活文檔、自動化測試框架和代碼版本工具
本方法適合于有足夠軟件技術(shù)工程實踐的團隊和個人,因為它需要使用到代碼版本管理工具,集成開發(fā)環(huán)境(IDE),自動化測試框架,持續(xù)流水線等實踐才能高效的編寫,維護,執(zhí)行,管理測試用例,測試日志和測試結(jié)果。
本方法的優(yōu)勢是可以同時管理自動化測試用例和手動測試用例,并且更容易跟蹤測試用例和測試數(shù)據(jù)的更改。而劣勢是需要測試工程師有足夠的工程技術(shù)能力來實現(xiàn)。下面是用Cucumber寫的一個Demo的截圖,左邊是集成開發(fā)環(huán)境中測試用例的管理文件,每個Feature文件就是一套測試用例。而右圖是通過Jenkins生成的測試用例活文檔(Test Case Living Document),通過它可以統(tǒng)一的展示出手動測試用例和自動化測試用例的測試結(jié)果。
Cucumber測試用例管理和活文檔示例圖
方法四:使用系統(tǒng)活文檔
本方法是將代碼活文檔和系統(tǒng)管理結(jié)合,通過測試管理系統(tǒng)編寫和管理測試用例,然后會自動生成代碼模式的測試用例。也可以只編寫代碼模式的測試用例,然后自動同步到測試管理文檔中。自動化測試在持續(xù)集成流水線執(zhí)行,通過流水線進行展示并同步到測試管理系統(tǒng)中。
手動測試人員執(zhí)行了手動測試后,將測試結(jié)果通過測試管理系統(tǒng)或者在測試代碼中進行記錄,并最終匯總到測試管理系統(tǒng)的進行統(tǒng)一展示,從而實現(xiàn)了讓不同人員可以一起協(xié)作分析,設(shè)計,管理,和執(zhí)行測試用例的工作。下面是本方法的架構(gòu)設(shè)計圖。
系統(tǒng)活文檔架構(gòu)圖1
系統(tǒng)活文檔架構(gòu)圖2
總結(jié)
測試用例是測試工作的根本,不管是手動測試還是自動化測試的成功,都十分依賴于測試用例的質(zhì)量。但是只有充分的做好測試分析,設(shè)計,編寫和管理才能產(chǎn)出一套合格甚至優(yōu)秀的測試用例套件。從而保證測試工作可以高效正確的進行,為產(chǎn)出高質(zhì)量軟件保駕護航。
來源于:https://insights.thoughtworks.cn/how-to-manage-testcases/#comment-77004
編輯:fqj
-
自動化
+關(guān)注
關(guān)注
29文章
5562瀏覽量
79239 -
測試技術(shù)
+關(guān)注
關(guān)注
0文章
114瀏覽量
21049 -
軟件系統(tǒng)
+關(guān)注
關(guān)注
0文章
62瀏覽量
9501
發(fā)布評論請先 登錄
相關(guān)推薦
評論