前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PerfDog助力自动化性能测试探索

PerfDog助力自动化性能测试探索

原创
作者头像
WeTest质量开放平台团队
发布2020-08-10 12:26:40
9310
发布2020-08-10 12:26:40
举报

背景: 游戏项目采用敏捷开发,版本开发迭代很快,基本1-2周一个版本

性能测试必要性

性能问题在整个项目的阶段数量

在这里插入图片描述
在这里插入图片描述

性能问题不是一开始就有的,也不是某一天突然出现的,而是随着我们的开发进度不断累积产生的; 到后来我们希望用几天的时间去解决几个月甚至几年的问题,而实际上结果往往不会尽如人意。而且相同的问题,相同的人,在不同的时间去处理所花费的经历与时间完全不同。 所以说性能问题看上去是研发团队的技术问题,但本质上其实是研发团队的开发流程问题

如果我们可以规范流程,做到每一个版本皆有一份数据展示,一旦发现问题,及时处理,那么可以大大减少以后的优化时间;而人力每个版本做性能又比较鸡肋,所以完全可以采用自动化的方式处理,那么自动化的操作究竟会不会对我们得到的性能数据产生影响,下面我们来探索下;

自动化对应用性能数据的影响

第一组测试对比

测试背景: 1.打开Perfdog,记录手动跑功能和自动化跑功能的性能数据 2.本次所使用自动化功能为Airtest

测试用例: 1.未开启Airtest IDE连接,手动跑功能 2.开启Airtest IDE连接,手动跑功能 3.开启Airtest IDE连接,使用自动化脚本跑功能 4.断开Airtest IDE连接 5.关闭Airtest IDE进程

自动化脚本: 只会运行一个战斗小功能,很短的时间

在这里插入图片描述
在这里插入图片描述

下面测试用例的断开连接是指:

在这里插入图片描述
在这里插入图片描述

先来看看FPS

在这里插入图片描述
在这里插入图片描述

很明显我们发现是否采用自动化的方式跑游戏功能对比FPS的影响几乎没有

再来看看内存

在这里插入图片描述
在这里插入图片描述

发现自动化对内存也没有影响,开不开自动化对于内存几乎都一样

再来看看CPU

在这里插入图片描述
在这里插入图片描述

我们发现在开启airtest的IDE连接时,Total cpu的使用率显著上升,在跑自动化脚本时Total cpu的使用率也在上升。而app的cpu使用率几乎是没有影响的。 这是因为在开启airtest ide的连接时,ide要使用minicap服务获取手机的屏幕截图,所以会对cpu的整体使用率有影响,而在运行脚本时airtest要进行图像搜索匹配,所以也要占用cpu。但是对于app的使用率则不会有影响。

第二组测试对比

本次测试不适用自动化脚本,单独对比ide的影响

测试用例: 1.静止页面不连接airtest ide 2.静止页面连接airtest ide 3.静止页面断开airtest ide连接不退出ide 4.静止页面断开airtest ide连接退出ide

FPS数据

在这里插入图片描述
在这里插入图片描述

是否开启IDE对应用的fps丝毫不影响

内存

在这里插入图片描述
在这里插入图片描述

内存也没什么影响

CPU使用率

在这里插入图片描述
在这里插入图片描述

和第一组的结论一样,也是开启ide会对total cpu使用率造成影响,需要注意的是断开IDE与手机的连接后性能消耗还在,因为mincap服务实际没有被中断,要退出关闭IDE cpu才会恢复正常。

第三组数据

所选则是手机APP,非游戏

FPS

在这里插入图片描述
在这里插入图片描述

内存

在这里插入图片描述
在这里插入图片描述

CPU

在这里插入图片描述
在这里插入图片描述

我们发现结论和上面相同

推荐使用规范化CPU利用率

为什么推荐这个值作为CPU使用率的衡量标准呢,因为发现还是规范化比较适合自动化,更为准确一些,关于规范化利用率的文档: 规范化利用率介绍

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结论

完全可以使用自动化的方式获取应用的性能数据啦,这是因为我们所获取的数据都是针对单个应用,所以自动化的操作不会算法该应用之内,不过接入自动化sdk的就要另外考虑了,SDK所消耗的资源会被算在应用头上。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 性能测试必要性
  • 自动化对应用性能数据的影响
    • 第一组测试对比
      • 第二组测试对比
        • 第三组数据
        • 推荐使用规范化CPU利用率
        • 结论
        相关产品与服务
        项目管理
        CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档