GUI Automation 真的值得嗎?


GUI Automation and ROI
http://blogs.msdn.com/imtesty/archive/2008/03/28/gui-automation-and-roi.aspx


在這篇文章中提到, 一般在做測試自動化時, 大多是以 GUI automation, 或是皆由操作 GUI object 來測試 function 為主流. 但是作者覺得這樣做的代價很高, 是一個很差的投資.



在我的公司裡頭, 很多 product teams 確實都是以 GUI automation 為主要方法. (common module team 或是 appliance team 不算) 他們不是以 commerical capture/replay tool (像是 Robot), 便是以自行開發的 UI testing framework 為主. 但是就我的經驗來說, 應該是不容易成功. 其理由如下:


(1) UI 通常容易變動, 像上一篇所談, 你的 UI script 很容易因而作修改


(2) 有些 UI tool 會和解析度有關, 因此只能在特定機器上 replay. 可移植性較差


(3) 在 UI script 中常常需要依賴 wait 的機制, 因為你必須等待下一個畫面出現. 什麼時候會出現, 這是不可預期的. 要看機器及測試的資料狀況. 因此整個執行時間較長, 且執行結果較不可預期.


(4) 有些 UI control 是無法辨識的, 因此只能以座標來操作, 這樣會無法確保在不同機器上可以執行. 不過這種現象已經比較少出現

.....

(日後想到再補)




作者也提到 Microsoft 比較多是使用 non-GUI的automation. 我自己本身有曾經 interview 過一位 Microsoft 的員工, 他說微軟也是會做 GUI 的自動化測試, 但是他是在product release 之後才做. 我想這還算很合理, 因為以他要維護這麼久來看, 投資 GUI regression test automation 適值得的



此外作者還提到若是測試自動化執行的次數. 通常QA在做完自動化後, 執行測試程式的次數真的不多. 而且過了一段時間不去執行它, 那些程式說不定已經都不能執行了. 所以結合 CI 是讓測試程式的 ROI 會感覺高一點



最後作者還提到 test automation 的 cost 還包含之前的 design, environment preparation, debug, enhancement, maintenance 等等. 若是只是計算 execution和manual比以來所省的時間, 會讓你誤以為 test automation 的 ROI 很高. 若是你把前面那些項目加進入, 可能會讓你三思而後行. 怪不得會有 Just Enough Software Test Automation這本書的出現



    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()