怎樣的軟體測試個案最適合自動化測試?
這篇文章主要針對怎樣的測試個案最適合自動化測試做討論。
要不要自動化測試最重要的考量還是 ROI!投資報酬率。
自動化測試之後,是不是預期的未來相關的測試都可以電腦自動執行?
有沒有哪些因素會導致較高的 ROI呢? 這篇文章將做一些討論。
自動化測試ROI 考量
對於測試個案來說,可以考量下列因素,滿足的條件越多,ROI越高。舉例來說:
1. 多組測試資料
如果有一個測試個案,例如登入的功能性測試。這樣的測試需要上百組的測試資料(使用者名稱、密碼)的組合來做測試。
因此,這個測試個案 + 100組測試資料。如果是人工測試就會需要很多時間,而且大量重複性的工作。
這樣的測試個案就很適合做自動化測試。Data Driven Testing。而且 ROI 很高。因為操作步驟並不複雜。
2. 瀏覽器的相容性測試
如果測試的重點需要多組瀏覽器的相容性測試。例如登入的功能需要在下列瀏覽器測試:
- IE 9, IE 10, IE 11
- FireFox
- Chrome
那麼自動化測式的效益也會很大。因為一組測試程式可以”同時”執行在多個不同的平台。
不管是測試所需要的時間或是測試的效率,自動化測是都會有幫助。
3. 多種平台
測試個案並須做相容性測試在多種平台,例如 windows 7, Win8..等。甚至跨平台的 Mac or Linux。
這時候自動化測試程式也必須考量跨平台的執行。通常會以 python 或是 Java 為測試程式開發。
4. 線上使用者的數量
如果測試需要一定使用者數量的話,那麼自動化測試就很適合。因為自動化測試可以模擬出一定使用者的數量與使用模型。
甚至是效能測試需要模擬上千個使用者時,更一定需要自動化測試才可以達成。
5.預期可以被重複執行的次數?
當自動化測試完成之後,在不修改程式的狀況下,可以被預期未來在專案中,該自動化測試程式可以被重複使用的次數。
如果該次數很高,甚至是每天都可以用來執行基本的測試,簡化手動測試的步驟,那麼這些測試個案自動化測試的價值就很高.。
相對的哪些比較不適合自動化測試?
- 過於複雜的商業邏輯。有些商業邏輯需要人的判斷才知道是否合理或是可以簡化的地方。這也是軟體QA測試的價值所在!
- 測試個案有許多相依性。前後有所關聯與因果關係。這樣的測試個案也比較適合用人工檢查的方式。
- 資料變動過於頻繁。舉例來說,Yahoo News。News 的內容每天都會變動。如果要自動化測試,必須注意測試程式驗證的方式。由於輸入的資料每天變動,所以驗證的預期結果也必須相對應的更新。
小結
自動化測試的目標並不是 100%將現有的測試個案自動化. No!.
自動化測試的目標是確保現在所投入在測試個案上,”一次性”的自動化測試努力,可以得到未來的”多次回報”
這個”回報”包含,自動化測試上百組測試資料、自動化測試在多個平台上、自動化測試既有的功能、模擬多組使用者同時使用的狀態等
當這些都有所回報時,QA的價值可以進一步提升產品的 usability 、流程的簡化、提高產品的附加價值等。