AI自动化测试
书籍作者:累计评价
0 |
ISBN:9787111654919 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:3849 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
内容简介
这是一部讲解如何将AI技术创造性地应用到自动化测试领域的前沿性著作。由腾讯互动娱乐事业群TuringLab实验室撰写,从技术原理、平台构建、工程实践3个维度全面讲解AI技术在中的应用,融合了团队先进的理论研究成果和丰富的工程实践经验。
全书一共14章,分为三个部分:
第壹部分 技术原理(第1-5章)
首先,从宏观角度介绍了自动化测试和AI技术的发展,以及二者的相互结合;然后,讲解了图像识别算法、强化学习、模仿学习等用于自动化测试的AI技术的原理;*后,介绍了Android设备的调试原理和技术。
第二部分 平台搭建(第6-11章)
以TuringLab实验室开源的Game AI SDK为例,不仅讲解了AI自动化测试平台的架构设计、开发流程、环境搭建和二次开发等内容,而且还讲解了AI SDK Tool工具的使用,以及如何以图像类方式和数据类方式接入Game AI SDK。
第三部分 工程实践(第12-14章)
主要讲了TuringLab团队在游戏AI自动化测试领域的*佳实践,包括手机游戏兼容性测试、自动化Bug检测、自动机器学习等内容。
提供大量简洁的代码实例,助你零基础实现AI自动化测试。
扫码关注“华章计算机”官方微信,回复“”获取配套资源
作者简介
作者简介
腾讯互动娱乐事业群TuringLab团队
由美国归国技术专家领头组建,成员包括多位图像识别处理和机器学习领域的博士,以及多位专注于工程技术的专家。目前,实验室开发的AI SDK自动化测试平台已经成功接入腾讯公司的几十款在正式运营的商业游戏,并同时服务于WEST产品、即通手Q产品,以及各游戏工作室的多个产品。
编辑推荐
适读人群 :测试工程师和开发工程师DevOps技术工程师运维工程师
(1)本书由腾讯互动娱乐事业群旗下的TuringLab实验室撰写,该实验室聚集了大量AI技术和测试方面的专家,在自动化测试领域的研究和实践都处于业界领先水平。
(2)本书从技术原理、平台构建、工程实践3个维度全面讲解AI技术在腾讯游戏测试中的应用,经过了大量商业游戏的检验。
前言
从计算机科学诞生开始,其主要目标一是计算(用计算机对大量数据进行处理),二是自动化(用计算机代替机械重复的人工劳动)。在半个多世纪后的今天,我们惊讶地发现,引导计算机科学发展的仍然是这两个范畴:大数据和人工智能(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,该公众号推送最新的研究成果与研究方向分析文档。
致谢
感谢机械工业出版社华章公司所给予的支持。感谢策划编辑杨福川先生耐心地给予修改建议,帮助我们精炼核心概念,并引导完成了本书的框架构建。感谢荆彦青先生对本书出版的大力支持。同时,感谢所有对书稿提供反馈意见的审稿人。
目录
前言
作者简介
第一部分 原理篇
第1章 AI与自动化测试2
1.1 自动化测试的发展与现状2
1.2 AI的发展与应用4
1.3 AI与自动化测试相结合6
1.4 本章小结6
第2章 图像识别算法7
2.1 图像识别7
2.2 传统的图像识别算法9
2.2.1 模板匹配算法9
2.2.2 特征点匹配算法11
2.2.3 梯度特征匹配算法13
2.3 基于深度学习的图像识别算法15
2.3.1 卷积神经网络15
2.3.2 卷积神经网络模型16
2.4 图像识别方法在游戏测试中的应用22
2.4.1 特征点匹配在场景覆盖性测试上的应用22
2.4.2 游戏场景图像的物体识别25
2.5 本章小结26
第3章 强化学习27
3.1 基本理论27
3.2 基于值函数的强化学习30
3.2.1 值函数30
3.2.2 DQN31
3.3 基于策略梯度的强化学习32
3.3.1 策略梯度33
3.3.2 Actor-Critic33
3.3.3 DDPG35
3.3.4 A3C37
3.4 强化学习在自动化测试中的应用38
3.5 本章小结40
第4章 模仿学习41
4.1 什么是模仿学习41
4.2 模仿学习研究现状42
4.2.1 行为克隆42
4.2.2 逆强化学习43
4.3 模仿学习在自动化测试中的运用45
4.4 本章小结50
第5章 Android设备调试52
5.1 Android调试桥52
5.1.1 adb常用命令介绍53
5.1.2 ADB原理56
5.2 Android实时截屏57
5.2.1 minicap介绍57
5.2.2 minicap使用58
5.3 Android模拟器60
5.3.1 Android Emulator介绍60
5.3.2 其他模拟器介绍65
5.4 本章小结65
第二部分 平台篇
第6章 AI SDK平台介绍68
6.1 Game AI SDK平台功能69
6.2 Game AI SDK平台架构设计71
6.3 Game AI SDK平台流程72
6.3.1 AI算法流程72
6.3.2 图像识别任务流程73
6.4 Game AI SDK平台模块结构74
6.4.1 图像识别模块74
6.4.2 AI算法模块76
6.5 本章小结77
第7章 AI SDK自动化测试平台搭建78
7.1 Windows环境搭建78
7.1.1 创建虚拟环境78
7.1.2 安装AI SDK79
7.1.3 安装SDK Tool79
7.1.4 安装AI Client80
7.2 Linux环境搭建81
7.3 如何运行AI SDK85
7.3.1 安装APK85
7.3.2 游戏配置说明86
7.3.3 启动服务93
7.4 本章小结95
第8章 AI SDK Tool详解96
8.1 配置项目96
8.1.1 安装97
8.1.2 配置项目98
8.2 标注GameReg任务101
8.3 标注UIRecognize任务106
8.4 调试108
8.4.1 AI SDK Tool和GameReg之间的调试108
8.4.2 AI SDK Tool和UIRecognize之间的调试109
8.5 AI SDK Tool的其他功能111
8.5.1 添加动作配置111
8.5.2 添加地图路线112
8.5.3 图结构路径配置113
8.6 本章小结115
第9章 图像类接入Game AI SDK平台116
9.1 通过SDK Tool生成平台所需数据117
9.1.1 生成UI配置文件117
9.1.2 生成模仿学习样本120
9.2 基于图像的AI方案125
9.2.1 基于小地图的特征提取126
9.2.2 样本扩充126
9.2.3 模型和训练126
9.3 使用Game AI SDK平台进行AI自动化测试——手机兼容性测试128
9.4 使用Game AI SDK平台进行AI自动化测试——场景测试131
9.5 使用Game AI SDK平台进行AI自动化测试—花屏类测试131
9.6 本章小结134
第10章 数据类手游接入GameAI SDK平台135
10.1 Game AI SDK接入方案136
10.1.1 集成GAutomator实现游戏接口136
10.1.2 通过游戏接口获取AI输入数据138
10.1.3 通过动作接口执行AI动作139
10.2 基于数据的AI方案介绍140
10.2.1 算法描述141
10.2.2 实现功能142
10.3 使用Game AI SDK平台进行AI自动化测试——跑图覆盖测试143
10.4 使用Game AI SDK平台进行AI自动化测试——手机性能测试145
10.5 使用Game AI SDK平台进行AI自动化测试——地图平衡性测试146
10.5.1 游戏AI的课程学习方式147
10.5.2 游戏AI的深度强化学习训练架构147
10.5.3 深度强化学习的神经网络模型设计147
10.6 本章小结148
第11章 AI SDK平台二次开发150
11.1 AI SDK平台二次开发介绍150
11.1.1 AI SDK二次开发框架151
11.1.2 AI SDK二次开发API154
11.2 基于规则的AI设计和开发159
11.2.1 基于规则的AI介绍159
11.2.2 基于规则的AI实践159
11.3 基于模仿学习的AI设计和开发168
11.3.1 基于模仿学习的AI介绍168
11.3.2 基于模仿学习的AI实践169
11.4 基于强化学习的AI设计和开发175
11.4.1 基于强化学习的AI介绍175
11.4.2 基于强化学习的AI实践176
11.5 本章小结185
第三部分 最佳实践篇
第12章 手机游戏兼容性测试188
12.1 基于图像的兼容性测试188
12.2 基于UI动作传递的兼容性测试193
12.3 基于UI自动探索的兼容性测试197
12.4 本章小结200
第13章 自动化Bug检测201
13.1 贴图丢失201
13.2 角色穿墙203
13.3 碰撞穿模207
13.4 本章小结210
第14章 自动机器学习211
14.1 自动机器学习概述211
14.2 参数搜索策略212
14.3 NNI安装和使用213
14.4 本章小结219