背景:本人从事自动化测试、测试开发已经 6 年左右。从去年开始我们公司组建了自动化小组(6 个人),应对不同项目的自动化用例编写、维护以及各种工具的开发。与此同时我也听到了来自各个方面的一些误解。
怎样才能成为一个优秀的测试开发呢?我想了好久,总结如下:
测试开发的第一本职任务是什么呢?简而言之,就是开发提高研发效能的工具。其实大家都很忙,往往这个工具的需求都是我们自己想出来的。包括最初的功能需求,实现的逻辑,以及 UI 都可能是我们自己亲力亲为。所以,测试开发必须要有产品的思维,任何需求都要考虑周全,形成闭环。闭环这个词也是我从其他产品经理那边偷学来的。
从整理出需求后,就需要开始设计接口、设计数据库以及各种中间件的选型,然后就开始编码。测试开发其实主要工作就是开发,一些常用的开发技术栈的掌握是必须的。
测试开发,首先得是测试。
1、像我们公司的测试开发,都要从普通的功能测试做起,来熟悉公司产品的业务,这样才能做出更适合公司内部使用的东西。
2、如果拥有测试的素质后,我们就可以带着测试的思维去开发业务,这从源头就会避免很多预料之内的 bug。
3、如果拥有测试的素质后,每当我们自己测试自己的产品,就一定能够精益求精,找到问题的缘由,修复起来也能用更加合理的方式。
做出来的工具(平台)还要自己维护。先不说一些明显的 bug,像什么服务访问慢,平台打开不稳定,数据库主从配置,平台高可用等等,都需要有运维的功底才能解决。
工具不是开发出来就完事了,最最最重要的是要大家用起来。换句话说,只有大家用起来了,真正提升了研发效能才能体现出了我们的作用。所以我们还要整理各种文档,对大家进行不同阶段的培训、分享和指导。当然每次分享过程中也是收集需求,进行二阶段开发的最佳时机
测试开发也是要有成本的,不可能一个需求你可以无限期去做。要给测试总监一个预期目标,然后在计划的时间内完成计划的任务,所有的进度都得自己去掌控。
总结: 其实测试开发是一个各方面要求都非常高得一个岗位,我们要在浮躁的环境中不断学习,不断成长,做出让大家都收益的产品,最终才能被大家认可。