寫出測試用例就完了?總得會優化吧!
測試用例編寫完之後,我們在測試過程中往往會發現,有一些用例其實是重複的,造成很多重複工作,那麼我們應當如何去除這些重複用例呢?
尤其使用等價類劃分和邊界值分析編寫用例時,很容易造成用例重複。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~
舉例
下面我們通過一個例子來具體分析一下。
首先選擇一個場景,後臺維護前臺賬號,主要有以下幾個欄位(欄位太多,這裡只列舉三個欄位進行分析)。
賬號:4~8位字母和數字組合
密碼:8~16位字母數字組合
姓名:字母、數字、特殊字元和漢字組合,長度4~20
下面我們對他們的等價類和邊界值進行分析。
賬號
有效等價類:6位數字和字母組合,5位純數字組合,7位純字母組合。
無效等價類:3位字元,9位字元,漢字,空。
邊界值:4位字元,8位字元。
密碼
有效等價類:9位數字和字母組合,10位純數字組合,11位純字母組合。
無效等價類:7位字元,17位字元,漢字,空。
邊界值:8位字元,16位字元。
姓名
有效等價類:字母、數字特殊字元和漢字組合,長度10;純字母,長度11;純數字,長度12;純特殊字元,長度13;純漢字,長度14。
無效等價類:長度3,長度21,空。
邊界值:長度4,長度10。
如果我們只是通過等價類劃分邊界值分析,我們可以來統計一下共有多少條用例——共28條。
但是測試的過程中我們就會發現,有好多重複的,比如說:我們先測試賬號這個輸入框,輸入6位純數字,然後其他兩個輸入框都需要輸入有效等價類。
其實我們一條用例裡,賬號、密碼和姓名是都覆蓋了一條測試用例的,當再測試密碼這個輸入框時,這條用例是重複執行的,那麼我們怎麼去避免這種情況呢?
首先將所有的輸入都列到一列,如下圖
我們用例組合的原則就是,一條用例裡可以包含多條有效等價類,且必須都是有效等價類。
一條用例裡只能包含一條無效等價類,且這條用例裡的有效等價類不能作為驗證條件,比如說:賬號輸入了漢字,密碼和姓名都輸入正確,這個時候提示了賬號輸入錯誤,這條用例是通過的,只能說明無效等價類的這個條件通過了,並不說明這條用例裡的其他兩個有效等價類是通過的。
所以驗證有效等價類時,不能跟無效等價類一起驗證。
接下來我們在上邊的表格裡標註一下哪些等價類可以組合到一起,數字相同的表示可在一條用例裡覆蓋。
我們可以發現,用例1、2、3、4、5都可以在一條用例裡覆蓋多條有效等價類,用例6和7是比其他兩個輸入框多出來的有效等價類。
因為其他兩個輸入框的有效等價類已經覆蓋完了,那麼執行這兩條用例時,可以從其他兩個輸入框任意選取有效等價類來測試,用例8~18都是無效等價類,只能單獨驗證。
這樣分析下來,用例只有18條,比起原先的28條少了10條,這樣我們的用例才能更加精簡,在保證用例全部覆蓋的情況下避免了用例冗餘。
最後: 可以我的個人V:atstudy-js,可以 免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2846058/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- postman寫測試用例Postman
- 【轉】測試用例編寫(功能測試框架)框架
- Web自動化-Selenium自動化測試-4-編寫測試用例Web
- 手工測試用例與自動化測試用例的區別
- 介面測試用例編寫和測試關注點
- 測出Bug就完了?從4個方面教你Bug根因分析
- 軟體測試用例編寫(含思路)
- IDEA中用junit寫基本測試用例Idea
- 測試面試-測試用例面試
- 小白不懂就問,學自動化測試,會 Java 可以嗎,還是必須得會 python (python 不太會)JavaPython
- 測試用例
- ?0202年了,幾個基礎的手寫函式總得會吧函式
- 如何編寫介面測試用例?測試工程師必備技能!工程師
- 【用例設計】如何寫一份漂亮的測試用例?常見7大方法總結
- 【5】測試用例
- pytest 能否執行 nose 寫的測試用例
- 軟體測試用例的設計和編寫
- 第8課—設計測試用例編寫技巧
- 自動化測試|Eolink Apikit 如何儲存、使用測試用例API
- Spring Boot之單元測試用例總結Spring Boot
- httprunner(9)執行測試用例的方式總結HTTP
- 第一個mpvue小程式開發完了,來總結下吧Vue
- 如何寫一個好的測試?總結起來就這兩點……
- 【SQL優化】UNION替換OR效率測試及總結SQL優化
- IOS測試用例例子iOS
- 測試用例的方法
- 黑盒測試用例二
- 面經-測試用例
- 【學習筆記】不會吧不會吧,不會有人還在手寫堆吧筆記
- 基於LangChain手工測試用例轉Web自動化測試生成工具LangChainWeb
- 基於LangChain手工測試用例轉介面自動化測試生成工具LangChain
- 基於LangChain手工測試用例轉App自動化測試生成工具LangChainAPP
- 這可能是你少有的能get到測試用例編寫精髓的機會!
- 44行寫就Ruby單元測試框架框架
- 回顧專案測試全過程,測試如何回答 “測完了嗎?”
- 如何寫好測試用例以及go單元測試工具testify簡單介紹Go
- 測試功能總結得與失隨談
- 我寫了個 hyperf 測試用例擴充套件,可以提供和 laravel 幾乎一致的測試用例方法套件Laravel