使用腾讯PerfDog对微信小程序进行性能测试

时间:2024-03-28 07:01:16

一、背景

1.多:进一步拓展了解Perfdog特性,优点多;

2.好:采用Perfdog进行APP进行性能分析,好用;

3.快:快速发现性能瓶颈进行调优,形成测试闭环;

**PerfDog的使用前面已有澄清:腾讯客户端性能测试利器PerfDog使用

二、如何测试小程序性能

Perfdog支持多进程测试。

1.Android平台,一般大型APP,比如游戏有时候是多进程协作运行(微信小游戏,微视等APP及王者荣耀等游戏多子进程),可选择目标子进程进行针对性测试。默认是主进程。如下图王者荣耀:

使用腾讯PerfDog对微信小程序进行性能测试

微信小游戏、小程序测试等,如下是微信小游戏-浪漫玫瑰园:

使用腾讯PerfDog对微信小程序进行性能测试

备注:子程序进程名高亮显示,表示当前子进程处于顶层。

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

使用腾讯PerfDog对微信小程序进行性能测试

五、性能报告查看

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、性能调优