App性能測試

App性能測試java

  目前App測試招聘的愈來愈多,各類應用、遊戲都逐步從pc端向App端遷移,薪水也是與日俱增,將來App應用的市場佔有量將遠遠超越pc應用,可見這是一個很好的發展方向。廢話很少說,下面直奔主題。App性能測試分客戶端和服務端,服務端的性能能夠經過接口或者web網頁模擬用戶輸入進行測試,和普通的PC端性能測試方法同樣;客戶端性能須要藉助一些專門的工具來測試,App性能的關注點主要有耗電量、耗流量、啓動退出耗時、響應時延、流暢度、crash率、卡頓、cpu內存等,下面介紹下網上搜集的一些App測試工具:python

Androidandroid

痛點ios

工具名web

推薦緣由sql

工具類別緩存

落地優先級網絡

落地成本tcp

卡頓工具

Chrome for android開源性能測試工具(surface_stats.py)

裏面已經涵蓋了FPS和janky採集的方法,用python寫的命令行,簡單直接地跟自動化測試結合。

發現

P0

 

卡上報(AnimationPerfMon.java)

在空間落地卡上報,跟處理crash同樣,經過堆棧快速定位解決問題, 補充ANR的缺失

發現+定位

P0

 

聽雲/OneAPM

基於UIThread/主線程的監控,都有不錯的卡頓的發現能力。可是由於沒有獲取堆棧,而只有簡單的方法名和activity,因此對於複雜的軟件定位稍微困難。

發現+定位(弱)

P1

 

Fresco

經過內存緩存的優化達到流暢的圖片及列表展現性能

解決

P1

 

Realm

經過更優秀的I/O性能,下降APP對持久化數據讀寫的損耗,從而提高交互性能。可替代sqlite。

解決

P1

閃退

LeakCanary

高效率發現大部份內存泄漏致使的OOM。

發現+定位

P0

 

Bugly/聽雲/OneAPM/Testin

CRASH監控的能力大同小異,都能對數據上報的統計分析,清晰現網狀況,用戶痛點。但我會推薦騰訊的BUGLY, 由於ANR, CRASH都能提供比較足夠的信息定位問題,另外,由於是騰訊的。

發現+定位+反饋上報

P0

 

Testin

兼容性/穩定性測試利器,關鍵是機器的量夠!

發現+定位

P0

待機時間短

Chkbugreport

從用戶手機中提取BUGREPORT。經過這個工具是能夠分析簡單的耗電問題,如sensor或攝像頭沒有關閉,wakelock的問題。

發現+定位

P0

           

 

iOS

 

痛點指標

工具名

推薦緣由

工具類別

落地優先級

落地成本

卡頓

FastImage

經過節省decode的耗時等方法,提高圖片及圖片列表的展現性能

解決

P1

 

Realm

經過更優秀的I/O性能,下降APP對持久化數據讀寫的損耗,從而提高交互性能。可替代coredata,userdefault,sqlite。

解決

P1

 

MGWatchdog

實現相似ANR的機制,主要是要跟上報結合

發現+定位

P0

閃退

Infer

解決因內存泄漏致使的內存耗盡致使的閃退。能掃描簡單的循環引用致使的內存泄漏。

發現+定位

P0

 

Bugly/聽雲/OneAPM/Testin

CRASH監控的能力大同小異,都能對數據上報的統計分析,清晰現網狀況,用戶痛點。但我會推薦騰訊的BUGLY, 由於ANR, CRASH都能提供比較足夠的信息定位問題,另外,由於是騰訊的。

發現+定位+反饋上報

P0

待機時間短

iOSDiagnostics

能夠獲取一些耗電的模塊的信息,若是能夠融合到數據上報中的話就更好了。

發現+定位

P0

 

通用

 

痛點指標

工具名

推薦緣由

工具類別

落地優先級

落地成本

流量大/速度慢

BPG(android,相似webp)

BPG(ios)

BPG是H265幀內壓縮作圖片壓縮,webp是利用VP8幀內壓縮作圖片壓縮。圖片壓縮對於圖片應用來講,除了能提高用戶下載顯示圖片的速度,還能爲企業節約帶寬成本。

解決

P1

 

Pngquant

利用PNG8壓縮PNG圖片,顏色單一的圖片,效果會很是明顯。

解決

P0

 

Wireshark

實用的流量分析工具,包括export http object, I/O graph等等

發現+定位

P1

 

Emmagee

Android的性能測試組件,裏面涵蓋不少性能數據獲取的方法,可參考使用。

發現

P1

 

HAR + PageSpeed

利用tcpdump在手機上獲取的PCAP, 利用HAR轉換PCAP,而後給pagespeed組件分析。

定位

P1

弱網兼容性差(ios通用)

ATC

Facebook弱網絡模擬工具。好處是模擬丟包,抖動的時候比較穩定,並且還有HTTP API能夠調用, 方便和自動化配合。

發現

P0

 

SPDY/QUIC

特別是QUIC, 就是爲了網絡抖動而設計的。

解決

P2

 

OKHTTP

推薦的HTTP組件。性能好,弱網兼容也不錯。

解決

P1

相關文章
相關標籤/搜索