测试从业者,打交道最多的就是开发,而测试和开发之间的关系在行业内被称为‘天敌’。最近部门内有些产品线成员和开发同事在协作之间也是双方抱怨不断,为此形成此文,算是给大家一些思路参考。

作为测试工程师,你知道要怎么更好地来处理跟开发之间的关系么?

其实对于存在这种所谓的‘敌对’关系,并不难理解。

从整个产品研发的角度看,开发是产品的制造者,产品就相当于他的‘孩子’,而测试的工作是去找这个“孩子”身上的毛病。相信,没有一个人喜欢别人对自己的孩子各种挑错。

因此,开发和测试的这种“敌对”属性是在所难免。而在日常的工作中,相信大家经常能看到如下的一些对话。

几个测试人员下班走在路上,抱怨数落白天开发的种种“罪状”:

每次提bug,开发都让会让清数据、清缓存、重启机器,三两下把bug整不见了,等到bug复现不出来,就说看吧,不能复现,不修复了!或者就说自己本地是好的,质疑测试的版本不对,再不然就说用户不会这么操作,不用修复,反正就是想方设法不想修这个bug!
bug一开始明明能稳定复现,但开发一直放在那里不管,等过了一段时间后,环境被破坏了,测试版本升级了,又让测试来复现这个bug,浪费时间重新搭环境不说,bug还经常不能复现了,然后又说不能复现所以bug就不修复了。
bug修改完,啥说明交待都没有,不说清楚根本原因和影响模块,我们怎么做回归测试啊!
除了测试对开发的行为有抱怨,同样的,开发对测试的抱怨也不少,相信大家经常会听到一些开发对测试的槽点:

测试整天搞一堆流程和文档,要开发提供这个,提供那个,开发写代码都没时间,还哪有那么多时间整这玩意啊!
靠,查半天,又是一个无效的bug,测试到底有没有搞清楚需求?
不懂代码。。。
上面列举的槽点其实说的还较为保守,不管是测试对开发,还是开发对测试的槽点太多了,有的太过于血腥,就不一一列举了,欢迎读者留言补充。

看着这些相信作为研发技术人员(不论是开发或是测试)的你肯定不陌生。毕竟立场不一样,职责不一样,出现这样的分歧和矛盾也无可厚非。

但是,如果每天工作在这样的工作氛围里,不止影响我们每天的心情,而且肯定也会影响我们的工作效率。

那,到底可以做些什么来改善这种敌对关系?或者说可以从哪些方面来融洽开发和测试之间的工作氛围,以下概括为四个方面。

1. 提高自身核心业务能力

首先一点,还是得从自身做好做起,测试工程师应该要提高自己的核心业务能力,让开发挑不出来毛病,从而对你产生信任甚至叹服。

关于这一点举一个曾经工作的案例(身边的同事)。

当时是一个刚毕业不久的小姑娘,加入公司不久,做事特别仔细谨慎,提bug也会经过再三确认才会提单。

当时公司的开发老大是个特别强势的人,声音大、气势强,一说话能把人吓懵的那种。

事情的起因,是因为小姑娘提了一个bug,在她的环境下面再三确认过,是个能够稳定复现的严重bug,所以标记为了严重级别,并且指派给开发。

对应模块的开发人员大致定位了一下,没有复现出来就反馈给了他的老大。然后这个开发老大,就气势汹汹的过来测试办公区,趾高气昂地跟我(当时我作为测试负责人)说: “你们这边的测试怎么提bug的,是不是bug自己有没有搞明白啊?现在开发的环境里就是OK的,肯定是你们的测试环境的问题或者操作方法的问题!下次搞清楚再提bug,不要浪费开发的时间…”

这些话说的一点都不客气,矛头全指向测试这边,不留任何余地。(当然作为当时测试负责人的我,先不管事情谁对谁错,先得维护测试这边不被欺负,我也回怼过去。。。)

但整个事情,小姑娘却没有去争吵,没有去理论,而是在她自己的环境下再次成功的把这个问题复现出来,然后再去找到开发,帮助他搭建同样的环境,告知稳定的复现步骤,将bug在他的环境下复现,并且协助开发把问题定位出来,只需要他们修改对应的代码就可以了。

从这次事情之后,整个开发团队对小姑娘的态度明显改善了,不仅不再趾高气昂的指点和质疑她的工作,而且在要修改bug的状态(非修复状态)的时候也会先跟她确认,得到准许之后才做相应状态的修改。

因此后面她的工作开展顺利了很多。

所以,要避免落人口舌,请先做好自己。测试做好自己的首要前提,就是必须要提高自己的业务能力:

◆ 一方面,要充分的熟悉被测产品,理解产品的逻辑和实现,在这个基础上,不仅能提高你的测试技能和工作效率,而且在被开发质疑的时候,也能有扎实的产品业务知识做后盾。

◆ 另一方面,要规范自己的工作的输出。例如保证各种测试文档(测试计划,测试用例和测试报告等)的质量,可以经得起开发、产品等各部门的审核。

