起因

面对微信群的一个问题的回贴
测试 IOS 游戏,怎么模拟 20 个人同时打怪看性能。

需求简略分析

同时打怪看性能,客户端性能和战斗验证都有可能,拿客户端性能为例子。
先用 excel 写好中文 case 要做的事在进行(无论手动和自动每次执行步骤不一样,多版本数据比对和是否看改善基本无意义可言)。
角色 观察者 + 采集者:公司有框架名称 airtest 或者其他自动化框架 IOS 自动化能力,+instruments 自动执行(社区有帖子),采集性能数据。
用于加入同个场景和观察支持人数的 20 个人战斗。
角色 执行者:有机器人程序(如果已经有可以用压测机器人和接口测试机器人替代)框架名称推荐开源 locust+ 改写网络层和链接,自定义场景 caseDispather

如果执行者缺少的话,可以麻烦程序开发机器人,观察者视野内有在 20 个机器人就行。
一般做法野外是 机器人前往世界坐标,观察者屏幕范围内摄像机位置固定观察,instruments 自动化采集数据,如果操作观察者不能自动化,采集一定要自动化。
副本做法是跟随模式,确保不要挂了(可以多加点属性或者无敌)。
机器人具体实现是 2 边 Pvp 还是一起堆 Boss 取决业务。

采集数据(instruments 采集)

最终数据解析程序,如果没有可以手动填表分析,很多公司早期都是那么干的。
观察者所在手机硬件信息
启动时电量:确保每次测试电量高于 80%,每次一样。
基础数据:Fps,Cpu,内存 采集顺序优先级。
业务执行多少次 可以多次执行,如果有重置条件次数,需要对这个做处理(比如机器人执行补充次数调单独开放接口包装的命令既 GM 指令)。
电量采集执行多少次后的数据,执行前和执行后。
内存采集 两个内存比对,高和低定义一个阈值记录下来,一般只需要记录整场多少次(出现 +35Mb 在后续 2 次只回收了 40% 的内存出现 50 次,分别是 [操作步骤 1,操作步骤 2,操作步骤 3])内存是否泄漏,内存数据画线就行,需要开发这里有坑。

职业范围

测试开发 这个需求属于工具类别开发,根据不同项目组需求定制功能,是测试开发中期建设阶段会做得事。
一般是先基建持续集成流水线,自动化,压测,接口,稳定性测试后,才进行这块的内容。


↙↙↙阅读原文可查看相关链接,并与作者交流