国内哪些移动 app 开发团队做了自动化测试?能否介绍一下具体的实现方案?

2016年7月20日 | By News | Filed in: 未分类.

Source: http://www.zhihu.com/question/20188761/answer/111153073?utm_campaign=rss&utm_medium=rss&utm_source=rss&utm_content=title

介绍下腾讯IEG这边的自动化测试方案,主要介绍下IEG手游的测试方案,特别是针对android的测试方案。我自己是在IEG研发部众质中心的,wetest也主要是负责IEG质量工具这块,最近推出了一个Unity手游的自动化测试框架,帮助非常多重量级的手游(王者荣耀、火影忍者、CF手游、全民超神等)做自动化测试方案。

个人认为自动化测试不可能去代替人工测试,自动化测试是为了解决特定场景下的测试。一般使用自动化测试是为了达到节省人力、缩短bug发现周期、提高效率等目的。说白了就是投入产出比,投入当然是构建测试用例和维护测试用例的成本,产出除了工作上的产出,个人的成长也不能忽视(手游测试人员都很没安全感的)。

首先,介绍下手游测试跟android或者ios app测试的区别。手游测试主要有几个区别:
1、复杂性。交互性实时性更高,动不动就给你出来个弹出框。
2、一致性。不同账号、不同阶段面对的界面差别很大。比如说新手引导。
3、人力需求。传统app很少需要多人同时测试,但是手游现在越来越趋向于互动性,PVP类型手游更加受欢迎。
5、性能测试。手游性能消耗一般要远高于app,所以性能测试尤为重要。

给大家看一张王者荣耀他们的自动化测试gif简图
i4.piimg.com/1949/bcd4a

性能自动化测试
性能自动化有几个优点,1、一致性,人工测试的时候难以控制游戏的激烈程度,使用脚本测试多次测试之间激烈程度基本一致。2、快熟反馈,人工测试比如说王者荣耀测试一次5V5对战就需要10个人,不可能非常频繁的测试。引入性能自动化测试后,每个性能优化的结果,开发都能掌握。以前通常都是不同版本之间性能对比,开发压根不知道自己的优化效果怎么样。现在CI每日构建的版本都可以测试一次性能,然后每天都能收到性能对比报告。

适配兼容性测试
android碎片化严重,适配测试必不可少。腾讯内部游戏的适配测试以前均是交给适配实验室,每次测试100部不同的手机。但是缺点就是,次数有限,还需要排期。所以wetest这边设计的unity手游自动化测试框架,一开始就是适配测试考虑进去。GAutomator写的脚本在本地自己pc上可以运行,上传到wetest.qq.com平台就能在平台上所有几百部手机上同时运行。运行过程中只要出现crash、UI问题、Anr等会发现并且归类,日志、截图都会全部保存下来。这就有一个好处,现场保存完整,适配测试成本极大减轻。
现在基本上,使用GAutomator进行自动化的游戏,都会顺带利用这个进行适配测试。crash发现能够提前大约5天,给开发预留更多的时间。“上医治未病”。

还有一种腾讯内部有很多重量级的SDK,比如Apollo、MSDK、QT等,这些SDK的兼容性、性能要求都极高,需要测试top300以上的手机。使用也都自动化进行测试。

特殊问题
各个游戏自己面临的问题。特别是一些低概率极难复现的问题,可以利用自动化在大量手机上大规模的测试发现问题。现在实时对战的游戏很对会采用帧同步,可能会出现不同步问题,这个问题出现的概率非常低。使用自动化测试非常适合。

重复性问题
最为典型的是新手引导,每次数值调整之后都需要对这部分进行测试,对测试人员本身的价值和意义不大,交给自动化来进行测试。

ps:功能测试,现在部分项目组有部分特殊的需求有尝试做。但是,大部分功能测试可能现在还不适用于自动化,太复杂,成本很难收回来。除非以后有更好的测试方案。

来源:知乎 www.zhihu.com

作者:许敏华

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 20 个回答,查看全部。
延伸阅读:
Android 手机自动化测试工具有哪几种?

谷歌智能车的难点在哪里?模式识别,还是分析、控制算法?


Comments are closed here.