自動化測試

http://blog.csdn.net/a23764996/article/details/55215545
轉載


不斷髮掘自動化測試對各個團隊的附加價值,這樣才能得到來自四面八方的支持

沒有將自動化加入項目過程的自動化都達不到預期的效果

UI自動化框架

把UI自動化框架設計成一個拼圖性質的架構。把每個特性都設計成一個獨立的部分,然後組裝成UI自動化框架: 
(appium/webdriver)底層操作封裝特性 
Page Object特性 
測試用例管理特性 
測試執行引擎特性 
測試報告管理特性 
測試數據管理特性 
keyword特性

自動化原則:

1.選擇重點業務 
2.選擇較穩定的版本業務 
3.目標是保證主要功能業務完整正常,而不是爲了發現更多的bug 
4.並不能減少人力成本,主要作用是加快測試反饋,提高測試質量 
5.錄製回放,關鍵字驅動,可視化等一般不是好的選擇,因爲他們會增加6.腳本維護的難度,增加維護成本 
7.任何增加維護成本的自動化工作都是在耍流氓

如何減少自動化維護成本?

1、清晰、方便的日誌查看 
2、清晰整潔的測試報告 
3、快速的腳本調試 
4、快速的錯誤定位方式:如截圖、錯誤日誌、錄屏 
5、嚴格的腳本規範 
6、在策略上,腳本慢慢上,要非常穩定了才能上線到正式環境 
7、定時開展培訓分享工作,提升大家的能力。寫UI自動化不只是工作任務,更是自我提升的過程 
8、要有穩定的環境、穩定網絡,可以進行網絡監控、定時重啓等等

UI自動化框架優化方案:(在不增加維護成本前提下)

1.UI自動化框架加入錄屏模塊 
2.UI自動化框架加入接口請求報錯模塊 
3.UI自動化框架加入接口流程對比模塊 
4.UI自動化框架加入用例成功率、用例增長率等圖表展示度量模塊 
5.UI自動化框架加入web平臺支持,如用例集管理,異步執行 
6.UI自動化框架加入監控核心場景的性能,如網絡、啓動速度、內存消耗等 
7.UI自動化框架加入報錯時取內存快照、報錯堆棧等信息 
8.自動化測試環境一鍵搭建部署

UI自動化腳本可分爲3種:

1、監控腳本,監控服務器是否正常,監控每個頁面是否能正常顯示 
2、主流程腳本,監控主流程是否能正常運行 
3、模塊腳本,優先級較低,一般也是重點業務模塊先做

已經實現自動化的模塊可以不做手工測試了嗎?

爲了不做手工測試,就要多加很多驗證點,特別是UI的驗證點。驗證點越多,就會導致自動化越不穩定,自動化的維護成本就會越高, 
你對自動化的信心就會越低,自動化的成效也會越低。所以已經實現自動化的模塊還是可能需要做手工測試。 
那麼自動化測試的意義何在呢? 
- 自動化用執行次數來增加價值,執行次數越多,自動化價值越大。比如執行5次剛好成本和價值等價,那麼每多執行一次,自動化的價值就越多。 
- 特別是那些需要重複進行UI操作,比如適配測試,需要適配幾十個機型,是自動化去執行好呢還是一個個的手工執行好呢。 
- 我們不使用自動化去保證UI的準確性,而是去進行邏輯功能的測試。比如QQ的登錄功能,我們只要驗證點擊登錄後打開了好友列表,就說明登錄成功了。就是要怎麼穩定怎麼弄。 
- UI自動化主要作用是保證業務流程的貫通 
- UI自動化能夠幫助我們確保不會出現一些死人的問題,比如登錄不成功,頁面打不開等等。

UI自動化公式:

自動化收益 = 有效迭代次數 x 手工測試成本 
自動化成本 = 腳本創建成本 + 維護次數 x 維護調試成本 + 腳本失敗次數 x 腳本排錯成本

其他

1.測試工具、框架和自動化測試腳本本身的質量是最需要保證的,需要對測試工具、框架做單元測試 
2.自動化可以模擬用戶真實的場景,如讓用戶在一個頁面等待10分鐘或鎖屏、解鎖,該app是否還生存 
3.把手工用例與腳本生成的用例文檔進行對比,提示當前有哪些用例需要維護 
4.在代碼集成到主幹之前或之後先執行自動化,只要用例失敗(可以設閾值),則不能集成或回滾 
5.持續集成並不能消除bug,而是讓它們非常容易被發現和修復 
6.自動化要集成到持續集成過程中,目的是加快測試反饋,降低測試引入、發現到修復之間的時間間隔 
7.速度是評估測試價值的最重要考慮因素之一

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章