一文带你搞懂什么是测试开发,测试开发工程师

互联网开发测试工程师是个什么职位?
【一文带你搞懂什么是测试开发,测试开发工程师】

一文带你搞懂什么是测试开发,测试开发工程师


除了BAT,很多大公司都有测试开发工程师的位置,有时候这种团队会叫EP(Engineering Productivity),在谷歌,其EP团队人数达到了四位数 。那么测试开发工程师主要是做什么的呢 。从名字上就能看出,这个位置与测试和开发都有关系 。用一句话来概括,测试开发工程师就是为开发以及测试人员开发工具,从而提高测试人员效率,提高开发人员代码效率的人 。
具体以APP测试来说,很多测试人员的工作方式是人工去测试或者自己搭建appium环境写脚本去测试 。但是这样的方法有4个弊端:1 人工测试效率低,且难以回溯 。如果人为测试的时候,发现了问题,通常需要记录执行步骤,但是你可以想象,如果人操作手机的时候,点的每个动作都人工记录的话,那一整天下来,可能也就能测试三四个场景,这个效率可以说相当的低,是绝对不被允许的 。
2 人工测试覆盖率低 。这个很容易理解,假设一个页面有N个控件或者activity,人工测试很难设计出全部覆盖到的测试路径,因此就会有漏测从而出现bug没捕捉到的风险 。3 appium环境搭建需要成本,且脚本重用率低 。appium这个家伙动辄就上G,说句实在话,我是不愿意装的 。除了回归测试,验证旧功能不受影响外,新功能上线如果由测试人员自己写脚本的话,很多一次性的脚本写完测完就会被浪费掉 。
4 测试人员需要每人一个手机,而测试工作不是24小时进行的,会导致设备资源的浪费 。每个测试人员在工作的时候,都需要有一台测试设备,但是他们下班后,这些设备就被锁抽屉里,这个时间原本可以继续用来跑测试的,但是就这样浪费掉了 。基于以上这样的场景,测试开发人员就可以登场了 。测试开发人员可以研制出一套自动化测试的工具,只需要测试人员把apk或者ipa包上传,选择不同的测试方式,就能够自动化的手动触发或者定时触发任务 。
这样做的好处一方面节约了测试人员的人力,解决了上面的弊端1和2,另一方面也不需要他们自己搭建环境写脚本(弊端3),最重要的是,他们设计并拥有自己的移动设备管理集群,相当于集中了测试人员的测试机,通过自动化的方式,可以让这些设备7*24小时的运行任务,最大化的榨取设备采购的利益(弊端4)。上面这个例子里的服务就是为了测试人员提供,用来提高效率的,因此做这类工作的程序员,就被称为测试开发工程师 。
软件开发、测试开发和AI算法工程师,哪个岗位更有前途?
一文带你搞懂什么是测试开发,测试开发工程师


我建议你选择AI算法工程师 。软件工程师,是对从事软件编程人员的统称 。这个职业基本是应用型的,要求学得杂,懂得多,但真正在项目上属于“搭积木”式的开发,注重与客户的对接,注重快速完成产品,有基本模型就可以,不需要深入钻研高深理论 。软件工程师的数量众多,可替代性强,不建议选择 。测试开发的入门门槛比较低,有时候非计算机工作人员都在担任 。
但是要做到智能测试,各种复杂环境测试,对计算机人员的要求也是非常高的,这个职业同样属于应用性的职业 。很多人对测试开发有偏见,认为测试不是软件开发的中心环节,导致工资不太高,工作不稳定,所以也不建议选择 。算法工程师是计算机软件的制高点,也是发展方向 。虽然现在需求量不是很大,但以后的需求肯定是越来越大的 。

推荐阅读