QNET手機弱網測試


一、產品介紹

1、背景

為什么要進行網絡測試?

(1)驗證應用/游戲在不同網絡場景下表現是否符合預期,會不會觸發未知的系統bug;

(2)提高不同網絡場景下的用戶體驗;

(3)測試公用組件/SDK在不同網絡狀態下的穩定性。

目前在測試移動設備上進行弱網絡專項測試的方案主要有兩種:

(1)通過Android設備連接到PC上進行弱網絡測試,比如Fiddler,Charles,NET-Simulator等。基本思路是在PC上裝一個Fiddler網絡抓包工具,然后再將Android設備的網絡代理到PC上,通過在PC上的 Fiddler在設置延時來進行弱網絡模擬。

(2)在專有服務器上構建弱網絡Wi-Fi,移動設備連接該Wi-Fi進行弱網絡測試,相關的技術方案有 Facebook的ATC和騰訊的WeTest-WiFi。

以上兩種方法都能夠實現移動設備的弱網專項測試,也已經是比較成熟的方案,但都存在以下幾點缺點:

(1)需要額外的PC或者服務器,弱網環境構建成本高;

(2)需要安裝、部署額外的工具,並且弱網絡環境需要在PC上或者Web上進行配置,使用成本高;

(3)弱網絡環境功能並不完善,比如Fiddler不支持丟包、抖動等弱網環境。 

2、QNET介紹

  QNET網絡測試工具能夠不借助PC或者服務器,搭建一套完善的弱網環境,進行弱網絡模擬測試,只需在任一智能手機上安裝QNET網絡測試工具,即完成弱網絡環境搭建工作,接下來根據需要選擇不同場 景進行測試即可;除此之外,還提供了網絡數據包抓包功能,便於進行網絡數據問題的分析。

二、工具使用介紹

1、登錄與注銷

(1)按鈕登錄

  點擊應用圖標啟動APP后,第一次打開會進入到登錄界面:

  

    點擊【QQ登錄】按鈕,如果本地已安裝QQ或者TIM,會直接拉起應用進行登錄確認,如果沒有會彈出二維碼頁面掃碼登錄。

(2)自動登錄

  登錄之后會記錄此次登錄,之后七天內登錄不用再進行登錄確認。

(3)注銷登錄

  登錄進入APP功能頁面后,如果要退出登錄或者切換登錄用戶,下方切換到【設置】切頁,點擊【注銷】按鈕即注銷登錄,回到登錄頁面:

  

 2、弱網模板的增刪改查

(1)新增弱網模板

  增加弱網模板的入口有兩個,第一個入口在【工作台】切頁和【網絡場景】切頁右上角的【新增】按鈕,由用戶選擇參數增加模板;第二個入口在【網絡場景】切頁中每一項推薦模板的右下角【添加】按 鈕,這里提供系統推薦的模板,點擊按鈕后【編輯】-【新增】:

  

   點擊入口按鈕后,會跳轉到【模板編輯】頁面,設置一個對應的【模板名稱】,選擇【模板類型】,會彈出兩種可供選擇的類型,【場景模板】和【自定義模板】。 【場景模板】:提供了網絡選擇(客戶端所處地區、服務器所處地區、運營商類型、網絡類型)、場景 選擇(電梯、地鐵、高鐵、視頻網絡標准、語音網絡標准等),最后填寫對應的【模板描述】,點擊頁 面右上角【保存】按鈕。 

  

   【自定義模板】:提供了多種弱網參數,可以根據測試需要,組合填寫對應的參數,最后點擊右上角 【保存】。關於參數的詳細介紹參見下節【弱網功能介紹】。

(2)刪除弱網模板

  在【工作台】切頁,向左滑動要刪除的模板,出現【刪除】按鈕,點擊按鈕進行刪除:

  

 (3)更新弱網模板

  在【工作台】切頁上,點擊要更新模板的右側文字,進入編輯頁面更新模板

  

(4)查找弱網模板

   在【工作台】切頁上,在【搜索框】中輸入模板名稱關鍵字,會在下面排列出搜索結果:

  

 3、弱網功能的開啟與關閉

(1)開啟弱網功能

  在【工作台】切頁,選擇【啟動欄】左側,選擇【全部應用】或者一個應用;接着選擇一個模板;最后 點擊【啟動】按鈕開啟弱網:

  

  第一次開啟時會彈出請求【懸浮窗權限】,具體操作為彈出【懸浮窗權限管理】-【QNET】,勾選允許 懸浮窗功能即可(不同系統頁面可能有差異,下圖只做參考):

   

  懸浮窗權限打開后再次點擊啟動,第一次運行時會彈出請求【VPN權限】,點擊【確定】后QNET啟動 成功:

  

