
實施過了web系統的UI自動化,回顧梳理下,想到什麼寫什麼,隨時補充。web
首先,自動化測試不是手動測試的替代品,是比較好的補充,並且不是佔大比重的補充。 70%的測試工做集中在底層接口測試和單元測試,20%的測試工做爲集成測試,其餘10%的測試即爲界面測試。瀏覽器
###開發方向:框架
- 儘量的相通的模塊,通用的封裝
- 開發約定好,便於定位
- 適用兼容測試
- 無界面運行
- 快速定位問題:報錯信息、錯誤截圖
- 多環境
###收益點分佈式
- 腳本開發時間和複用次數
- 快速驗證,第一時間響應問題
###還能夠作哪些?單元測試
- 兼容性
- 多環境
- 便於快速定位
- 提煉更多通用模塊。
- 調研更優解決方案,好比:cypress等
- case依賴優化
- 深度校驗
###什麼樣的項目適合web自動化測試
- 系統穩定,太多的阻止程序或更改。
- 準備以前,先手工測試,確認自動測試能夠涵蓋的系統功能。
- 須要多系統,多瀏覽器兼容性測試
###什麼樣的功能點須要web自動化優化
- 主業務流程
- 易於實現自動化的web元素、頁面
- 重複量大的功能
###web自動化常見的驗證點ui
- 頁面元素驗證
- 頁面列表數據驗證
- 頁面元素屬性?
- UI的文本,圖片顯示正確性
- UI的交互邏輯正確性測試
- UI上的用戶行爲正確性測試
###對於web自動化框架常見的需求點設計
- 分佈式執行,能夠多機器,多瀏覽器同步執行腳本
- 適用於不一樣環境運行
- 分層設計,方便維護
- 生成測試報告
- 模塊的複用
- 必要的日誌蒐集
###UI自動化收益點的採集日誌
- 迴歸測試須要按期運行,在自動化時,它們能夠節省測試人員的時間,咱們能夠更專一於其餘場景和探索性測試。
- 腳本開發時間和複用次數
- 誤報頻率
###UI自動化缺點or侷限
- 不能快速反饋(相對於單元測試和API測試)
- 只會對於case已肯定的內容進行校驗
- 運行的穩定性
- 發現的錯誤很少,大多數錯誤彷佛是經過「意外」或進行探索性測試而發現的。這多是由於在每一個探索性測試會話期間,咱們可能以不一樣的方式測試應用程序,從而經過應用程序找到新的漏洞。
- 編寫優秀且穩定的XPath / CSS定位器所花費的時間,並在底層HTML標記發生變化時更新它們。
- UI自己的變化性,要想達到和手工測試相同的覆蓋率,投入比較大。
###如何進行CI(Continuous Integration),也就是持續集成 ● 持續提交代碼 (Check-in) ○ 一天之中屢次提交 ● 持續構建代碼 (Build) ○ 保證在任什麼時候刻代碼是能夠繼續開發的 ● 持續部署代碼 (Deploy) ○ 保證始終有一個能夠部署的版本 ● 持續測試代碼 (Test) ○ 每次提交均執行單元測試 ○ 天天一次或數次集成測試 ○ 天天一次或數次系統測試
不過,高頻的集成,仍是用接口更加合適,後面的工做會把系統的交互接口自動化,屆時分享。