金字塔的頂端
記得第一次上Testing的課程時
講師就說測試分成三種
單元測試,整合測試
和UI測試
由下到上就像是金字塔
單元測試是底座
而UI測試是頂端
我以為事情就是這麼簡單
但實際上卻不然
前幾天寫了幾個UI測試
在和同事Review過後
才發現很多我沒有深思的問題
寫過測試的人大概都同意
越頂層的測試越容易失敗
因為有太多不確定性
像是網速、資料庫連線
或是UI改動等等
既然容易失敗
就不要寫那麼多
應該只保護最重要的事情
像是登入,儲值這種功能
至於廣告版位
或是連結這種無傷大雅的功能
是否要寫UI測試
就值得再考慮一下
另外一個的點就是
測試的可維護性
寫的當下作者可能很愉快
覺得自己保護了功能
不過實際上UI的變動非常快速
太多的UI測試
反而會造成維護上的困難
花太多時間在修理測試
到最後測試壞掉後
大家看到都麻木了
反而失去測試的意義
這一些都是公司的前輩告訴我的
當初的UI測試經歷了三次大更動
就是因為測試常壞
壞了沒人在乎
最後才去蕪存菁留下目前的UI 測試
金字塔的頂端
其實有兩個含意
一個是最少
一個是最重要
UI測試除了是針對end to end的測試
實際上也是代表在程式中
最重要的邏輯
如同單元測試所強調的
優先測試Critical Path一樣
紀錄一下
提醒自己以後寫UI測試時
能夠再多想一下
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Frank's Talk!