[5] 測試是一門學問,關於自動化測試


提到自動化測試,許多人都認為團隊一定要導入,相信可以解決許多問題。

如果你也對自動化測試有所期待,不妨先參考對自動化測試常見的五個誤解,釐清對於自動化測試的期待。

本篇,我將分為三個方向來討論自動化測試,分別是測試框架、撰寫自動化測試、執行策略。


測試框架

現在業界有很多自動化測試框架,在選擇框架時,建議有幾個點一定要考慮:

  • 產品性質
    雲端平台或是行動應用程式,都有各自領域較合適的框架。

  • 程式語言
    團隊必須要有共識,使用哪種程式語言撰寫自動化測試。

自動化測試框架,大概由三個要素組成:

  • Test suite
    自動化測試案例的集散地,在測試是一門學問,關於測試案例中,提到測試案例必須分類管理,同樣的道理,自動化測試案例也必須適度的管理。

  • Test runner
    負責執行測試,可能有使用者介面 (GUI),或者只是命令行 (Command line)。好的 test runner 可以選擇要執行的測試,或是調整參數,讓你在開發或執行測試時更加方便。

  • Report
    好的測試報告,除了提供測試的結果,當有測試案例未通過時,更可以幫助我們快速分析錯誤的原因。


撰寫自動化測試

寫出可以執行的自動化測試,其實不難,但品質工程師的挑戰,在於寫出可靠的自動化測試。

好的自動化測試腳本,一定包含以下流程:

  • Setup
    初始化環境,建立測試資料

  • Test
    測試的本體

  • Teardown
    還原環境,清除測試資料

品質工程師撰寫的自動化測試,多半都是模擬使用者情境的端對端 (End-to-end) 測試,以上三個步驟中,通常需要花很多精力處理 Setup 跟 Teardown。


執行策略

自動化測試的執行策略,往往是最常被忽略的部分。

思考這兩個問題:

  • 什麼時候執行自動化測試?
  • 從自動化測試的結果得到什麼?

如果以上兩個問題沒有答案,表示沒有執行策略。

如果有執行策略,可能會是這樣:

  • 代碼凍結 (code freeze) 後執行自動化測試
    • 測試結果通過,產品可以上線
    • 測試結果不通過,產品有 bug 需要解決

執行策略和專案進度息息相關,沒有絕對好的方式,應該大家一起溝通協調,找出適合團隊的方式。


自動化測試其實是學問中的學問,很多公司甚至有自動化測試部門,或是自動化工程師職務。

實務上,大家通常將自動化測試,視為品質工程師的必備技能,對品質工程師來說是挑戰,也是個機會。

品質工程師在導入自動化測試時,要讓團隊充分理解自動化測試能帶來的價值,以及限制。更重要的是,要知道自動化測試是個中長程計畫,不可能一步到位。

自動化測試雖然不是品質工程師唯一的職務,但往往最能體現品質工程師的價值。

#software development #quality assurance







你可能感興趣的文章

34歲才開始自學寫程式會不會太晚?真的有心,永遠都不嫌晚。

34歲才開始自學寫程式會不會太晚?真的有心,永遠都不嫌晚。

使用 Prometheus 和 Grafana 打造 Flask Web App 監控預警系統

使用 Prometheus 和 Grafana 打造 Flask Web App 監控預警系統

Javascript - 基礎

Javascript - 基礎






留言討論