使用騰訊PerfDog對微信小程序進行性能測試

一、背景

1.多:進一步拓展瞭解Perfdog特性,優點多;

2.好:採用Perfdog進行APP進行性能分析,好用;

3.快:快速發現性能瓶頸進行調優,形成測試閉環;

**PerfDog的使用前面已有澄清:騰訊客戶端性能測試利器PerfDog使用

二、如何測試小程序性能

Perfdog支持多進程測試。

1.Android平臺,一般大型APP,比如遊戲有時候是多進程協作運行(微信小遊戲,微視等APP及王者榮耀等遊戲多子進程),可選擇目標子進程進行鍼對性測試。默認是主進程。如下圖王者榮耀:

微信小遊戲、小程序測試等,如下是微信小遊戲-浪漫玫瑰園:

備註:子程序進程名高亮顯示,表示當前子進程處於頂層。

2.iOS平臺,APP多進程分爲APP Extension和系統XPC Server。 比如:某電競直播軟件用到APP Extension擴展進程(擴展進程名LABroadcastUpload)。當然也可能用到系統XPC Server服務進程,如一般web瀏覽器會用到webkit。

三、案例實操

1.測試概要

一、【XXX】小程序性能測試需求的基本信息

1、測試需求

1.不同場景下的網絡類型覆蓋;

2.不同場景下的響應時間記錄;

3.不能場景下的主要性能參數記錄(FPS、內存、CPU佔用);

2、測試項

1.APP端主要性能數據(內存、CPU佔用、FPS)。2.響應時間。3.網絡類型覆蓋。

3、測試環境

手機端型號及版本:一加5 Android 9.0

安裝包:小程序體驗版V1.0.0.0.qa6

4、測試地點

家中(在家辦公)

5、測試網絡

移動(4G)

6、測試方法

詳見《性能測試方案》

7、通過標準

相關bug都已解決即爲通過

8、測試時間

2020/3/19

9、測試人員XX

X

10、需求溝通人員

XX

2.網絡標準

場景

網絡

 

網速

預置條件

是否執行

預期結果

場景1

WiFi

正常網絡

極好網絡(大於1MKBytes/S)

工位上測試(可能有網絡干擾)

/

場景2

較好網絡(大於500KBytes/S , 小於1000KBytes/S)

工位上測試(可能有網絡干擾)

/

場景3

正常網絡(大於300KBytes/S , 小於500KBytes/S)

工位上測試(可能有網絡干擾)

二期需求

場景4

弱網絡

較弱網絡(大於100KBytes/S , 小於300KBytes/S)

工位上測試(可能有網絡干擾)

二期需求

場景5

弱網絡(大於30KBytes/S , 小於100KBytes/S)

工位上測試(可能有網絡干擾)

/

場景6

極弱網絡(小於30KBytes/S )

工位上測試(可能有網絡干擾)

/

場景7

運營商4G

正常網絡

信號強

運營商網絡

一期需求

場景8

弱網絡

信號弱(信號輕度值<-90dbm)

/

 

3.性能測試方案

測試描述

分別測試不同場景(見場景描述)和不同網絡環境(WiFi和4G)組合下,其性能參數是否符合標準。若不符合標準,則需給與調優和驗證。

測試標準

1.小程序參考APP端性能標準:FPS>25,平均CPU佔用低於60%,內存<1000M。

2.響應時間:2S內爲良好、2S~5S爲勉強接受、8S以上爲不能接受。

測試工具和計算方式

主要依據微信小程序的H5頁面進行測試:

1.方案一:使用騰訊Perfdog,分別對主場景逐個錄製(操作步驟見分場景),並將數據保存到本地和雲盤,統計平均值:FPS、內存、CPU佔用率。

2.方案二:微信小程序性能控制面板,實時打印性能參數,以及保存到Trace工具。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

主場景描述

分場景描述

網絡環境

性能參數

是否通過

BUG ID

備註

FPS(Max)

FPS(Min)

FPS(AVG)

內存(Max)

