活動介紹
TMQ第四十五期在線沙龍分享活動圓滿結束啦!
本次分享的主題:EP(測試分析+分層自動化測試)實踐
共有247位測試小夥伴報名參加活動。
想知道活動分享了啥嗎?
請往下看吧!
嘉賓
楊春喜:騰訊QQ瀏覽器測試工程師,目前主要負責QQ瀏覽器視頻性能測試。
分享主題
測試分析+分層自動化測試模式的效果
與傳統測試模式的差別
測試分析+分層自動化測試具體方案介紹
測試分析+分層自動化測試模式運作的機制
問答環節
1、hook是什麼?
答:Hook英文翻譯過來就是「鉤子」的意思,那我們在什麼時候使用這個「鉤子」呢?在 Android 操作系統中系統維護着自己的一套事件分發機制。應用程序,包括應用觸發事件和後臺邏輯處理,也是根據事件流程一步步地向下執行。而「鉤子」的意思,就是在事件傳送到終點前截獲並監控事件的傳輸,像個鉤子鉤上事件一樣,並且能夠在鉤上事件時,處理一些自己特定的事件。Hook的這個本領,使它能夠將自身的代碼「融入」被勾住Hook的程序的進程中,成爲目標進程的一個部分。常用的Android hook有:AndFix、Xposed、Dexposed、Epic。
2、只是做手機測試,對於各模塊(每個APK)適用這種分層自動化測試嗎?
答:我們會對每個模塊進行測試分析+分層自動化測試。只有活動類的需求或者純屬UI交互改動類的需求不採用這種模式。
3、請問分層自動化測試的入門書籍和進階書籍有哪些可以推薦的嗎?
答:TMQ介紹精準分析的文章和自動化的文章,書籍方面比如:《騰訊Android自動化測試實戰》和《不測的祕密:精準測試之路》。
4、手動BUG能有多少實現分層自動化測試用例?
答:分層自動化測試的bug在終端類型產品中我們目前做的的比例是20%-40%左右,分層自動化率在30%-40%。
5、是如何提高用例穩定性百分比的?
答:(1)建立整體分層穩定性運轉機制:建立穩定性監控機制、規範用例上線下流程;指標數據對應到個人;
(2)針對當前用例穩定性問題,進行了11項優化,包括:優化用例本身;優化用例驅動層,對process crashed用例進行重跑,優化測試框架:截圖、彈框檢測及處理;
(3)實現平臺化:實現了在線的穩定性監控、用例上線下管理,失敗跟進等。
6、你們要求把所有用例都翻譯成自動化測試腳本嗎?
答:我們是基於對業務實現架構和具體分層方案理解的基礎上,基於測試分析(需求分析+代碼分析)進行分層測試策略的驗證,ui的交互和動畫部分採用手工驗證,基於終端邏輯層和終端UI展現邏輯,以及後臺的測試寫成分層自動化腳本。不存在要把已有的用例翻譯成自動化測試腳本的過程。
7、目前貴公司的UI自動化覆蓋度和穩定性如何?
答:當前是98%左右,覆蓋度在30%-40%。
8、採用的什麼框架?native、webview、小程序的安卓和IOS端是否全部覆蓋到呢?
答:以Android爲例,採用的測試框架都是行業通用的框架。
UI:Robotium+UIAutomator2.0 ,邏輯層:採用AndroidJUnit4+MockitoAndroid方案
native、webview、小程序的安卓和IOS端都會覆蓋到,除了活動類以及純UI交互類的需求不會覆蓋。
9、測試 是通過自定義腳本和一些第三方測試工具嗎?
答:自動化測試用例是基於分析的基礎上,UI層驗證的部分使用Robotium+UIAutomator2.0測試框架編寫自動化腳本。邏輯層採用AndroidJUnit4+MockitoAndroid測試礦漿編寫自動化用例。
10、自定義腳本一般是什麼用腳本獲取界面元素進行點擊嗎?
答:跨應用情況下使用UIAutomator2.0,其他情況用Robotium獲取到界面元素進行點擊。
11、提測之前寫自動化用例,是已經和rd約好了id, text等的具體值嗎?
答:不需要跟其他角色約定,只需要根據測試分析(需求理解+代碼分析)進行分層測試策略制定,找到入口和梳理關係鏈圖進行分層的自動化腳本編寫。
12、這裏講的UI層的mock,如何實現的?
答:這裏UI層的mock是指 進行邏輯層測試的時候 是模擬UI層對於邏輯層的入口的調用 ,根據處理邏輯在UI層入口灌入不同的數據,驗證邏輯層正確性。
13、小程序接口測試,貴公司採用的方案是哪種?是否自己開發還是利用現有工具?
答:小程序我們目前暫時沒有對應的產品,一般能用通用的框架就採用通用的框架。
沙龍視頻
手機掃碼下載PPT