Automation tests 1 — Why Automation

一開始,先用一點篇幅來聊聊,為什麼要做 automation tests。

一般導入自動化測試,無非有以下幾點原因:

  1. 把重複性的動作自動執行

  2. 把需要人工輸入的動作自動執行

  3. 以較低的成本做 regression tests

  4. 以較低的成本做壓力測試

但這樣就... 沒什麼了不起。




做 automation tests 的原因,其實是把不需要智力的 check 交給電腦做,而把真正寶貴的人力留起來去做測試 (test)。這邊定義一下我認知的 check 與 test:


Check:

根據已知的流程與 input,去檢驗結果是不是如預期的發生。比如說,使用合法的帳號密碼登入,就會成功登入。這種情況有點類似之前 PM 寫 spec,然後 QA 根據 spec 寫 test plan 與 test case,然後等程式寫好以後,再根據 test plan 與 test case 去做測試,看看預期結果跟實際結果是否相符。這樣在已知的範圍內,去檢查結果是不是如預期的發生,我認為叫做 check。

Test:

真正的測試,是不斷問問題的過程,是 QA 人員藉由各式各樣的操作,去問 SUT (System Under Testing,待測物) 問題,並從這樣的過程中,不斷增加對於 SUT 的認識。Testing 是在未知中找尋結果,是一個發現的過程,而不是死板板的看著某份文件執行第一步、第二步等等。

所以,為什麼要做 automation,我認為是要找出系統的未知,而把已知交給電腦做。換個說法就是,人去做測試,讓電腦去做檢查。


接下來幾篇,我會介紹我在某公司所導入的跨平台的自動化測試的做法。

留言