iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
1
DevOps

後端功城獅30天DevOps探討挑戰系列 第 16

Automated Testing 自動化測試

自動化測試,顧名思義就是能夠自動執行測試流程,且這在軟體專案中通常是獨立於該被測試系統的一套測試系統,專門執行重複且重要的必須測試工作,當測試計畫寫的完善與周全就可以幾近100%排除手動測試(但我認為這是一個很大的挑戰),而這些測試計畫是必須要與系統需求一同修改的,否則下次的執行就會失敗,是需要花心力與人力去做的事項,而在做自動化測試的時候,主要常見會測試三大區塊:單元測試API 測試UI 測試,其測試案例的數量也是由多到少,畢竟整合測試就是由多個單元組成的

https://ithelp.ithome.com.tw/upload/images/20191002/20111916sDPsvWSvGQ.png
圖片來源:What is Automated Testing?

再來我們在現實中在做自動化測試的時候,常常會有幾個迷思:

  • 自動化測試會節省很多時間?NO~就像剛剛說的測試程式的維護是相當累人的,一點都不會節省時間,只是把測試的人力移轉到開發測試程式上而已
  • 那自動化測試的成本很高?尤其是在小公司小團隊中,Hmmm....其實也不會啦!雖然說維護測試程式是件費時費心的事,但是有好的測試程式也是可以加速一些在測試的成本,排除包含基礎的和預期設定的,在頻繁發佈的情況下是有幫助的
  • 自動化測試比手動測試好?不盡然,雖然DevOps推動CI / CD,自動化測試儼然成為重要的一環,但是手動測試部分還是有些無法取代(但不一定必要)的流程,這兩者之間沒有誰比較好,只是不同而已
  • 同理,自動化測試也不代表導入後就要完全禁止手動測試,只是兩種不同方式而已,不用互相牴觸,是可以同時並存的,就流程上的調整而已

但現在在線上的一些早期大公司開發的老舊系統,大部分都是瀑布式開發,又沒有撰寫或維護測試程式,這要重新添加或修正是有相當大的難度的,尤其現在最常聽到的一句話,「欸,這個案子很趕!」是不是很似曾相似?(OS:我真想知道現在哪個案子不急~"~)而就算是有導入的團隊,有在維護的我相信也相當的少,只有有導入CI / CD的團隊才比較有機會完整維持測試程式的一致,因為要做到持續整合與持續交付,自動化測試是必要的條件,我們看看下圖,有簡單列出一些常見在自動化測試中的測試活動

https://ithelp.ithome.com.tw/upload/images/20191002/201119164E7P6KYaKY.png
圖片來源:Continuous Integration vs. Continuous Delivery vs. Continuous Deployment

這中間包含了整合測試、系統測試、煙霧測試、UAT、效能測試.....很多很多,其實可以依照各個專案在意的點以及能實行的部份去增減相對的自動化測試流程

最後,這是調查出來2019最受歡迎的10大自動化測試工具,不妨挑幾個來試試看吧

https://ithelp.ithome.com.tw/upload/images/20191002/20111916AuxLh1SPsX.png
圖片來源:Best Automation Testing Tools for 2019 - Top 10 reviews

參考資料、延伸閱讀:

下集預告:Test Plan 測試計畫


上一篇
Testing 測試
下一篇
Test Plan 測試計畫
系列文
後端功城獅30天DevOps探討挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言