自動化如何選擇用例

  • 2019 年 12 月 20 日
  • 筆記

在開始實施測試自動化時,應該選擇那些用例優先進行自動化?

問題來源於群里的一次聊天,在測試自動化實施中如何最大產出的問題。強調自動化覆蓋率?太片面了不太行。自動化效率?由於穩定性和可靠性不給力,這一條好像也不行。BUG比率?這項更不行。

但是第一步都是需要將測試用例自動化,那麼如何選擇要自動化的測試以及將哪些測試留給手動測試?

在開始自動化測試之前,需要考慮到在自動化測試上投入的時間、精力和資源後,看看自動化測試可以帶來什麼好處。以下是確定哪些手動測試應該或不應該自動化應該考慮的問題。俗話說,僅僅因為您可以使某些東西自動化並不一定意味着應該這樣做。

下面是一些觀點,給各位解決這個問題提供一些參考:

應該自動化的測試:

  • 業務關鍵路徑:如果功能或用戶操作失敗,則會對業務造成損害。
  • 需要針對應用程序的每個內部版本/發行版運行的測試,例如冒煙測試,健全性測試和回歸測試。
  • 需要針對多種配置(不同的OS和瀏覽器組合)運行的測試。
  • 執行相同工作流程的測試在每次測試運行中使用不同的數據作為輸入,例如數據驅動。
  • 涉及輸入大量數據的測試,例如填寫很長的表格。
  • 可用於性能測試的測試,例如壓力測試和負載測試。
  • 測試需要很長時間才能執行,並且可能需要在休息時間或通宵進行。
  • 測試必須捕獲圖像的過程,以證明應用程序的行為符合預期,或者檢查多個瀏覽器上的多個網頁看起來是否相同。
  • 一般而言,測試運行越重複,對自動化越好。

還要記住,測試用例自動化並不是自動化的唯一選項。設置或創建用於手動探索性測試的測試數據之類的任務也是自動化展示自己價值的理想途徑。

不應該自動化的測試:

  • 測試只能運行一次。該規則的唯一例外是,如果您要使用非常大的數據集執行測試(即使只有一次),則將其自動化是有意義的。
  • 用戶體驗測試可用性(測試要求用戶對應用程序的易用性做出響應)。
  • 需要儘快運行的測試。通常,開發的新功能需要快速反饋,因此請優先手動進行測試。
  • 需要基於領域知識/專業知識進行臨時/隨機測試的測試即探索性測試。
  • 間歇測試。沒有可預測結果的測試會導致更多的不確定性。為了從自動化中獲得最大價值,測試必須產生可預測且可靠的結果,以便產生嚴格通過和失敗的條件。
  • 需要視覺確認的測試,但是,我們可以在自動測試過程中捕獲頁面圖像,然後手動檢查圖像。
  • 不能100%自動化的測試完全不應自動化,除非這樣做會節省大量時間。

個人觀點:

  • 簡單>優先級>穩定性>重複性。