比如保证输出的bug质量,编写bug的描述和步骤清晰,bug的严重级别定位准确,以及定位日志和现场截图齐全,不给开发留下挑刺的余地。

只有先提高了自己的工作质量,才可以用同等的标准去要求开发,才能在守住测试的立场的同时,也赢得对方的尊重。

在这里还是要推荐下我的学习交流地 644956177 ,群里技术大牛,如果你正在学习,小编欢迎你加入,大家都是测试开发党,不定期分享干货,包括我自己整理的一份2021最新的资料。

2. 提高自身技术能力

其次,测试人员需要提高自己的技术能力,包括测试的技能,以及测试相关的技术能力和知识领域。

再给大家分享一个真实的故事,我原来有一个同事,也是做测试的,因为主要是做黑盒测试,起初她并不懂代码。

在项目工作过程中,她遇到一个极不愿意配合的开发,每次想更加深入地熟悉产品的功能实现和业务逻辑的时候,咨询开发,他都很不配合。

两个人争吵过,也互怼过,甚至双方领导调解过,但是都不见情形的改善。

没有办法,为了保证自己的测试任务能够按时按量的完成,她只能逼着自己去阅读产品的源代码。

虽然一开始都看不懂,但是她还是坚持,一边找资料,一遍咨询别人,最后终于把这个产品相关模块的代码都熟悉了。

在随后的测试过程中,遇到bug,她已经可以自己准确的定位出来是那一块代码的缺陷。

此后,再也没有听过她跟那个开发争吵了,因为她自己已经成为了那个最熟悉产品的人,不管从功能实现,还是代码逻辑,她都了然于心。(甚至有时开发都会来咨询她)

所以,测试工程师需要适当的有针对性的提高自己的技术能力,技术在手,无求于人。

那可以从哪些方面来提高:

◆ 第一,是测试的技能、测试流程以及各种测试方法的掌握,这些是测试工作的基础,所以这个是必须要掌握的。

◆ 第二,能熟悉至少一门语言,不管是Java,Python还是Go,掌握其中1-2个就可以。有了语言基础,测试可以更加深刻的理解产品的实现,也能够更加清楚的知道bug经常会出现的模块,能够对产品进行更加充分的测试。

◆ 第三,至少要掌握一种数据库的使用,测试人员离不开数据库的管理和操作,自己掌握了这方面的技能,就再也不用依赖开发,减少自己的被动性。

◆ 第四,熟悉系统的相关操作,如安装,配置,管理,对于Linux系统需要熟悉常用的操作命令,能在Linux下能安装和配置软件等。

总之,提高了自己各方面的技术能力,才能够在工作中充分发挥自己的主观能动性,不过分依赖开发,才能提高自己在开发心目中的专业性,赢得双方平等的待遇。

3. 提高情商、沟通能力

再者,测试工程师也要提高自己的情商,增强自己的沟通能力,懂得站在开发的角度思考问题,学会去尊重开发人员。

作为测试人员,我们除了坚持自己测试的角度和立场之外,也要有同理心,学会站在开发的角度去看问题。

实际上很多冲突都是源于大家对需求理解不一样造成的,所以当测试和开发对一个bug持有不同观点的时候,不要率先很强硬的否定他,尝试解释为什么他理解的需求有不足之处

找到一些可以站得住脚的论点,从用户角度出发,从安全性考虑,或者从易用性和友好性来看,说服开发接受测试的观点,而不是强加自己的观点给他们。

另外,平时工作之余大家可以多沟通,有机会就组织一些开发和测试双方参与的团建活动让大家彼此都熟悉一些,这样子很多时候面对熟悉的人,在反对对方的观点的时候会更加容易考虑一下对方的感受,只要气氛不对立,很多事情就可以商量了。

这些沟通技巧都是一个人情商的体现,这也是为什么很多公司招聘的时候都要求测试人员善于沟通和表达,高情商的表达和沟通方法,可以让我们的工作氛围少一些凌厉,多一些柔和。

4. 建立完善的管理流程

最后,在公司层面,还需要有一个完善的管理流程,通过流程控制来规范开发和测试部门的工作,同样可以很大程度上减少冲突的发生。

质量保证从来都不仅仅是测试人员的职责,而是需要整个团队齐心协力。

建立完善的流程,能够帮忙提高产品的质量。从测试的角度,又有哪些流程和规范可以值得参考的呢?

规范开发的提测报告,写明修复方法和bug的根本原因,帮助测试进行bug验证和回归测试;
规范开发处理的bug的过程,比如关闭bug之前必须要发邮件或IM通知跟测试确认,避免bug没有经过确认被擅自关闭而引发矛盾和冲突;
规范项目代码审核以及最后阶段的代码封禁,提高代码的质量以及降低发布最后阶段出现严重回归问题的几率。
各种流程的推行,虽然看起来很繁琐,但是严格执行起来,确实能够解决很多实质性的问题,帮助缓解很多开发和测试之间的尖锐冲突。

总而言之,虽然开发和测试之间存在着天然的‘敌对’关系,但是作为测试人员要树立好自己的定位,清楚的知道无论开发和测试,最终目的都是使项目高质量、高时效地完成。