內存(Min)

內存(AVG)

CPU佔用率(Max)

CPU佔用率(Min)

CPU佔用率(AVG)

響應時間(Max)

響應時間(Min)

響應時間(AVG)

主場景1

分場景1(內容較多,見[性能測試結果]中的C列)

WiFi(正常)/運營商4G(正常)/WiFi(弱網)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.....

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分場景n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

......

分場景1

WiFi(正常)/運營商4G(正常)/WiFi(弱網)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.....

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.....

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

主場景n

分場景1

WiFi(正常)/運營商4G(正常)/WiFi(弱網)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.....

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分場景n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

四、性能標準

備註:後期PerfDog會細分各個類型APP和遊戲參考標準。 請參考2019年中國移動遊戲質量白皮書: https://wetest.qq.com/white-paper/white-paper-2019

五、性能報告查看

1.報告查看與APP端類似:騰訊客戶端性能測試利器PerfDog使用

2.性能數據記錄分析

序號

優先級

主場景

分場景

網絡環境

結果URL

     

是否通過

BUG ID

備註

響應時間(AVG

FPSMax

FPSMin

FPSAVG

內存(Max)

內存(Min)

內存(AVG

CPU佔用率(Max%

CPU佔用率(Min%)

CPU佔用率(AVG%

1

入口

1.APP入口進入並授權後,跳轉XX小程序。

運營商4G

/

8.81

/

/

/

/

/

/

/

/

/

483XXX

APP跳小程序時間較長,開發目前排查跳轉是微信SDK導致

2

首頁展示規則

2.身份選擇後,進入首頁

運營商4G

4.85

3

首頁靜置1分鐘

首頁靜置1分鐘

運營商4G

https://perfdog.qq.com/case_detail/XXXXXX   Password: cvPsrZ

/

1.00 

10.00 

3.30 

340.00 

320.00 

327.80 

11.00 

4.00 

7.20 

/

 

3.測試結論

測試總結

1、測試概述

 

1.微信授權後跳轉小程序慢(約8.81S)、小程序授權後跳轉首頁慢(4.85S):開發排查是微信SDK導致,暫無優化控件;

2.多媒體資源預覽慢(依據不通過資源類型和大小在5S以上不等):開發排查,其引用微信自帶組件解析,但預覽慢,則是網絡和內部內容服務器導致,預計需要內部內容服務器先優化;

3.視頻的壓縮慢和上傳慢(拍攝30S視頻,壓縮4.47S,上傳12.21S):開發排查壓縮使用微信自帶組件,暫無優化空間。上傳採用內部內容服務器組件,預計需要內部內容服務器優化;

4.內存和CPU佔用較多(內存最高968M,CPU佔用最高88%):開發排查主要在列表頁,數據量較大導致,且退出列表自帶GC,暫未出現異常,暫無優化空間;                

2、已知風險/問題

暫無競品對比,方法論平臺中暫未體現。

3、測試結論

測試不通過,存在加載慢和性能佔用較高的情況,具體見[測試概述]。

4、是否推薦

請產品負責人根據現有數據評估產品質量,再決定是否使用。

六、案例分析

案例一:

1)BUG描述:【性能】網盤:首次打開圖片,iOS端預覽圖片比Android慢16S+,建議優化。

解決方案: 圖片瀏覽使用微信圖片瀏覽控件,無優化空間。 開發排查部分iOS設備很快加載,應該是網絡,或者內部內容服務器慢導致的。

案例二:

1)BUG描述:【性能】在編輯任務中網盤列表滑動內存持續上漲:平均內存729M,最大內存1026。在首頁平均內存402M,最大內存447。 

2)解決方案: 網盤內存佔用比首頁高的原因是,網盤每個item都帶有一個縮略圖,且每個NDR文件元信息都含有很多內容。所以會比網盤的內存佔用會高。 JS語言自帶垃圾回收機制,所以暫無接入內存管理的必要。

七、小結

1、工具的特性

2、性能測試

3、性能調優

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章