加入收藏 | 设为首页 | 会员中心 | 我要投稿 二游网_173173游戏网 (http://www.173173youxi.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 新闻中心 > 人物专访 > 正文

GAD名人堂丨方李志专访 :于Python的UI自动化测试探索者

发布时间:2017-06-26 16:05:51 所属栏目:人物专访 来源:网络整理
导读:个人简介 方李志,UI自动化测试资深专家,腾讯游戏研发部品质管理深圳团队负责人,十五年来一直从事UI自动化测试研究与实施。开发过UI自动化测试框架、分布式自动化测试平台等,曾获得卓越研发质量铜奖、EVP优秀团队奖、研发部业务突破金奖,在自动化测试

个人简介

方李志,UI自动化测试资深专家,腾讯游戏研发部品质管理深圳团队负责人,十五年来一直从事UI自动化测试研究与实施。开发过UI自动化测试框架、分布式自动化测试平台等,曾获得卓越研发质量铜奖、EVP优秀团队奖、研发部业务突破金奖,在自动化测试、终端专项测试领域有很高的造诣。生活中是标准的全能奶爸,热爱读书和运动,始终引领着专业和生活。

专业到卓越

GAD:可以跟我们谈谈您的工作经历吗?怎么进入到这个领域,并一步步成为专家的?

方李志:来腾讯之前一直在电信行业,负责传统电信产品测试。07年加入腾讯,负责过PC QQ、手机QQ等亿级用户产品的测试,目前重点负责穿越火线、热血传奇、传奇世界、捕鱼来了等游戏以及QQ Game游戏平台的测试。

测试工具方面从使用开源、商业工具到自研工具,逐步建立起一套符合腾讯产品要求的分布式自动化测试平台。自主研发的UI自动化测试框架支持基于控件(windows标准控件、自定义控件、各类浏览器控件、android标准控件、ios标准控件、unity引擎控件、cocos引擎控件)、基于图像、基于协议的多种驱动方式。

随着机器学习的兴起,目前的研究重点是基于图像识别和行为学习的UI自动化,在手游适配测试项目中取得一个没有代码能力的普通员工一天完成一款游戏在300台设备上的适配测试的效果。

方李志

2016年拍摄于大鹏

GAD:您曾经只用不到一个月的时间,开发了自动化测试集成开发环境,为自动化快速发展奠定了强大的基础,您当时是出于怎样的考虑?

方李志:当初为了推广自动化测试,在短短一个月时间内开发了这个自动化测试集成开发环境。我们想通过这个IDE,测试人员可以自动抓取UI控件、管理对象库、管理函数库、录制脚本、回放脚本、调试脚本、远程调试脚本、管理测试数据等。实践证明,这个IDE大大降低了自动化的学习成本,快速提升了测试人员代码能力,保障了自动化的大规模实施。

自动化测试

自动化测试变迁与发展

GAD:自动化测试技术近年来有哪些变化?从您的角度来看,有哪些是我们可以进一步研究和应用的?

方李志:UI自动化测试从早期的基于坐标位置的MonkeyTest慢慢发展到现在的各种基于控件的自动化测试框架,基于控件的自动化测试框架都需要在被测系统中注入测试桩,这些测试桩需要根据不同OS、不同引擎进行定制。那么有没有一种跨OS、跨引擎的UI自动化测试框架呢?Sikuli是MIT研发团队开发的一款基于图像匹配的自动化测试框架。

我们团队很早就注意到这个项目,并在这个思路下重新优化算法(匹配算法从单纯的模版匹配到支持特征匹配、从整图匹配到分割子图匹配、从不支持缩放到支持大比例等比和非等比缩放、颜色范围从指定灰阶到可变彩色等等),开发出更丰富API(比如拖拽、滑动、轨迹等),利用这个框架在手游适配测试中取得很不错的效果。

我们团队的研究重点慢慢从基于控件转向到基于图像的UI自动化测试框架。随着图像识别技术的发展,目前业界其他公司也在转向基于图像的自动化测试框架研究。前面说到的Sikuli使用的技术是传统的图像匹配算法,后面的研究重点将是利用图像识别、用户行为学习,未来的UI自动化测试将是更接近真人的自动测试。

2017年部门年会时与团队的合影

2017年部门年会时与团队的合影

节奏要快,眼光要新,保持开放的技术心态

GAD:开发测试工具,您认为最重要的工作思路是什么?

方李志:一方面小步快跑、不断迭代,互联网行业不像传统行业,是一个快速发展,不断变化的行业。我们在开发测试工具的时候不要想一开始就把工具做得十全十美,所有功能都有。而是要先快速实现技术原型,只有核心功能,尽快投入项目中验证、使用,在跟用户一起使用的过程中收集新需求,再把这些需求按优先级通过多个迭代逐步实现。

另一方面不要闭门造车,在这个知识爆炸的时代,各种新技术层出不穷。我们要通过各种渠道了解业界最新动态,博采众家之长为我所用。

GAD:在自动化测试平台建设上,有哪些可以进一步完善?怎样做到技术的前瞻性?

方李志:目前的分布式自动化平台已经实现了测试资源管理、测试设备管理、任务管理、报告管理、权限管理等一些通用功能,这些功能基本满足一般的通用自动化测试需求。目前在做的是一些专项自动化测试功能开发,比如手游适配自动化、自动深度遍历探索测试等。

自动化测试平台后续会在虚拟化技术、多机协作方面进一步完善,当然这些新功能也是要看具体的业务需求,不会一味的追求技术的先进性而忽略实用性。在技术研究的道路上始终保持开放的心态,时刻了解业界最新技术动态。

技术预览

技术预览2

GAD:您负责过的众多项目中,最有感触经历是什么?

方李志:在PC QQ自动化项目早期发生过这样一个争论:提供给用户(测试人员)的接口是面向对象的还是面向过程的?当时我们普通测试人员基本没有编程经验,如果提供面向对象的接口,大家的学习成本是很高的,为此我们花了很大精力开发了一套自动化测试脚本集成开发环境ATIDE。IDE提供了强大的录制回放功能,测试人员只需要动动鼠标就能录制好脚本,录制出来的脚本是面向过程的一步一步操作,录制脚本比较简单,但是脚本的稳定性很差,很难维护。

好在随着我们早期的一批测试开发的带动下,我们系统测试岗的测试人员也在努力学习,随着大家代码能力的提升,脚本风格逐步从面向过程转向面向对象,极大的提升了脚本的稳定性。大家写脚本也从依赖IDE转到普通的文本编辑器,看到花了很大心血的ATIDE逐渐被大家遗忘还是很有感触的。随着大家整体技术的提升,早期的很多辅助工具慢慢就退出了历史舞台。

(编辑:二游网_173173游戏网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读