一、 什么是手游性能测试
性能(performance):是系统实现其功能的能力。例如,响应时间、吞吐能力、事务处理数。
性能测试,是指在特定负载情况下,确定系统的响应速度和稳定性的表现。它也可以研究、测量、验证系统的其他特征,比如可扩展性、可靠性和资源使用率。通俗的讲:通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求,即在特定的运行条件下验证系统的能力状况。
按手游构成特点,将性能测试分为客户端性能、服务器性能两大块。
二、 性能测试的关键指标
客户端性能的关键指标有:
CPU占用率、内存占用率、流量耗用量、FPS(每秒传输帧数) (见下图)
服务器端性能的关键指标有:
响应时间、并发用户数、吞吐量等;
三、 如何做性能测试
1. 明确测试目标;了解性能测试需求;
2. 编写性能测试计划;
3. 分析性能测试需求;
4. 编写性能测试方案、设计测试场景;
5. 相关资源准备(人力资源、硬件资源、软件资源);
6. 测试程序开发;脚本维护、测试数据准备、测试监控准备;
7. 执行性能测试并收集测试结果;
8. 分析结果;
9. 系统调优及再测试;
四、 性能测试五大误区
Ø 误区 1:性能测试不是手游测试的主要矛盾,兼容性才是
开发者过高的预估了兼容性测试的重要性,而过低忽略性能测试。其实很多问题的原因就是性能导致的,例如“游戏玩到一半,突然来了个电话,再返回时游戏界面崩溃”、或者“在你好不容易在手机上打了一大段字,正要发送时,来了条短信,而记事软件已经崩溃,辛辛苦苦编辑的内容早就没了” 这类问题非常容易引起玩家的反感,造成流失。
Ø 误区 2:性能测试要像功能测试一样,覆盖到所有功能
性能测试的主要目的是为了系统调优。不可能对所有的系统功能都进行性能测试。在测试设计时需要结合当时的实际系统,先分析软件可能存在的瓶颈,此时可依据 80/20 原则分析:对系统资源的利用、数据大量传输、数据转换、用户使用频率、逻辑复杂度等进行分析,选择要执行的功能和场景,再依此制定性能测试的方案。
Ø 误区 3:做性能测试主要就是测试工具的使用
我做不好性能测试,是因为对测试工具不熟悉;测试工具可以自动生成我所需要的报表;依靠性能测试工具就能准确定位系统颈;测试工具在测试中只起到辅助性作用。而测试方案、测试场景的分析、问题的定位这才是性能测试的关键。不要期望测试工具能够生成你想要的所有东西(报表、瓶颈分析),工具只能近可能多的提供给我们分析的依据。
Ø 误区 4:提高一下硬件配置就可以提高性能了,因此性能测试不重要
随着软件规模的扩大,提高硬件配置只是解决性能问题的一个基本手段。因为如果软件自身存在性能问题,再多的资源可能也不够用,例如:内存泄漏问题,随着时间的增加,内存终究会被耗尽,最后导致系统崩溃;数据库链接数等配置信息、数据库死锁是和硬件很难挂钩的;算法逻辑问题导致程序缓慢。即使要提高已经配置,也要首先用性能测试的方式得出哪些硬件可能存在瓶颈。
Ø 误区 5:随便找个环境下进行一下性能测试就可以了
做性能问题分析可以在类生产环境上进行,配置可以有些差别,一般性能测试还是在类生产环境进行,原因有两个:1)性能测试要尽可能早的完成,提早发现问题并整改;2)在生产环境进行测试可能会造成脏数据。
五、 WeTest性能测试
提供android版本和云端版本2种性能测试方案,这里着重介绍下本地版本。使用3步即可:
1) 打开http://wetest.qq.com/cloud/index.php/phone/step1?test=effective 下载WeTest APP,并安装(手机需越狱或Root);
2) 运行手机上的WeTest APP,选择手游后点“开始测试”;
3) 上传并查看报告
结束测试后,打开WeTestAPP点击“上传”按钮。
登录wetest.qq.com点击“我的主页”里面,左侧的“手游测试报告”,在页面中就会出现“性能测试”结果报告,点击查看,就可以查看完整的测试报告;
彩蛋>>没有这些工具前,我们是怎么测试的?
这里分享一个案例。测试人员使用组合式的方式,分别从不同的工具上采集核心数据,并且数据不全,也不专业。
Wimat负责CPU部分,而360负责流量采集部分。其实Wimat使用方式如下:
1)勾选所要监控的对象并设置好监控时间后,点击开始,WiMAT会在后台启动一个服务,由这个服务
监控各项指数的变化并写到结果文件里;
2)这时候可以打开或切换到要测试的应用程序,运行一些测试用例;
3)结束后切换回WiMAT界面,点击停止结束监控,WiMAT会告诉你结果文件的存储位置
360手机卫士对流量监测的使用方法如下:
1)进入安全保护tab页,选择流量监控;
2)进入后再切换到统计排行tab页;