并且只有开发和测试并力合作才能完成好一个项目。所以无论开发还是测试,大家都离不开彼此,测试工程师不是给开发工作挑刺找茬。更不是开发人员的附属品,需要在提高自己的同时,理性地处理和看待和开发的关系,共同营造一个良好愉快的工作氛围。

如果你已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的,都可以关注我【软件测试小dao】,公众号内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

测试跟开发“敌对”,你可以这样做···相关推荐

  1. 开发到底要不要自己做测试?

    圈里有这样一个关于测试的段子:每个程序员在修改代码时都希望有测试,但在写代码时,都不想写测试. 希望有测试,是因为测试可以给我们带来安全感.不想写测试,一方面,很多人会觉得麻烦,另一方面,也是更重要的 ...

  2. 测试开发成长学习路线--如何做一个DevOps流水线上的开发测试

    大家知道,测试开发或者开发测试范围很大,一个人的精力和你当前的项目经历,决定了你属于某一个领域的具体的测试开发的工作.在这里,我不纠结测试开发和开发测试有何不同,有一个叫法罢了.今天这里要讨论的是如何 ...

  3. 在敏捷中应用测试驱动开发

    在敏捷和DevOps领域,企业越来越关注持续集成和持续部署问题.他们更频繁地更新软件,给软件测试造成额外的时间压力.而测试驱动开发可以成为解决这个问题的一剂良方. \\ 什么是测试驱动开发? \\ 测 ...

  4. .net开发是做什么的_软件开发是什么, 该怎么做?

    软件开发是什么, 该怎么做? 1  引子 关于什么是软件开发存在很多观点,有的认为软件开发即服务,有的认为软件开发即产品,有的认为软件开发即平台,这些观点各有各的侧重点.这篇文章我们来学习和探讨一下软 ...

  5. 测试驱动开发 测试前移_测试驱动开发:它是什么,什么不是。

    测试驱动开发 测试前移 by Andrea Koutifaris 由Andrea Koutifaris Test driven development has become popular over ...

  6. 测试驱动开发_DevOps之浅谈测试驱动开发

    "测试驱动开发(Test-Driven Development, TDD),以测试作为开发过程的中心,它要求在编写任何产品代码之前,先编写用于定义产品代码行为的测试,而编写的产品代码又要以使 ...

  7. 测试转开发,一个女孩子短短的工作心得

    出自:http://blog.csdn.net/panfang/article/details/7539414 在讲述我的经历之前,我先分享下工作不到2年时间得到的几个重要的结论: 一.坚持梦想没有理 ...

  8. 被高估了的测试驱动开发?

    测试驱动开发(TDD)始于上世纪 90 年代,时至今时今日,依然只有少数的开发者在践行着.本文作者从软件开发者的角度,又一次帮助我们定义了测试驱动开发,解答了众多开发着对 TDD 常见的谬误. 作者 ...

  9. 测试与开发人员的战斗

    作为一个测试老兵,经常听到有测试新人抱怨,需要和开发人员进行激烈的讨论,感觉像打仗一样.其实,测试人员和开发人员的战斗不仅仅在小公司有,在大型软件公司也是比比皆是.这种战斗不仅仅发生在开发周期的初期, ...

最新文章

  1. HTML5---19.地理定位的接口使用
  2. FileChannel应用实例——拷贝文件transferFrom方法
  3. ITIL的一些简单感受
  4. ffmpeg for android windows,windows10下编译ffmpeg for android
  5. big sur无法验证macos_网易邮箱出现重大失误,忘记续期HTTPS证书导致大量用户无法使用...
  6. SDUT - 2604 Thrall’s Dream(tarjan+拓扑)
  7. python的setup()与py2exe
  8. hadoop 学习(1):搭建环境
  9. 华为那些手机有鸿蒙系统,华为鸿蒙系统支持哪些手机 鸿蒙系统支持哪些手机型号...
  10. 山东教师教育网博客空间--(他人博客)
  11. 如何保障企业邮箱安全
  12. python读取txt 符号分割 读取一条删除一条
  13. 第157篇 合约安全-随机数
  14. css去除图片或元素的背景颜色【透明】
  15. 多维联合正态分布代码matlab(以二维为例)
  16. 最新单片机设计选题合集
  17. ASPICE_SWE.1_01_02_SQ3RNote
  18. SQL server查询出只选修两门课程的学生学号和姓名
  19. Linux内核中最牛逼的温控方案——IPA(一)
  20. 最新kali之hashcat

热门文章

  1. ROS2中用MoveIt2控制自己的舵机机械手(5)
  2. 孩子总喜欢说重复的话?分清这3种情况
  3. java printstream 中文乱码_JAVA的中文字符乱码问题
  4. vim基本使用和光标移动
  5. flex布局换行后有缝隙怎么解决
  6. 利用html与css写出的购物网页
  7. 为linux内核生成initrd.img
  8. php设计网站页面风格,Photoshop设计简单时尚创意风格的网页首页模板
  9. 微信公众号开发(二):利用责任链和模板方法模式设计消息的处理流程
  10. 计算几何基础——点积和叉积