个人简介

钻坚研微,打造最强游戏测试平台
孙大伟,腾讯游戏测试开发专家,腾讯WeTest产品中心终端开发负责人,权威型技术革新引领者。从事测试工具及相关平台开发多年,坚持技术创新,攻克了众多业界技术难题。热爱技术,经常为一个技术问题废寝忘食而又乐此不彼,非常享受问题被解决后的成就感。平日里喜欢折腾些小硬件,玩玩Raspberry Pi和arduino等等,追求简单而随性的生活经营之道。

访谈互动

从兴趣爱好到技术大牛

GAD:了解得到您非常热爱技术研究,想问下您从什么时候开始有这个爱好的?您最初选择的第一份工作也是基于这份热爱和兴趣吗?

孙大伟:高中时期就很好奇电脑上的软件是如何运行的,上大学凭借兴趣自学了C语言、Java和ASP等知识,毕业之后毅然走上了码农这条路。07年大学毕业,第一份工作是在南京做Windows以及Windows Mobile上的开发,这份工作对我影响很大。那个时候刚开始接触MFC、WIN32、.NET、SOCKET编程,还有串口通讯相关的等等内容,一切都需要自己去学习和研究。记得初识MFC,觉得它是很复杂的一个东西,网络上大部分的教程也只是教你怎么用MFC,各种类各种宏特别的迷惑,我自己并不喜欢这种感觉,很希望了解到本质。于是自学了WIN32开发,在后续的工作中也看了很多MFC源代码,慢慢对这个东西也越来越了解。


GAD:在大家眼中,您的知识钻研能力非常强,可以跟我们谈谈您之后的工作经历吗?您是怎样一步步积累和沉淀经验,并做到权威的?

孙大伟:09年第二份工作在南京华为,由此走上了测试工具开发这条路。接触了自动化测试以及基于AW(ActionWord)自动化测试平台、用例统一管理平台、持续集成平台(CI)。从一开始开发各种通用AW给各业务测试使用,到了后来开发三大浏览器的自动化工具(IE、Firefox、Chrome),期间不断学习了COM开发,BHO开发,NPAPI插件开发以及MBT测试(Model-based Test),自己也渐渐从一个人开发到带着四个人一起开发,再到最后带着十多个人一起开发。这个阶段对我影响非常大,它让我踏入工具开发这个领域,也使我自身的技术和管理经验有了更多积累。

13年因为家庭原因来到上海腾讯,同年天天系列手游上线,我一进来就做WeTest云测(当初只有雏形,和导师一起),开始接触Android。云测试是一个系统工程,从集中管理手机的机房,到负责调度执行、报告输出、手机运维的平台,再到上层的测试业务都需要一一完成。知识点涉及硬件、软件、网络,过程中经历了无数的坑。通过技术积累,我们做到了在保证质量的前提下,提升适配测试中心兼容性测试效率100%以上。在更加深入的自动化测试方面我们开发了目前广泛使用的GAutomator,帮助业务完成更加深入的自动化测试专项,同时提供强大的手机云平台,满足业务在真机上测试的各种需求。在团队上WeTest终端开发组不断需要有创新地输出,这就鞭策我和团队持续保持学习精神,不断接触和探索新技术,在业务需要的时候可以快速开发出来。

钻坚研微,打造最强游戏测试平台

数次攻坚,力求质量与效率

GAD:在兼容性测试、自动化测试等方面,目前WeTest的技术已非常成熟和突出。想请您谈谈,在此过程中您攻克过哪些技术难题,有哪些创新的突破?怎样一步步做到业界首屈一指水平的?

孙大伟:WeTest承担着腾讯所有手游的兼容性测试工作,这是一个非常重要的任务。在机型选择上,我们选择贴近腾讯手游TOP用户机型;在用例设计上,对线上兼容性问题进行漏测分析,不断丰富兼容性测试基础用例库;在团队中我们始终奉行“质量>效率”的理念为公司每款手游做好兼容性测试。但随着公司手游越来越多,任务排队严重,如何在保证质量不变的前提下提升效率,这个问题摆在了我们面前。说到效率提升,可能很多人的第一反应就是引入自动化测试,我们也绞尽脑汁想过这个问题,最后的结论是引入全自动化测试会带来质量的下降,比如自动化测试无法发现声音,UI显示等需要主观判断的问题,所以我们还是放弃了这条路。

后来我们想到通过一人控制数十部手机的方法提升效率,凭借着对云真机的技术积累,及多年来对手机稳定性控制的经验,工具上线使用后,兼容性测试效率提升100%以上,而且测试质量也得到了保证。有时候解决问题并非需要很牛的技术,如何有效地解决才最重要的。

在自动化测试方面,由于游戏自身渲染的特点,几乎没有为游戏打造的自动化测试工具,再加上游戏中充满了随机性和变化性,自动化测试一直是手游测试的禁区。随着腾讯手游不断精品化,对质量要求更高,手游的生命周期逐渐变长,我们开发了基于Unity的手游自动化测试框架GAutomator,帮助有志于在自动化测试领域发展的同学插上起飞的翅膀。目前在公司内部已经有较多的产品在使用,许多测试同学也根据自身项目的特点,开发出有针对性的自动化测试脚本,如性能自动化测试,过关测试,Loading时间测试,PVP测试等等,而这些都是以前根本花不起人力去测的类型。

