流量測試中的小經驗

本文章轉載于搜狗測試

小編踩過的坑:在項目后期對搜狗輸入法某版本的泛靈犀功能做流量測試時發現流量消耗特別大。

原因:1)泛靈犀的總流量=泛靈犀的顯示流量+點擊詳情跳轉后的流量,泛靈犀顯示流量較小,但點擊詳情是跳轉的搜狗輸入法內置瀏覽器,且顯示的內容較大;2)在移動網絡下,點擊詳情時沒有給出相應的提示。

開發填坑方案:改為跳轉手機默認瀏覽器。

測試填坑方案:總結學習中。。。。。。

一、Android App流量測試方法

1、讀取Android系統上的兩個文件內容

proc/uid_stat/{UID}/tcp_snd

proc/uid_stat/{UID}/tcp_rcv

參數釋義:

{UID}是每個Android App在安裝時分配的唯一編號,用于識別該App。獲取UID的方法有:

1) 方法一

①獲取當前App進程的PID

ps | grep 包名

②通過PID查找該App對應的UID

cat /proc/{PID}/status

2)方法二

cat /data/system/packages.list | grep 包名,注:需要root權限

tcp_snd文件中的數據表示發送的數據累計大小,單位是字節(Byte);

tcp_rcv文件中的數據表示接收的數據累計大小,單位是字節(Byte)。

舉例說明如何獲取這個數據:

1)get App UID

2)獲取流量數據

2、Fiddler代理工具

1)在手機上設置代理

2)通過Fiddler代理工具可以看到手機上發出的請求和收到的響應,其中包含了每個請求和響應的流量大小

3、Wireshark工具分析

1)手機上抓包,具體操作詳見《Android移動網絡如何抓取數據包》

2)使用Wireshark工具分析,下圖是查看單個請求和響應的數據量

4、自動化流量統計之哆啦A夢

1)打開哆啦A夢→性能監控→開始監控(若沒有設置被測App,則可以通過哆啦A夢中的應用管理進行設置);

2)設計動作對App進行相應的操作;

3)操作完成后停止監控,文件保存至/sdcard/DoraemonBox/PerformanceTest下。

哆啦A夢之流量監控原理是直接讀取Android系統上的兩個文件內容,如圖

二、流量測試注意事項

作為測試人員,越早發現問題越好,所以在產品需求、開發實現上就應該關注流量問題,以下是常見的節省流量方法。

產品需求上:

1)針對移動網絡給出相應的提示

比如在搜狗輸入法泛靈犀最新需求中,點擊詳情時會判斷當前用戶的網絡類型,若為移動網絡,則給出提示;點擊詳情跳轉后,當前頁面中的內容是視頻,若為移動網絡,點擊播放按鈕不直接播放,而是先給出提示;

2)不同的網絡類型給出相應的策略

比如搜狗輸入法熱詞接口,wifi下一天下發一次,移動網絡下7天下發一次,該接口包含統計數據的上傳、熱詞和擴展詞的下發、數據流通知等。通過判斷當前的網絡狀況,控制數據訪問的頻率。

開發實現上:

1)數據壓縮

減少傳輸的數據量是一個最基本的節省流量的方法,比如在搜狗輸入法emoji后下載中,下發給用戶的emoji就是經過壓縮后的。

2)數據緩存

比如在搜狗輸入法中觸發泛靈犀圖片后 ,會將這些圖片暫時緩存至sdcard的某個目錄下,等以后再使用相同關鍵詞觸發泛靈犀圖片時,就不再去拉取相關的數據,直接使用緩存中的數據。

3)不同數據格式的采用

作為接口數據返回,JSON格式通常比XML格式要小,在大數據傳輸上,protobuf格式比JSON格式要小。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,813評論 25 708
  • //我所經歷的大數據平臺發展史(三):互聯網時代 ? 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃囈語閱讀 51,285評論 10 200
  • 站在自家陽臺上,望著遠處萬家燈火,孩子已經安然入睡,內心一直糾結著是否應該下樓。走到客廳,看到孩子在留言板上寫...
    什么樣的幸福閱讀 287評論 0 1
  • 一切從自省開始!既然決定在一起就接受一切,好的壞的全盤接受,包括家人,晚安大妹子
    鄭億閱讀 203評論 1 0
  • 就像遇到了一道選擇題、我選不好到底是A還是B、所以想有一個C符合題意。其實就是逃避。
    理直氣和閱讀 214評論 0 0