研效最佳化實踐:WeTest提效測試
導語
騰訊 WeTest平臺在專案測試過程中,為企業及開發者提供了很多便利,幫助發現產品潛在問題。接下來,本文將分享一些使用WeTest進行測試提效的小經驗,希望能幫到大家。本文作者是騰訊IEG增長協同部測試開發工程師連凌淦,擁有多年系統測試經驗,在自動化、全鏈路壓測等專項測試領域有一定的經驗。
自動化相容測試
UI自動化是提高測試效率的一個重要手段,像poco、appium都是常用自動化框架,相關資料都很多,這裡就先不展開講,主要分享一些實操過程可能會遇到的問題。
1.1真透過與假透過
每次自動化相容測試結束後,WeTest平臺會返回一份對應的測試報告,涵蓋測試過程中的詳細資訊,如裝置日誌、截圖、效能資料等,可以做進一步的結果分析。概覽資料涵蓋本次裝置維度的測試結果,包括透過的裝置數量、未透過的裝置數量等。
裝置維度未透過的定義為發生相容性問題,如Crash、ANR等。有時在測試過程中,指令碼可能未執行完畢,最終也會判定為透過,屬於假透過的情況,影響最終的統計結果。
每次提交相容性測試的機型都是幾十上百臺,對所有透過的機型再一個個開啟校驗,時間成本太高,那麼有什麼方案能幫助我們快速找出來未真正執行指令碼的裝置呢?
基於一個不太嚴謹的前提假設,同一個UI自動化指令碼執行,理論上全流程時間在不同機型上相近的(如果有wait_until_something_appear這樣的操作,操作時長就會因機型產生差別),而WeTest截圖的時間間隔基本固定,大致可以認為每個機型完整執行過程產生的截圖數量波動較小,我們只需要對偏離較大的測試透過用例進行檢查。
1.2.airtest可以訪問到節點,指令碼執行報poco未檢測ui控制元件節點
使用poco進行自動化測試過程中,有時候會發現airtest可以定位到的節點,執行過程卻報了node not found的錯誤,這是由於poco的ui樹未及時重新整理導致的,建議適當增加sleep間隔,等待ui節點樹重新整理。
1.3.部分機型有許可權彈窗問題
部分機型彈窗也可能會導致一部分假透過問題,所以提交特定機型測試,並且測試app有許可權申請的,要關注下是否會有許可權彈窗。由於彈窗沒有id可以快速定位,這裡採用了輪詢節點的方式,在啟動測試用例之前,透過輪詢ui節點以及關鍵字匹配“允許”或者“拒絕”,找到對應的元素並點選。
2、日誌測試自動化
日誌上報是產品資料分析的基石,產品執行過程會在非常多的節點上報資訊,每次逐條檢查確認是個費時費力的過程,無論是從上報鏈路檢查還是從落庫資料檢查,手工操作、查驗結果都是一個繁複的工作,且容易產生遺漏。因此,我們將UI自動化功能測試與日誌測試相結合,基於藍盾流水線和WeTest,搭建了一個日誌自動化測試模組。
因為打點日誌上報的量較大,我們需要精準地抓取本次操作產生的日誌,並作為關鍵字到db進行搜尋。這裡我們採用打本地檔案的方式,儲存執行過程的狀態以及用於定位本次搜尋的關鍵字,用於後續的操作校驗以及搜尋。
如何把自動化執行過程的資料傳遞給校驗模組,考慮過下面幾種方案:
1、 透過mq(redis、kafka等),實現資料傳輸到查詢校驗模組;
2、 另起服務接收資料,透過介面呼叫傳遞資料;
3、 將校驗模組耦合到日誌測試指令碼;
4、 本地日誌記錄,透過log檔案傳遞資訊。
基於不同功能模組解耦維護,以及開發成本上的考慮,最終我們選擇了最原始的檔案儲存形式,這種方式也便於問題查證的時候,能從WeTest找到關鍵資訊。WeTest相容性測試支援把檔案複製到開發機,在endTest.sh 檔案中加上:
cp XXX.log $UPLOADDIR/
即可配合流水線操作。
3、資料驅動提高覆蓋率
全量提交測試會導致任務週期久,並且公有云裝置不可避免會存在等待時間,每次全量提交也可能給產品帶來額外的測試成本。
我們需要思考,每增加一個測試機型,能給我們的流量帶來多大的覆蓋?哪些機型的佔比更高,更加重要?現有的WeTest測試機型庫,是否滿足我們自己產品的機型覆蓋呢?
那麼,我們能否透過現網的使用者分佈,疊加一些機型、系統分佈條件,來進行更加精準的相容性測試呢?
首先,騰訊WeTest平臺上的相容性機型覆蓋了市場的主流top機型,但Android系統的機型長尾效應特別大,產品面對的使用者收入,決定了其所使用的機型,為此,透過打點上報資料,獲得了我們產品的使用者機型流量分佈圖,與現有的外網top500的benchmark 機型進行了比較。
利用上述資料,我們跟WeTest的機型按照產品流量top50、100、300、500做了一個交集,得到下面的佔比圖。
有了上述的機型資料,測試過程中可以進行更加精細的測試驗證:
1、相容性測試補齊產品流量中WeTest現有機型,提高相容性測試覆蓋率。
2、不同的測試場景,選用不同測試機型組,縮小測試範圍,更快獲得結果。
3、可針對性購買測試機,補齊少數WeTest平臺沒有的機型,提高測試過程的使用者機型覆蓋。
以上,是在產品測試中使用WeTest提高測試效率、覆蓋率的小小實踐,歡迎探討~
若您有業務需求,歡迎諮詢客服了解詳情
客服電話:0755-86013388-22126
客服QQ:2746728701
工作時間(週一至週五9:30-18:30)
關於騰訊WeTest
騰訊WeTest是由騰訊官方推出的一站式品質開放平臺。十餘年品質管理經驗,致力於質量標準建設、產品質量提升。騰訊WeTest為移動開發者提供相容性測試、雲真機、效能測試、安全防護等優秀研發工具,為百餘行業提供解決方案,覆蓋產品在研發、運營各階段的測試需求,歷經千款產品磨礪。金牌專家團隊,透過5大維度,41項指標,360度保障您的產品質量。
關注騰訊WeTest,瞭解更多熱門測試產品:
WeTest騰訊質量開放平臺 -您的質量守護專家
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31420651/viewspace-2852817/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 研效優化實踐:WeTest提效測試優化
- 測試提效篇: 個人工具篇
- AI 大模型輔助測試提效的思考AI大模型
- AI 大模型輔助測試全流程提效AI大模型
- 【乾貨分享】研效最佳化實踐:AI演算法助力深層BUG挖掘AI演算法
- 1688 複雜業務場景下的 Serverless 提效實踐Server
- DevOps|研發提效-敏捷開發之每日站立會dev敏捷
- 提點效: 使用 Cursor
- Serverless 應用引擎 SAE 助力袋拉拉研發提效 70%Server
- 產品團隊管理 - 統一研發環境,提效研發過程
- 阿里 Midway 正式釋出 Serverless v1.0,研發提效 50%阿里Server
- 有哪些框架/工具有利於小程式研發提效框架
- 提升 50% 的編譯速度!阿里零售通 App 工程提效實踐編譯阿里APP
- Midway Serverless 釋出 2.0,一體化讓前端研發再次提效Server前端
- 大家公司裡有沒有引入 AI 進行測試提效?效果如何?AI
- RPA助力律師行業提效行業
- 請問大家如何進行提效?
- 開發提效小技巧分享(一)
- 水滴低程式碼搭建——6倍提效,新品首發素材稽核系統實踐之路
- 【乾貨分享】研效優化實踐:AI演算法助力深層BUG挖掘優化AI演算法
- Java 提效神器 Stream 的冷門技巧Java
- 如何制定測試團隊的績效考核
- 袋鼠雲平臺程式碼規範化編譯部署的提效性改進實踐編譯
- 效率前端微應用推進之微前端研發提效|得物技術前端
- Python 常用的 50 個提效小指令碼Python指令碼
- 這些CSS提效技巧,你需要知道!CSS
- 貨拉拉大資料測試質效提升之路大資料
- 超 90% 研發人員使用通義靈碼,蓋雅工場打造研發提效駕駛艙
- 研發提效必備技能:手把手教你基於Docker搭建Maven私服倉庫DockerMaven
- 個推大資料降本提效實戰分享-Q&A精選大資料
- canvas 中普通動效與粒子動效的實現Canvas
- 人工智慧成熟之道:從實踐到實效(附下載)人工智慧
- 工業物聯網如何實現降本、升效、提質、安全、綠色
- QQ音樂的動效歌詞是如何實踐的?
- 銀行如何使用RPA軟體為企業提效
- [提問交流]新建分類選單,授權無效
- 製造業短週期訂單交付如何提效?
- 網易新聞推薦業務測試質效提升