为测试赋能,腾讯WeTest探索手游AI自动化测试之路
作者:周大军/孙大伟, 腾讯后台开发 高级工程师
商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。
WeTest导读
做好自动化测试从来不件容易的事情,更何况是手游的自动化测试,相比传统的APP,手游画面纯OPENGL绘制无可识别控件,且界面动画多、随机性大。举个例子,拿新手引导来说,手游中新账号试玩会有一系列的新手引导,当新手引导过程通过之后,后面就不会再出现,但当账号升级到一定等级,又会出现新玩法的新手引导。且手游的版本迭代非常快,平均1-2周就会出一个版本,界面也经常发生变化,这些都给自动化测试带来很多障碍。
为解决手游自动化测试的这一瓶颈,腾讯WeTest依托腾讯人工智能研究的技术优势,率先尝试将基于深度学习的人工智能应用于手游测试当中,开启AI手游自动化测试时代。2017 ChinaJoy WeTest展台上火爆的贪吃蛇AI互动展示,正是这一探索的成果之一。
AI自动化测试系统,开启手游测试新风向
腾讯游戏的QA团队,对于更高质量手游的追求从未停歇过,如今AI大火,技术上也有比较大的进步以及成熟的框架,这也给手游的自动化测试带来很多新的可能性,目前腾讯内部也有不少团队在积极研究手游的AI自动化测试,大体上分为两种,一种是让AI模型可以测试绝大多数的手游;另一种则是基于特定的手游做更细更有针对性的AI测试模型。
1、AI自动化测试系统的处理过程
手游自动化测试最重要的核心,在于如何让电脑更智能的模拟真人的操作行为。一套基于深度学习的AI自动游戏系统,可以通过迭代训练,让机器自己做出动作决策,从而完成一系列的游戏操作。
AI自动游戏系统主要由4部分组成,说明如下:
● 处理模块1:负责和手机交互,UI自动化操作,管理,结果记录和存储等;
● 处理模块2:负责游戏UI界面的识别;
● 处理模块3:负责识别一局游戏内的物体和数据等;
● 处理模块4:负责决策玩游戏的动作决策,采用深度强化学习算法;
AI自动游戏系统整体框架如下图: 
以天天酷跑为例,看AI自动化测试实战演练
以天天酷跑游戏的AI自动化测试为例,整个测试过程主要分为前期训练、接入测试、性能与结构反馈三个步骤:
前期训练
前期训练得到神经网络的权值(文件),后面测试只需要让神经网络加载这个权值(文件)就可输出学习到的动作决策,达到自动玩游戏的目的。
系统采用特定算法对模型进行训练。训练结果如下图,横坐标是玩的游戏局数,纵坐标是一局跑的里程数。整个训练过程共进行了上万局游戏,随着训练的次数增多,每局的里程数也在上升。 
接入测试
天天酷跑游戏运行在WeTest云真机上,自动化进程和云真机交互,实时抓取游戏画面数据。
进入游戏后,检测进程识别游戏画面中的物体和数据,例如天天酷跑中的台阶、坑、柱子等物体信息以及距离等数值信息。游戏画面和识别出的物体和数据最终发给深度学习进程作为输入,深度学习进程的输出就是执行玩游戏的动作,例如天天酷跑中就是“下蹲”、“起身”、“跳跃”等。
一局游戏结束后,再重复上述的过程进行下一局测试。 
性能和结果数据
AI在玩游戏的同时,系统可以获取手机的性能数据和游戏的结果数据,并在网页端进行展示。
如下图所示,每一行对应天天酷跑一局游戏,分别展示了手机CPU利用率,内存使用量,电池电量,温度,玩一局跑的里程数和游戏时间以及死亡前的游戏画面。 
除了天天酷跑,AI自动游戏系统已接入腾讯多项精品游戏的测试工作。
腾讯WeTest携AI自动化手游测试,为游戏创造更大价值
使用AI自动游戏系统进行手游测试,游戏厂商可以借助AI的智能轻松实现类似于人工测试时在真机上玩游戏的过程,节省大量的测试人力成本。
随着人工智能技术的飞速发展,简单机械的游戏测试工作必将逐步向自动化、智能化转移。腾讯WeTest作为游戏质量的守护者,将为游戏开发者们提供操作更加便捷高效的AI自动化测试方案,让游戏开发者能更多地专注于游戏创意性、可玩性、操作习惯等更需要创意的环节,为游戏创造更大的价值。
关于腾讯WeTest (wetest.qq.com)
腾讯WeTest是腾讯游戏官方推出的一站式游戏测试平台,用十年腾讯游戏测试经验帮助广大开发者对游戏开发全生命周期进行质量保障。腾讯WeTest提供:适配兼容测试;云端真机调试;安全测试;耗电量测试;服务器性能测试;舆情分析等服务。
点击地址:http://wetest.qq.com/立即体验!
为测试赋能,腾讯WeTest探索手游AI自动化测试之路的更多相关文章
- 打造游戏金融小程序行业测试标准腾讯WeTest携各专家共探品质未来
在获客成本不断上升的时代里,产品品质愈发是互联网应用的决胜标准.随着用户需求更加多样,开发者不仅要深挖应用功能,更需要面向业务所在领域,建立全面.专业的测试架构,掌控开发进度.提高开发效率,才能在互联 ...
- AirtestIDE实践一:梦幻西游手游师门任务自动化
Airtest Project是网易自研的游戏自动化项目.Airtest IDE是这个项目的一个IDE,就像Eclipse.Pycharm一样,是一个集成开发工具.Airtest框架是一个基于Open ...
- python selenium自动化测试之路(1)--分层测试概念、selenium工具介绍
1.分层自动化测试概念 传统的自动化市场更关注产品UI层的自动化测试,而分层的自动化测试倡导产品开发的不同阶段都需要自动化测试 大多公司与研发团队其实是忽略了单元测试与集成测试阶段的自动化测试工作,所 ...
- 打造移动应用与游戏安全防线,腾讯WeTest安全服务全线升级
当移动互联网渗透到千家万户,与工业控制.智慧交通.实时社交.休闲娱乐紧密结合时,应用安全就变得尤为重要. 尤其在网络强相关的APP流行年代,当APP应用客户端上传与获取信息,大多通过接口在服务器双向通 ...
- 如何快速优化手游性能问题?从UGUI优化说起
WeTest 导读 本文作者从自身多年的Unity项目UI开发及优化的经验出发,从UGUI,CPU,GPU以及unity特有资源等几个维度,介绍了unity手游性能优化的一些方法. 在之前的文 ...
- 建一座安全的“天空城” ——揭秘腾讯WeTest如何与祖龙共同挖掘手游安全漏洞
作者:腾讯WeTest手游安全测试团队商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 <九州天空城3D>上线至今,长期稳定在APP Store畅销排行的前 ...
- 腾讯WeTest发布《2017中国移动游戏质量白皮书》,专注手游品质提升
1月8日,腾讯质量开放平台WeTest正式发布<2017中国移动游戏质量白皮书>. 刚刚过去的这一年,市场逐渐成熟,中国移动互联网由增量市场转向存量市场.中国移动游戏市场急剧变化,真正的精 ...
- 质造未来,首届腾讯WeTest技术交流开放日成功举办
WeTest 导读 北京时间12月21日下午1点整,2018年度腾讯WeTest技术交流开放日在上海举办.盛大.巨人.电魂.bilibili.方趣等十余家来自不同优秀企业的测试技术负责人均来到现场,共 ...
- 改革春风吹满地,安卓新系统Q上线腾讯WeTest
“刚要适配安卓派,Q就来了.” 3月14日谷歌推出了期待已久的Android Q的首个测试版本Android Q Beta 1 ,这是Android系统推出以来的第十个大版本. 安卓Q相比之前的版本, ...
随机推荐
- python数据库学习--Mysql
摘要: Python使用mysql需要安装驱动,有两种1)mysqldb 2)umysql ,两者都是开源,具体区别不详,umysql没用过 一.mysqldb 安装MySQL驱动--http:// ...
- 任务调度---crontab
1. crontab相当于windows下的任务与计划,可以设定定时任务,周期执行的任务 2. 设置任务调度文件 crontab -e 进入任务界面,添加如下命令 0 2 * * ...
- 基于.NET CORE微服务框架 -谈谈Cache中间件和缓存降级
1.前言 surging受到不少.net同学的青睐,也提了不少问题,提的最多的是什么时候集成API 网关,在这里回答大家最近已经开始着手研发,应该在1,2个月内会有个初版API网关,其它像Token身 ...
- Qt5.5.1和Qt5.3.2编译OCI驱动教程及验证方法
我们都知道oracle数据库的强大,并且好多企业或者教学用到数据库时都会推荐使用.但是Qt因为版权问题没有封装oracle数据库专用驱动,网上也有一大堆说法和教程,但是或多或少的都有问题.下面废话不多 ...
- HPU--1221 Fibonacci数列
题目描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入 输入包含一个整数n. ...
- 最短路和次短路问题,dijkstra算法
/* *题目大意: *在一个有向图中,求从s到t两个点之间的最短路和比最短路长1的次短路的条数之和; * *算法思想: *用A*求第K短路,目测会超时,直接在dijkstra算法上求次短路; ...
- yii gridview 时间段筛选(一个输入框,自动提交,高清大图)
yii gridview功能强大,但是时间筛选比较麻烦,与数据库的存储格式有关,本文的时间格式是date类型 那么问题来了,yii只提供关于时间的text搜索格式,就是只能查找精确日期比如2017-8 ...
- NI笔试——大数加法
NI笔试: 1.找出字符串第一次出现的字符.用数组建立哈希表,然后再扫描字符串并判断次数是否为1. 2.大数加法,即字符串加法.因为之前写过乘法,就以为是乘法.然后就把乘法写上去了····= = 好了 ...
- iOS之Cocoapods安装
网上关于cocoapods的教程很多,关于它的优点我不赘述:但是我根据多次安装的经验,把我遇到的问题写一下,希望对新手有所帮助. 1. 设置输入源(由于默认的gem资源是国外的,由于历史原因,访问比较 ...
- Vue多元素过渡
前面的话 前面分别介绍了单元素过渡的CSS过渡和JS过渡,本文将详细介绍Vue多元素过渡 常见示例 最常见的多标签过渡是一个列表和描述这个列表为空消息的元素: <transition> & ...