最近在看“软件随想录”,里面有个非常有名的“乔尔测试”,其中有一个问题是“你的团队里面是否有测试人员”,如果有的话就加分,表明团队对产品质量比较重视。

但是在现在的软件开发团队中是否真的需要测试人员呢?

如何替代测试人员的工作

我们先来看一下测试人员的工作是什么?测试人员的工作是尽可能的找出bug,然后提交给开发人员进行修复。如果团队里面没有测试人员,开发人员要如何找bug呢?

首先我们来看测试人员做的最多的测试——功能测试,对于功能测试我们有什么办法可以来替代呢?

单元测试

单元测试是开发人员找出代码中潜在bug的自我救赎行为,相比手工测试功能,开发人员一般更倾向于写代码来测试功能代码,即所谓的单元测试。只要能想到相应的测试案例,就能写出单元测试,可以测试包括正常,异常,分支,边界等情况下的问题。

集成测试

单元测试虽然可以找到一些bug,但还不能完全替代测试人员的工作,单元测试只能测试细粒度级别的功能,比如某个方法的功能,如果需要对几个功能点一起测试的话,单元测试就满足不了了。但没有关系,开发同样可以用代码来写测试,这种粒度稍大的测试就是集成测试,比如测试一个后端的api,验证输入参数和输出结果,这个api的真正功能可能是后端调用数据库等一系列的操作,你一个测试方法就可以把这个api的各个功能点串起来一起验证。

UI测试

还有粒度更大的测试,一个页面上的按钮的点击可以看成是UI测试,相对于集成测试,这个测试的范围涉及了前端和后端,测试包括验证前端的页面是否正确,到点击按钮后触发的后端功能是否正确。现在市面上有很多端到端的测试框架,涵盖各种语言和浏览器。

性能测试

除了功能测试,测试人员还会做一些性能测试,同样地,开发可以通过代码或者脚本来调用性能测试工具来对系统进行性能测试。

持续集成

如果不想像测试人员一样每天做重复性的劳动,就可以将以上那些测试代码放到持续集成上面,让机器帮你运行,想象一下,几百上千个测试,如果手工跑的话可能要花不止一天的时间,而通过持续集成,可能在一天就能跑完好几轮所有测试。

不能替代的测试工作

如果我们做到了以上这些,是否就可以完全代替测试人员了呢?其实有些测试是机器无法测试的,比如网页的样式,机器只能判断是否有显示,但无法判断显示的是否好看。还有一些交互效果,也只有通过人工才能识别效果是否正确,还有其他各个领域的测试,目前是不能通过代码或者机器来替代的。

高级测试工程师

可能有人会说上面提到的用代码来执行测试的工作,高级测试工程师也能做。其实我觉得软件开发和软件测试到了越高的位置,技能重合的领域就越大,两者都同时会写代码,做测试,可能还会部署,会运维,这个时候我觉得不如就叫高级工程师好了,或者全栈工程师。

结论

说了这么多,所以结论是什么呢?

具体情况要具体分析,不能一概而论说完全不需要测试人员,团队不需要测试人员的条件是:

  • 团队的开发人员可以写的单元测试,集成测试和UI测试
  • 没有太多需要人工测试的功能,比如团队开发的是常规的web系统或者纯后端应用等
from:http://zhaozhiming.github.io/blog/2016/06/12/do-we-need-tester-in-our-team/

