研发效能 关于测试开发的误解和思考

stevenxu · 2020年04月23日 · 最后由 王_test 回复于 2020年04月27日 · 3797 次阅读

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

误解

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

我的反思

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

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

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

  • 测试开发的要素
    • 产品的思维
    • 开发的技术
    • 测试的素质
    • 运维的功底
    • 老师的耐心
    • 项目经理的掌控

测试开发要有产品的思维

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

测试开发要有开发的技术

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

  • 下面是我罗列出来的一些基础的技术栈:
    • 前端:html、css、js、jquery、bootstrap、vue 等
    • 后端:Python、Django、flask、celery(因为本人是偏 Python 的,就推荐 Python 系,其他语言类似)
    • 自动化测试:unittest、pytest、robotframework、selenium、appnium、requests
    • 持续集成: Jenkins、git、docker、k8s
    • 数据库:mysql、redis 、mogodb
    • 其他 : shell、环境搭建、性能监控、zabbix

测试开发要有测试的素质

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

测试开发要有运维的功底

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

测试开发要有老师的耐心

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

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

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

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

共收到 12 条回复 时间 点赞

保持思考很重要👍

后面的几点都很认可,应该说做优秀的效能提升人员,都需要做到这几个点。

但对于开篇的其它团队误解,个人觉得核心点还是成果不够明显,以及和其它团队交流不够。问题不是大家不了解行业中的测开,而是不了解你们公司的测开。这其实有点危险。

一场测开团队成果分享,或者一些测开项目和其它团队交流合作下,也许会好很多。

嗯呢,到时候平台做好了,就可以滚蛋了

优秀测试开发的要素:

  • 产品的思维
  • 开发的技术
  • 测试的素质
  • 运维的功底
  • 老师的耐心
  • 项目经理的掌控

思考

  • 单单只要有一种要素,都能大概率压过测试开发
  • 现在大部分测试开发都是脱离业务测试,做了很多自动化,框架等,实际带来的收益却不高,造成了很尴尬的地位
  • 最近我一直在做功能测试,经常会抽时间结合一些实际情况用一些简单脚本,解决了很多小问题,反而得到大家的一致好评
陈恒捷 回复

哈哈哈,之前的主要工作都是测试内部的工具提升,研发中心的工作今年才开始做的,所以还要继续加油

开普敦人 回复

瑟瑟发抖

我们这边测试开发入职都要做半年功能测试,要熟悉业务线才行

stevenxu 回复

我们这边测试开发都要一边测业务一边做其他的事

Keep thinking~Keep moving

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

严重同意,哈哈

stevenxu · #8 · 2020年04月26日 Author
仅楼主可见

啥也会,啥也不精

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册