- AI自动化测试:技术原理、平台搭建与工程实践
- 腾讯TuringLab团队
- 1955字
- 2025-03-22 17:35:56
前言
从计算机科学诞生开始,其主要目标一是计算(用计算机对大量数据进行处理),二是自动化(用计算机代替机械重复的人工劳动)。在半个多世纪后的今天,我们惊讶地发现,引导计算机科学发展的仍然是这两个范畴:大数据和人工智能(AI)。而自动化测试,是人工智能领域下的一个应用方向,和无人驾驶、机器人等一样,都是AI技术的应用场景。
在过去很长一段时间,自动化测试都局限于传统的测试脚本驱动。无论是游戏开发人员使用的Lua接口,还是类似Xcode的UI Test,抑或是通过ADB/minicap对Android设备进行简单操控的Python Script,其本质都是人为定义规则的自动化操作模拟。传统方式尽管工作量大,但实现门槛较低,容易上手,容易调试,也容易修改,在很长一段时间里都是自动化测试的主流方案。相关主流方案的差异通常也只限于自动化脚本接口或规则定义形式的不同。然而,这种人工定义规则的方案都存在一些很明显的问题。
·版本迭代频繁。每次版本变化往往需要重新修改、调整脚本。
·对于较为复杂或具有一定随机性(例如游戏对局)的场景,难以通过简单的脚本调整对其提供支持。实际上,对于随机性极强的游戏产品,通常不会对游戏对局过程进行太多测试。
·大部分测试脚本需要产品本身提供对应的操作接口,用于获取游戏内部数据。而这种专用测试接口通常不会在正式发布版本中提供,因此对于真正上线的产品,难以用自动化脚本进行测试,只能靠人工测试。这一点可以说是导致自动化测试工具至今无法大规模商业化、产品化的核心原因。
以上几点是困扰测试开发工程师多年的难题。随着AI技术的发展,尤其是在2015年和2016年Google DeepMind发表多篇游戏自动控制的论文,以及AlphaGo在棋类游戏上有了战胜人类的先例之后,我们开始思考如何利用最新AI技术解决上述问题,并将其融入自动化测试工具中。从2017年到今天,通过多个产品的实验和腾讯内部多个部门的协作,我们成功地开发出一套基于深度学习的自动化AI测试框架,并应用在多款世界知名游戏产品的日常测试上。本书便是在这套测试框架的基础上,分三大部分详细讲述了针对自动化的相关AI技术基础、AI自动化测试框架的实现机制,以及实际案例中的AI自动化开发应用。
目前,基于AI的自动化测试,业界尚无先例可循。我们希望本书的推出,能够给业界同行提供技术上的参考与帮助,让AI技术为更多的团队和公司在自动化测试上发挥更大的作用。
本书主要内容
本书分为三部分。第一部分是原理篇,重点介绍图像识别和增强学习相关的AI算法原理,为后续学习具体工具的落地应用打下基础。第二部分是平台篇,详细介绍了腾讯游戏AI自动化开发工具的设计与实现,包括和Android设备的对接、数据标注流程及AI算法在游戏自动化中的具体实现等。第三部分是最佳实践篇,详细介绍了不同需求场景下的实践案例。读者可以在实际游戏产品的测试中使用本书所介绍的工具实现不同需求,并可尝试在此基础上实现定制化功能。
本书读者对象
本书主要面向自动化测试工具开发人员、AI应用开发人员,也适合图像识别或强化学习方向的研究人员对实际游戏AI落地方案做深入了解。
本书特色
自动化测试技术多种多样,将当前流行的AI技术作为一种新的自动化测试方法,并非图一时新鲜来博大众的眼球。适当的方法应用在适当的场景,会极大地提高生产效率,节省企业的人力成本。从目前腾讯公司的AI自动化测试实践来看,多分辨率手机的相关测试如兼容性、性能、回归等节省的成本是最明显且有效的。并且,我们的测试平台是免费开源的,如果用户觉得已有的算法或者功能不能满足测试需求,可以自己开发一些更适合自己业务的功能与算法。
腾讯互动娱乐事业群TuringLab实验室,由美国归国技术专家领头组建,成员有图像识别处理、机器学习领域的多名博士,以及多位在工程方面专注技术开发10余年的专家。目前,开发出的AI自动化测试平台已经成功接入腾讯公司几十款正式运营的商业游戏,并同时服务于WEST产品、即通手Q产品,以及各游戏工作室的多个产品。
AI自动化测试平台作为一个免费开源项目,提供详细的用户使用手册。用户可以通过较低的学习成本搭建运行环境。同时,对于想要进行二次开发的用户,提供详细的API说明文档,方便用户学习与参考。
写作分工
张力柯编写前言,全书统稿。
周大军编写第1章、第6章。
黄超编写第4章、第12章。
李旭冬编写第3章、第13章、第14章。
申俊峰编写第11章。
王洁梅编写第2章、第7章、第8章。
杨夏编写第5章、第9章、第10章。
资源和勘误
由于作者水平有限,加之编写时间仓促,书中难免会出现一些错误,恳请读者批评指正。为了更好地与读者交流,TuringLab创建了一个微信公众号——Turing Lab,该公众号推送最新的研究成果与研究方向分析文档。
致谢
感谢机械工业出版社华章公司所给予的支持。感谢策划编辑杨福川先生耐心地给予修改建议,帮助我们精炼核心概念,并引导完成了本书的框架构建。感谢荆彦青先生对本书出版的大力支持。同时,感谢所有对书稿提供反馈意见的审稿人。