钻坚研微,打造最强游戏测试平台


潜精积思的全栈工程师

GAD:WeTest云测从最初的雏形到现在形成强大的系统工程,在此过程中,从您的角度来看,实现了哪些技术上的蜕变?需要团队具备怎样的素质?

孙大伟:用一句比较时髦的话就是“全栈工程师”。对于云测这样一个项目,不仅有传统的前台和后台,还涉及不同的操作系统如Windows、Linux、Android、iOS等等,还有不同的硬件,服务器硬件选型,板卡选择,甚至自研一些硬件设备等。其次还得把这些设备通过网络有效的连接在一起,所以我们得考虑有线网络组网问题;之后还得考虑多台手机上网的问题,我们得建设高密度WIFI,以解决屏蔽及信号干扰的问题。在业务上,不仅要懂开发,还得懂测试。这些都是需要我们团队去考虑的,可能并不需要我们成为每个领域的专家,但是至少这些领域我们都得熟悉,不然很多事情没有办法考虑到,也没有办法与别人进行有效交流。

既然涉及到这么多内容,快速学习能力自然是非常重要的,互联网行业本身就是一个快速发展的行业,技术也在不断的演变,我们的被测对象在变化,就拿手游游戏引擎来说,从刚开始《天天酷跑》用的是自研引擎,到后来《全民飞机大战》用的是cocos2d引擎,再到现在的《王者荣耀》用的是unity3d引擎,一直在变化,这就要求我们要随时跟的上变化。 

钻坚研微,打造最强游戏测试平台

追根溯源 迎难而上 未雨绸缪

同事眼中的大伟

“一句话来形容大伟的话,就是有魄力、有担当、为兄弟们着想。他技术非常扎实,是比较典型的技术型领导人才。印象比较深刻的是,2016年大伟拍板决定云测平台从windows平台全面迁移往linux平台。当时几乎完全重写了云测平台的这次重构,为后面wetest云测平台的稳定性以及业务拓展能力打下了坚实的基础。”

GAD:作为测试开发专家,您的工作方式影响了团队的很多人,您的团队也多次获得业务突破大奖,从您的角度来看,可以和大家分享哪些Know-How?

孙大伟:首先要追根溯源,作为开发,我喜欢问为什么,就如同早些年学习一样,我的脑海里面有很多的为什么。这里为什么要这样写?这东西是从哪里来的?有没有源代码?它里面具体功能是怎么实现的?我不喜欢知其然不知其所以然的蒙蔽感,这会让我心慌,工作了这么多年,我一直保持着这样的习惯。
其次解决疑难问题会对自身有很大的提升。有不少的同学在解决问题时,只关注问题的表象思考当下的解决策略,并未去深究其背后的原因,这其实是不恰当的。之所以出现了疑难问题,说明自己能力有短板导致,比如由于对整个系统不够了解而出现疏漏,或是对某个技术点理解不深而造成使用不当等。解决问题其实是发现自己短板努力提升自己的最好时机,自私点说,解决疑难问题也是树立个人口碑的好机会。

对于我自身而言,我始终保持着一种技术危机感,因为不知道下一个要面对的项目是怎样的?如何在老板将事情交给我的时候,我能短时间内找到方案?诸如此类的问题,都需要平日里对技术进行探索和积累,保持对技术的敏感性以及持续的好奇心,即使不去深入掌握,也至少要知道这个技术的优势是什么,能解决什么问题,有什么限制,大概的原理是什么样的。长此以往,在新项目技术方案输出和老项目技术优化的时候,就会有用武之地,从而改变现状。

钻坚研微,打造最强游戏测试平台

GAD:现阶段您个人的技术研究重点方向是什么?之后会有怎样的布局?

孙大伟:最近主要在研究Android源码及虚拟化技术,之后一方面要把WeTest云测平台做好,不断优化平台能力,为BG各个工作室及合作项目提供更好的服务,提升产品质量;另一方面,我也在尝试一些创新,希望能有新的突破。

新人,要打造自身独特的价值

GAD:在保持技术敏感性,不断提升自我之外,对于新人而言,您还有哪些特别的建议?

孙大伟:打造自己的个人名片很重要,作为新人,技术底子必须建好。首先,工作上要积极主动,主动了解所在项目,梳理清楚整体的原理和流程,明确项目目前的困难在哪里。我想任何一个项目都有困扰的问题,在很好完成所分配工作的同时,新人可以多花一些业余时间去研究相关技术,和Leader及时沟通反馈自己的想法,尽可能出谋划策,工作分配上从被动分配到主动参与。其次要保持一颗平常心,不用计较一时的得失。工作分工不同,任何工作都是有价值的,减少对工作消极的抱怨,积极思考如何快速把手中的工作做好并做出价值。另外,新人要多主动从团队的角度来思考,帮助解决困难问题,让自己逐渐成为值得信任的人,这样才有机会赢得更具挑战的工作。

评论
全部评论(20)

文明上网,请遵守GAD评论服务协议

登录后参与讨论。点击登录
加载更多..
返回顶部
关注GAD微信公众号
站点指引