开发团队里是否需要测试人员?相关推荐

  1. 程序员谈敏捷开发团队里成员间的相互信任

    我所在的SAP成都研究院成都数字创新空间团队,虽然是成都CX成立最晚最年轻的团队,但却是一支非常有战斗力的团队,如果说产品开发团队是正规军,那我们就是特种部队,是<碟中谍>系列Ethan背 ...

  2. 小程序开发版只能自己微信真机调试,别人微信步行,小程序开发版如何提供给测试人员测试

    今天项目基本上完结了,接口也都调完了.自测的时候想用不统计机型多个微信号登录同时测试观察机型表现.结果发现为什么我的账号可以访问到小程序,别人的不可以.然后就按照标题类似的方式百度,发现并没有多少帖子 ...

  3. 大厂裁员潮下,测试人员路在何方?

    大基建时代,人们怀揣着"三总五项"的梦蜂拥入土木建筑的行列,不知是否有人想到他们中的大部分归宿是"提桶跑路".时代的浪潮一波接着一波奔腾而来,有高潮就有低谷,有 ...

  4. 对测试人员或开发人员来说相互沟通有多重要?

    要开始讨论的话题之前,我想举一个实际生活中的例子: 丈夫和妻子住在同一所房子里,且不与对方沟通.或者说他们之间没有什么可以说的.他们只是用短信告知对方如果有什么重要事要注意.否则,两人都是在忙自己的生 ...

  5. 小型开发团队的测试误区

    小型开发团队的测试误区 小型开发团队的特点主要表现在开发成员少,整个团队成员在10人以内:团队成员岗位较多重叠,开发人员常常是测试人员,项目工作量大.上线时间紧迫,相比大型开发团队来说,没有专业的测试 ...

  6. 【干货】游戏开发团队部门岗位

    声明:本文所有素材来自B站Gamker攻壳.侵删. 项目部 工作室总监 除了最大的投资人 这个人就是公司的老大 这个比较简单 要么你自己创业 要么大公司看好你 让你当这个职位 如果不是自己创业建立工作 ...

  7. 测试人员如何摆脱被钳制的局面?如何利用现有条件资源冲破禁锢?

    目录 前言 不就是 UAT 么,咱们怕什么 墨菲定律带来的 UAT 危机 克服测试过程中的墨菲定律 做一个能动性的测试 总结 前言 作为一个测试人员,如果只是将自己的责任定位在产品交付测试之后,用户使 ...

  8. 软件测试之测试人员的分工

    最近看了点敏捷测试的东西,看得比较模糊.一方面是因为没有见真实的环境与流程,也许它根本就没有固定的模式与流程,它就像告诉人们要"勇敢""努力".有的人在勇敢的面 ...

  9. 初创公司股本结构_我如何向初创公司的开发团队添加一些结构-以及从过程中学到的东西

    初创公司股本结构 Until recently, I'd spent the last 4 years of my career at FinTech start-ups. I'd always wo ...

最新文章

  1. 【leetcode】二叉树与经典问题
  2. signature=17cdfa42b38e299201383f4fa6ccc23f,EYE FOR FASHION
  3. 剑指 Offer 面试题45:把数组排成最小的数——Python内置函数 map()、__lt__()、join()、sorted()
  4. Python3 isspace()方法
  5. md函数MySQL_MySQL的常用SQL语句.md
  6. 普通地图的六大要素_地图的基本要素是什么 主要是哪三大要素
  7. 吴恩达机器学习作业4(python实现)
  8. unity3d prefab
  9. numpy功能快速查找
  10. ETL工具Kettle使用教程
  11. python itchat教程_Python itchat.run方法代码示例
  12. 视音频编解码H264,265,MPEG-4,VP8,VP9知识总结
  13. 【SEO案例】百度快照劫持怎么处理
  14. 微信SDK删除支付模块流程
  15. 不花一分钱申请免费域名和ssl证书
  16. 大数据技术原理与应用之可视化实训
  17. sdutOJ 查字典(Python)
  18. Unity Shader - Planar Shadow - 平面阴影
  19. post请求https安全证书问题2.0
  20. 三十八、Fluent融化凝固模型参数设置依据

热门文章

  1. 数据挖掘十大经典算法之——Naive Bayes 算法
  2. 亚马逊:区块链模块化,造币流水线化
  3. 谷歌开源机器学习可视化工具 Facets:从全新角度观察数据
  4. LambdaMART的思想
  5. Tomcat - Tomcat的套娃式架构设计初探
  6. Oracle优化03-Latch和等待
  7. Imageloader6-mUIHandler的初始化
  8. java 链表算法_JAVA数据结构与算法之链表(一)
  9. Android程序App开机自启动
  10. python字符计数怎样去除空格_去除python中的字符串空格的简单方法