三部曲:如何快速成长为测试架构师?

2018-07-04   出处:软件质量报道  作/译者:茹炳晟  

是国内最早一批从事测试自动化的工程师,并经历了软件测试技术从“原始社会”向“现代文明”发展的整个历程,也经历了从“测试不受重视”到“测试和开发同等重要”的行业理念转变。目前我正在探索由Google等一线互联网巨头主导的“去QE,开发自己测试”的全新模式,也有了很多的感悟和思考。


在这期间,我经历了自动化测试用例设计与开发、测试框架选型、测试框架自行研发、测试基础架构设计以及最新的测试服务化(Test as a Service,TaaS)等一系列技术的变革与发展。


我带领过的测试项目也几乎涵盖了所有种类,包括嵌入式系统测试、金融平台单元测试、平台SDK测试、轨道交通安全软件测试、Web Service测试、大型电商网站GUI自动化以及性能全链路压测等。


由此,我个人也完成了从“小工”到“专家”的蜕变,成为了一名资深的测试架构师。


如何不再经历之前我走过的坑、快速成为资深的测试架构师呢?


据我十六年的心路历程、从业经验与教训,总结了下面这“三部曲”,助你破茧成蝶。


第一步,成为互联网时代合格的测试工程师。


如果你是入行不满3年的测试工程师,一定对此有迫切需求。此时,你必须具有快速学习的能力,能迅速掌握被测软件的业务功能与内部架构,并在此基础上运用各种测试方法,尽可能多地发现潜在缺陷,并能够在已知缺陷的基础上进一步发现相关的连带缺陷。


知识体系上看,你需要有比开发人员更全面的计算机基础知识,还需要了解互联网的基础架构、安全攻击、软件性能、用户体验和常见缺陷等知识。从测试技术上看,你需要能够使用常见的测试框架或者工具,需要具有一定的自动化测试脚本的开发能力,这可以把你从大量重复的工作中解放出来,然后你才能有时间去做更有意思的工作。


第二步,成为互联网时代优秀的测试工程师


如果你想从“合格”变为“优秀”,那必须先认识到两者的差距在哪里


首先,合格的测试工程师关注的是纯粹的测试,而优秀的测试工程师关注更多的是软件整体的质量,需要根据业务风险以及影响来制定测试策略,有效控制测试的时间和成本,并且能够对测试框架以及工具做出适合项目需求的选型。


以新房装修为例,合格的测试工程师就是各个工序的装修师傅,他们只管按照设计要求做好自己的工序,而优秀的测试工程师更像是个包工头,他们关心的是整体交付的质量。


其次,优秀的测试工程师不仅可以娴熟地运用各类测试工具,还非常清楚这些测试工具背后的实现原理,以及多个同类测试工具各自的优缺点和适用场景。


在遇到问题时,你还需要能够通过二次开发解决工具和框架层面的问题,对于没有合适可用工具的场景,可以自行设计开发一些小工具来更好地展开测试工作。


当然这个阶段,你很有可能会接触到一些代码级的测试,这就要求你具有一定的开发背景,并能够很好地理解代码级的测试技术。


最后,随着自动化测试用例的不断增长,自动化测试的关注点也从原本的“如何把手工测试步骤用自动化脚本实现”变成了“如何构建低维护成本,可以灵活组装的自动化脚本”,这就要求你理解自动化脚本的分层设计、页面对象模型以及业务流程模型,并且能够把这些设计应用到你的测试框架里。


第三步,成为互联网时代的测试架构师。


当你经历了各种类型的测试项目,就会发现这些项目本身虽然差异巨大,但是有很多东西是相通的


比如,面对大量测试用例的执行,无论是GUI还是API,都需要一套高效的能够支持高并发的测试执行基础架构;再比如,面对测试过程中的大量差异性数据要求,需要统一的测试数据准备平台。


这样的例子还有很多,如果你已经能够站在这样的高度看待软件测试,那么恭喜你,你已经具备了测试架构师的视野。当然,你还必须对一些前沿的测试方法和技术有自己的理解,并能够在恰当的时候、因地制宜地把它们应用到实际项目中。


这就是我给你总结的“三步走”进阶策略了。千里之行始于足下,接下来我会在我的专栏--《软件测试52讲》,分享给你从小工到专家的实战心法。从测试基础知识讲起,结合实际案例,由浅入深地带你温故知新,提升自己的软件测试技能。


欢迎订阅我的专栏(长按下面图片,识别其二维码)--《软件测试52讲》,未来的四个月,我将和你一起探讨交流测试世界里各种有意思的技术,也希望四个月后,你我都能遇见更好的自己。

【作者简介】

茹炳晟,毕业于上海交通大学,获硕士学位,现任eBay中国研发中心测试基础架构技术主管,历任惠普(HP)软件中国研发中心资深测试架构师、性能测试专家,阿尔卡特朗讯(Alcatel-Lucent)高级测试主管,思科(Cisco)中国研发中心资深测试工程师等职位,具有超过12年的软件测试开发经验和3年后端开发经验,具有丰富的测试框架设计与自动化测试经验。曾负责建立全球大型电商网站的测试基础架构和和自动化测试方案,主持搭建持续集成测试生态体系,并负责主持无线路由产品的整体自动化测试方案、金融平台产品SDK测试框架设计、系统开发平台的白盒测试方案、DSP平台自动化测试方案、轨道交通安全软件平台测试、大规模产品链的自动化部署和多个大型电子商务网站的自动化功能测试,API 测试与性能测试。


欢迎给测试窝投稿或参与内容翻译工作,请邮件至editors@testwo.com。也欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,并与我们的编辑和其他窝友交流。
162°|1618 人阅读|1 条评论

白云  2018-07-04

很棒的课程!已经购买啦!!


登录 后发表评论
最新文章