前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能测试实践 | PerfDog助力微信小游戏/小程序性能调优

性能测试实践 | PerfDog助力微信小游戏/小程序性能调优

原创
作者头像
WeTest质量开放平台团队
发布2020-07-20 17:51:13
1.2K0
发布2020-07-20 17:51:13
举报

概述

随着近年来微信生态圈的发展,小游戏,小程序也随之爆火,同样伴随着的便是对于小游戏/小程序的用户体验的严格要求,微信团队也在自家的微信平台推荐使用PerfDog测试小游戏/小程序的性能。

1.评测指标

从小游戏的运行周期来看,开发者必须主要关注启动和运行两个阶段产生性能问题。

启动阶段: 启动时长,该数据将显著影响用户打开留存率

运行阶段: 内存峰值、Crash率、CPU占用、流畅度、网络等

兼容性问题: 包括JS异常、黑屏等严重问题

Android现网性能评测标准

1
1

Android现网性能评测标准

2
2

2.评测工具

1.PerfDog:

可以使用PerfDog完成性能数据获取

运行性能:完成游戏主流程对局5~10min, PerfDog记录性能数据并上传,取平均值,每种机型测试3组数据再取平均,内存峰值取最大值。

启动性能: 采用录屏分帧方法获取,取10次测试平均值。

2.小游戏数据助手

也可以使用小游戏数据助手应用中的“数据-性能分析”获取现网玩家的性能采集数据。

小游戏数据助手https://developers.weixin.qq.com/minigame/analysis/assistant.html

3
3

3.PerfDog测试流程

1.运行性能数据获取:

首先我们用同一款手机测试3次小游戏的主流对局5~10min,取均值,微信是多线程运行的为了更准确的测试,我们可以用PerfDog对小游戏的线程进行测试。

注意: 每次测试均要尽最大可能保证测试用例的一致性,记得区分游戏是否限制了帧率。我这里使用的是限帧30的小游戏。

4
4
5
5

我们可以使用对比功能查看详细的数据。

6
6

概览对比可以快速查看每组测试用例的数据。

7
7

基于以上的数据,我们算出3组测试用例的各项数据的均值如下。

FPS均值

CPU占用均值

内存峰值均值

23.63

25.2

387.2

我这里除了FPS有些不稳定,其他的性能数据还不错。

2.启动耗时

启动耗时微信推荐使用的是“采用录屏分帧方法获取,取10次测试平均值”,同样我们可以开启PerfDog的截图功能,轻松获取耗时。

8
8

我在00:06启动小游戏,由于在00:10的时候进度条还有一部分没加载完,所以加载完成算在00:11,本次的启动耗时就是:11-6=5(S)=5000(毫秒),需要注意是冷启动的耗时 !!! 也就是把进程在后台彻底杀死再启动的耗时。

这是我第二次测试的耗时。

9
9

由于00:09时未完成算00:10,所以第二次耗时: 10-5=5(秒)=5000(毫秒),我们需要共测试10次,然后算出均值。这里就不一一放出截图了,最后算出来的均值再去上面的表格找到自己的标准就可以确定小游戏的性能情况了。

4.补充

小程序和小游戏的测试测试流程一样的。PerfDog 同样也可以测试IOS的性能,操作过程同样简单,感兴趣的可以自行测试哟!

围绕核心就是:

运行性能: 完成游戏主流程对局5~10min, PerfDog记录性能数据并上传,取平均值,每种机型测试3组数据再取平均,内存峰值取最大值。 启动性能: 采用录屏分帧方法获取,取10次测试平均值。

附上IOS的标准:

iOS开发阶段性能评测标准:

10
10

iOS现网性能评测标准:

11
11

附上小游戏官方文档:

小游戏性能优化https://developers.weixin.qq.com/minigame/dev/guide/performance/perf-overview.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档