怎麼樣的設計才能算測試用例
引自:IEEE Standard 610 (1990):
A set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
(IEEE Std 829-1983) Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.
但是,當每一次迭代中,執行全部的測試用例很多時候變成了一個很難的事情。
劃分測試用例優先級好處
沒有軟件系統是完美的,任何系統都有BUGS。但是每一次得迭代都有一個期望,測試工程師需要知道本次迭代的項目關係人的預期,找到對應的目標和風險。
Sue Bartlett在“How to Find the Level of Quality Your Sponsor Wants”一文中描述瞭如何獲取上面說的的目標和風險。文章說在詳細的計劃、設計或者編碼前就明確質量目標,這樣會更好的保證交付一個滿足預期質量目標的交付物。
Ross Collard指出10%到15%的測試用例發現被測系統的75%到90%的BUGS。
這也是二八原則,二八原則影響了軟件測試很多。
怎麼劃分優先級呢
我相信你肯定也遇見過如下場景,面對成百上千的測試用例,要挑選出一個最小的、最終要的、優先級最高的測試用例集的時候卻無法下手。對測試用例進行優先級的定義並不容易,而且優先級的定義在每一次迭代中或者迭代後都有可能修改。因此測試用例的優先級是動態的。
1、 構建驗證測試(BVT)
BVT也成爲冒煙測試用例集。是每次測試開始allin投入前最希望被運行得以確認的測試用例集。
冒煙測試用例集的規則:如果該用例無法正確執行成功,其他測試用例都沒有辦法執行。如果滿足該條件的測試用例,那麼就應該納入冒煙測試用例集。
2、高優先級
高優先級測試用例集合是按照執行頻度和業務功樹的根部分支的條件選入的。
高優先級測試用例的規則:BVT中加入最常用的測試用例,用來驗證重要或者主幹流程的功能穩定、功能正確。測試用例中既包含了正確的數據流也包含了錯誤的數據流。
3、中優先級
中優先測試用例集合是按照執行頻度和業務功樹的主要分支的條件選入的。
中優先級測試用例的規則:在新迭代影響域(新功能區域)或者功能更加詳盡。測試用例包含了大多數方面的功能,其中除了有正確數據流和錯誤的數據流,還應該有一些配置方面的測試。
4、低優先級
低優先測試用例集合是按照執行頻度和業務功樹的根部分支的條件選入的。
低優先級測試用例的規則:這個是最不頻繁的測試用例執行的部分。但是低並不是說不執行,不測試。只是在迭代的過程彙總,執行頻率比較低,不常常被執行。例如:錯誤消息,可用性,壓力和性能測試等。
開始劃分你的測試用例
1、粗狂劃分,任意標註
將全部功能的正確性驗證(happy path)的測試用例定義爲高優先級;
將全部有錯誤或者有邊界值驗證的測試用例定義爲中優先級;
將其他定義爲低優先級(這裏面主要是非功能測試用例)
2、Review每一個測試用例,升級或者降級
通過對每一個測試用例以及其優先級的標記的重新review,開了測試的重要性以及執行頻度等,按照下面進行降級處理。
將功能驗證測試分爲兩組重要和非重要,將“不太重要”的功能驗證測試降級爲中等優先級;
將錯誤和邊界測試分爲兩組重要和非重要。將“重要”錯誤和邊界測試推廣到高優先級。
將非功能性測試分爲兩組重要和非重要。將“重要”非功能性測試推廣到中等優先級。
對每組高,中和低優先級測試用例重複劃分和升級/降級過程,直到達到優先級之間移動的測試用例數量變爲0,終止。
3、 確定BVT
將高優先級測試分爲兩組,分別爲致命和嚴重(如果出現bug就是致命bug,那麼這條測試用例也設定爲致命。將致命的測試用例歸併到BVT優先級。
相對統計的優先級分佈BVT 10-15%,高20-30%,中等40-60%和低10-15%。
參考
http://thinktesting.com/articles/rapid-test-case-prioritization/http://thinktesting.com/articles/regression-testing-strategic-and-risk-driven-can-you-afford-not-to/http://thinktesting.com/articles/write-a-test-strategy-what-choices-do-i-have/http://thinktesting.com/articles/risk-mitigation-and-scarcity/
關注我,關注測試