# 小游戏云测试更新说明(2020-12-04)

# 一、新特性

# 1. JavaScript CPU Profile能力

在云测试的指定设备测试类型下,支持JavaScript CPU Profile的能力。 开发者可以使用GameGlobal.startCpuProfile()GameGlobal.stopCpuProfile()来开始和结束CPU Profile。

在指定设备测试类型下,CPU Profile时间最长为3分钟。如果开始Profile后,3分钟内未结束,平台侧将自动结束,并输出CPU Profile文件。

注意:开启Profile可能导致测试过程中的内存占用增加,且有小概率导致小游戏异常退出。

开始JavaScript CPU Profile的示例代码如下:

// 开始 JavaScript CPU Profile
if ( typeof GameGlobal !== "undefined" && typeof GameGlobal.startCpuProfile !== "undefined" ) { 
    GameGlobal.startCpuProfile()
    console.log("开始JavaScript CPU Profile!")
}

结束JavaScript CPU Profile的示例代码如下:

// 结束 JavaScript CPU Profile
if ( typeof GameGlobal !== "undefined" && typeof GameGlobal.stopCpuProfile !== "undefined" ) { 
    GameGlobal.stopCpuProfile()
    console.log("结束JavaScript CPU Profile!")
}

备注:GameGlobal.startCpuProfile()GameGlobal.stopCpuProfile()仅在云测试环境下生效,不影响体验版或者现网环境下的游戏表现。

测试完成后,开发者可以在"测试报告-详细报告-运行性能"下查看对CPU Profile文件的解析,也可以下载CPU Profile文件, 导入Chrome或者微信开发者工具中查看。

导入微信开发者工具的步骤是:在调试器窗口下,选中JavaScript Profiler,点击"Load", 选择下载后的CPU Profile文件即可。

备注: 传统情况下,针对iOS系统进行JavaScript CPU Profile,往往需要在Safari浏览器中查看。考虑到兼容性,我们对iOS系统下的Profile文件 根据Chrome Devtools Protocol的Profiler协议进行了转化,因此,即使是针对iOS系统下微信小游戏的CPU Profile文件,依旧可以通过Chrome或者微信开发者工具查看。

# 二、后续优化内容

# 2.1 测试评分下启动性能计算更规范

目前测试评分下的启动性能仅根据总启动耗时来进行打分,会受到云设备网络影响,且只根据评分无法判断到底启动的哪个阶段存在性能问题。 因此,后续我们将优化测试评分下的启动性能评分,提供更丰富的子指标。

# 2.2 提升标准测试覆盖率

标准测试基于monkey的操作策略,许多开发者反馈标准测试难以覆盖复杂的游戏场景,我们将逐步提升测试覆盖率