(2)關閉弱網功能

  測試完成后,回到【QNET】-【工作台】切頁,點擊【停止】按鈕關閉弱網功能:

   

(3)輔助功能

  在【設置】切頁中包含了三個輔助功能:

    ①網絡抓包:勾選后再啟動弱網時生效,結束弱網后保存到對應文件路徑;

       ②控制懸浮窗:包含三個按鈕,第一個【QNet圖標】按鈕雙擊后會回到QNET應用中(部分廠商手機可 能不支持);第二個【暫停/繼續】按鈕點擊后會切換到正常網絡,繼續后會回到當前弱網模板繼續執 行;第三個【擴展/收縮】按鈕點擊后會展示所有的模板,方便用戶切換模板;

     ③信息懸浮窗:展示當前弱網類型、網絡延時ping值、當前弱網生效狀態和參數內容。

   

4、QA

(1)部分系統雙擊

  【控制懸浮窗】-【QNet圖標】按鈕不會回到QNET應用中? 權限問題,需要打開【QET】應用權限中的后台彈出界面權限。

三、弱網功能詳細介紹

1、自定義模板參數介紹

(1)網絡模板

  單位kbps,限制當前網絡上下行最大的帶寬容量,例如針對騰訊視頻設置1024kbps限速后,下載速度 只能達到128KB/s左右:

(2)網絡延時

  單位ms,當前網絡的上下行延時約等於設置值,設置延時100ms、200ms、300ms切換的網絡數據包 波形圖:

  

(3)延時抖動

  對每個數據包以設置的概率進行抖動選擇,延時范圍在0~抖動值之間隨機產生:

  

(4)隨機丟包

  按設置的概率對每個包進行丟包:

  

(5)周期弱網

  按照放行時長、弱網時長設置交替切換,根據弱網類型進行弱網。 【完全丟包】:處於弱網時長的數據包直接丟包,對應網絡數據包到達時間波形圖:   

  【Burst】:模擬路由或者底層硬件在判斷當前網絡連接不通時保存數據包,在網絡通暢后爆發式的將 數據包推送出去,對應網絡數據包到達時間波形圖:

(6)協議控制

  支持對不同協議的弱網控制,協議類型包括TCP\UDP\ICMP\DNS;

(7)IP控制

  可以針對IP進行弱網控制,多個IP以|分割。

2、場景模板介紹

(1)網絡選擇

  提供真實的省市間網絡傳遞的數據參數、運營商數據、網絡類型數據;

(2)場景選擇

  提供多個真實測量不同場景下的網絡波形,以【場景模板】-【WIFI穿牆】為例,對應網絡數據包到達時間波形圖:

 

 四、ADB指令執行介紹

1、介紹

  ADB指令執行功能可以自動化的啟用弱網,幫助用戶可以接入進行自動化測試弱網。功能包括adb命令 行發送指令啟動弱網、停止弱網、更新弱網模板等功能。

2、啟動弱網

  首先執行命令啟動QNET進程: adb shell am start {--[類型] [key] [value]} com.tencent.qnet/.Component.AdbStartActivity

  使用示例:針對微信進行UDP上行50ms延時抓包 adb shell am start --ei "dump_pcap" 1 --es "package_name" "com.tencent.mm" --ei "out_delay" 50 --ei "protocol" 2 com.tencent.qnet/.Component.AdbStartActivity

3、更新弱網模板

  更新弱網參數: adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages {--[類型] [key] [value]} com.tencent.qnet

  使用示例:更新參數進行TCP/UDP 100%丟包 adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages --es "command" "update" --ei "in_rate" 100 --ei "out_rate" 100 --ei "protocol" 3 com.tencent.qnet

4、結束弱網

  結束弱網並退出進程: adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages {--[類型] [key] [value]} com.tencent.qnet

  使用示例:結束弱網 adb shell am broadcast -a "qnet.boradcast.drive" --include-stopped-packages --es "command" "stop_service" com.tencent.qnet

5、參數傳遞方式

  --[類型] [key] [value] --ei:表示參數值為int --es:表示參數值為string

6、詳細參數列表

   

 

  

7、注意

  QNET進程不能被清理,否則弱網會被關閉; 更新弱網參數是全量更新,參數中沒有設置的參數會被直接設置為默認值。

 

官網:https://wetest.qq.com/product/qnet/

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM