背景:本人从事自动化测试、测试开发已经 6 年左右。从去年开始我们公司组建了自动化小组(6 个人),应对不同项目的自动化用例编写、维护以及各种工具的开发。与此同时我也听到了来自各个方面的一些误解。

误解

  1. 来自测试部门内部的疑惑:自动化小组 6 个人已经很多了,正常情况下一个项目一个人去做自动化脚本或者维护即可,为何还要招人?
  2. 来自开发部门的误解: 测试为什么还会写代码?
  3. 来自交付或者运维的疑惑:我们手动部署挺好的(我们用 ansible 部署挺好的),为什么要弄个 CICD?
  4. 来自其他地方的疑惑:你们到底是测试还是开发呀?你们都在开发写什么?

我的反思

  1. 出现这个疑问大多是因为别人对测试开发这个角色(职位)本身就不够了解,不知道测开具体是干什么的。有人会认为自动化测试就是测试开发,其实自动化测试只是测试开发成长道路上面的一段历程。
  2. 我们还没有做出来让大家都受益匪浅的工具(平台)😭

怎么样才能成为一个优秀的测试开发呢?

怎样才能成为一个优秀的测试开发呢?我想了好久,总结如下:

测试开发要有产品的思维

测试开发的第一本职任务是什么呢?简而言之,就是开发提高研发效能的工具。其实大家都很忙,往往这个工具的需求都是我们自己想出来的。包括最初的功能需求,实现的逻辑,以及 UI 都可能是我们自己亲力亲为。所以,测试开发必须要有产品的思维,任何需求都要考虑周全,形成闭环。闭环这个词也是我从其他产品经理那边偷学来的。😅

测试开发要有开发的技术

从整理出需求后,就需要开始设计接口、设计数据库以及各种中间件的选型,然后就开始编码。测试开发其实主要工作就是开发,一些常用的开发技术栈的掌握是必须的。

测试开发要有测试的素质

测试开发,首先得是测试。
1、像我们公司的测试开发,都要从普通的功能测试做起,来熟悉公司产品的业务,这样才能做出更适合公司内部使用的东西。
2、如果拥有测试的素质后,我们就可以带着测试的思维去开发业务,这从源头就会避免很多预料之内的 bug。
3、如果拥有测试的素质后,每当我们自己测试自己的产品,就一定能够精益求精,找到问题的缘由,修复起来也能用更加合理的方式。

测试开发要有运维的功底

做出来的工具(平台)还要自己维护。先不说一些明显的 bug,像什么服务访问慢,平台打开不稳定,数据库主从配置,平台高可用等等,都需要有运维的功底才能解决。

测试开发要有老师的耐心

工具不是开发出来就完事了,最最最重要的是要大家用起来。换句话说,只有大家用起来了,真正提升了研发效能才能体现出了我们的作用。所以我们还要整理各种文档,对大家进行不同阶段的培训、分享和指导。当然每次分享过程中也是收集需求,进行二阶段开发的最佳时机 😄

测试开发当然还要有项目经理的全局掌控

测试开发也是要有成本的,不可能一个需求你可以无限期去做。要给测试总监一个预期目标,然后在计划的时间内完成计划的任务,所有的进度都得自己去掌控。

总结: 其实测试开发是一个各方面要求都非常高得一个岗位,我们要在浮躁的环境中不断学习,不断成长,做出让大家都收益的产品,最终才能被大家认可。😎


↙↙↙阅读原文可查看相关链接,并与作者交流