自動化測試,顧名思義就是能夠自動執行測試流程,且這在軟體專案中通常是獨立於該被測試系統的一套測試系統,專門執行重複且重要的必須測試工作,當測試計畫寫的完善與周全就可以幾近100%排除手動測試(但我認為這是一個很大的挑戰),而這些測試計畫是必須要與系統需求一同修改的,否則下次的執行就會失敗,是需要花心力與人力去做的事項,而在做自動化測試的時候,主要常見會測試三大區塊:單元測試、API 測試 與 UI 測試,其測試案例的數量也是由多到少,畢竟整合測試就是由多個單元組成的
圖片來源:What is Automated Testing?
再來我們在現實中在做自動化測試的時候,常常會有幾個迷思:
但現在在線上的一些早期大公司開發的老舊系統,大部分都是瀑布式開發,又沒有撰寫或維護測試程式,這要重新添加或修正是有相當大的難度的,尤其現在最常聽到的一句話,「欸,這個案子很趕!」是不是很似曾相似?(OS:我真想知道現在哪個案子不急~"~)而就算是有導入的團隊,有在維護的我相信也相當的少,只有有導入CI / CD的團隊才比較有機會完整維持測試程式的一致,因為要做到持續整合與持續交付,自動化測試是必要的條件,我們看看下圖,有簡單列出一些常見在自動化測試中的測試活動
圖片來源:Continuous Integration vs. Continuous Delivery vs. Continuous Deployment
這中間包含了整合測試、系統測試、煙霧測試、UAT、效能測試.....很多很多,其實可以依照各個專案在意的點以及能實行的部份去增減相對的自動化測試流程
最後,這是調查出來2019最受歡迎的10大自動化測試工具,不妨挑幾個來試試看吧
圖片來源:Best Automation Testing Tools for 2019 - Top 10 reviews
參考資料、延伸閱讀:
下集預告:Test Plan 測試計畫