测试和开发职场中的欢喜冤家

article/2025/11/11 5:49:25

导语:测试工作从业者,打交道最多的就是开发,而测试和开发之间的关系在行业内被称为‘天敌’。

** ‘天敌’关系形成的原因 **

那作为测试工程师,你知道要怎么更好地来处理跟开发之间的关系么?其实对于这种‘敌对’关系,我们也不难理解。

开发是产品的制造者,产品就相当于他的‘孩子’,而测试的工作是去寻找这个“孩子”身上的毛病。相信,没有一个妈妈喜欢自己的孩子被各种挑错,然后要让自己去纠错进行重塑。所以,人之常情,开发和测试的这种天然冤家的属性确实在所难免。所以我们经常能在公司各个的茶水间或者会议室看到这样的一些对话和小场景: 

几个测试工作人员抱怨开发的各种行为:

A:xx开发每次开一个bug就过来让我重现,明明我bug里的步骤描述得已经很清楚了,他自己都不会操作一下的!

B:xx开发太依赖测试了,相同的bug提出一处改一处,同类型的bug在相关的模块不能一并修改了么?

C: 遇到不想修复的bug,就说自己本地是好的,或者质疑测试的版本不对,再不然就说用户不会这么操作,不用修复,反正就是想方设法的不修bug!

D:开了bug开发就让我清数据,清缓存,或者重启手机,三两下就把bug整不见了,复现不出来了,就说看吧,不能复现,不修复了!

E:我开了一个bug,开始明明能稳定复现,然后开发一直放在那里不管,等过了一段时间后,我的环境被破坏了,或者测试版本升级了,又让我复现这个bug,浪费时间重新搭环境不说,bug还经常不再复现了,然后他又说不能复现所以bug就不修复了...

F: 开发修完这个bug单元测试报告没有,而且bug描述备注也没有,不说清楚根本原因和影响模块,我怎么做回归测试啊! ……

测试对开发的种种行径,哀声怨道,不绝于耳。

当然,开发对测试的态度也好不到那里去,你同样能经常听到开发围在一起埋怨测试人员:

A: xx经常开一些这么小的bug,还总要求开发改,影响又不大,还耗时费力,测试都不懂项目管理和预估风险啊?

B:这些明明是客户端的bug,指派给我们服务器是几个意思?测试都不会自己先定位一下的么?这点业务能力都没有!

C: 经常花费了大量的时间排查和定位bug,最后竟然发现是无效的bug,测试到底有没有搞清楚需求?简直是浪费大家的时间!

D:明明是个Major的bug,却给我报成critical级别,还害我被领导催加班,自己谨慎一点定bug级别不行么?

E:xx测试总是一直在问bug产生原因和解决方法,测试又不懂代码,说了也不明白,一直解释也是浪费大家时间!

F: 测试整天搞一堆流程和文档,要开发提供这个提供那个,开发写代码哪有那么多时间! ……

看着这些言辞相信作为测试工程师的你肯定觉得一点都不陌生。因为立场不一样,职责不一样,出现这样的分歧和矛盾也无可厚非。但是,如果每天工作在这样的氛围里,每天都需要花心思去跟开发斗智斗勇,不止影响我们每天的心情,而且肯定也会影响我们的工作效率。

所以,作为测试工程师,我们到底可以做些什么来改善这种敌对关系呢?或者说可以从哪些方面来努力融洽我们的工作氛围呢?

** 测试如何改善?**

> >业务能力

1. 我觉得测试工程师应该提高自己的核心业务能力,让开发挑不出来毛病,从而对你产生信任甚至叹服。

关于这点我自己是有亲身经历的,所以深有体会。我曾经工作2年左右,跳槽到一家外企做一名senior测试工程师。刚到公司参与项目的时候总是格外的谨慎,开bug也要经过再三确认才会发出去。但是就算是这样,跟公司的开发的矛盾也还是没有幸免。当时公司的开发老大是个特别强势的人,声音大气势强,一说话能把人吓懵的那种。我当时开了一个bug,在我的环境下面再三确认过,是个能够稳定复现的严重bug,所以我标记为了critical的级别,并且指派给开发。对应模块的开发大致定位了一下,没有复现出来。然后这个开发老大,就气势汹汹的过来测试办公区,趾高气昂地跟我的测试经理说:

‘你们测试怎么开bug的,是不是bug自己有没有搞明白啊?现在开发的环境里就是OK的,肯定是你们的测试环境的问题或者操作方法的问题!下次搞清楚再发bug,不要浪费开发的时间...’ 

这些话说的一点都不客气,矛头全指向测试这边,不留任何余地。 

我当时内心肯定是很生气的,但是我没有直接站起来跟他理论,因为我知道,需要理论必须要掌握有效的证据,自己才能有底气,不然就是强词夺理,没有胜算。

所以,我在自己的环境下再次成功的把这个问题复现出来,然后再去找到开发,帮助他搭建同样的环境,告知稳定的复现步骤,将bug在他的环境下复现,并且协助开发把问题定位出来,只需要他们修改对应的代码就可以了。

整个事情,我没有去争吵,没有去理论,用自己专业的业务能力,让他们心服口服。

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

我的工作开展顺利了很多。

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

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

 ◆ 另一方面,也要规范自己的工作的输出。例如保证各种测试文档(测试计划,测试用例和测试报告等)的质量,可以经得起开发、产品等各部门的审核;比如保证输出的bug质量,编写bug的描述和步骤清晰,bug的严重级别定位准确,以及定位日志和现场截图齐全,不给开发留下挑刺的余地。

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

 > >技术能力

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

同样给大家分享一个真实的故事。

我原来有一个同事,也是做测试的,因为是黑盒测试,她并不懂代码。在项目工作过程中,她遇到一个合作很不愉快的开发,每次想更加深入地熟悉产品的功能实现和业务逻辑的时候,咨询开发,他都很不配合。两个人争吵过,也互怼过,甚至双方领导调解过,但是都不见情形的改善。

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

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

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

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

技术在手,无求于人。

所以,测试工程师可以适当的有针对性的提高自己的技术能力。

那从哪些方面提高呢?

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

◆ 第二,第二,最好能熟悉至少一门语言,不管是java,C++,或者其他的脚本语言python,perl以及shell,掌握其中1-2个就可以。有了语言基础,测试可以更加深刻的理解产品的实现,也能够更加清楚的知道bug经常会出现的模块,能够对产品进行更加充分的测试; 

◆ 第三,需要至少要掌握一种数据库的使用,如对SQL的操作,能运用JOIN进行查询,或者HAVING用法,测试人员离不开数据库的管理和操作,自己掌握了这方面的技能,就再也不用依赖开发,减少自己的被动性;

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

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

 > >沟通能力

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

 相信大家都知道,无论什么场景,有效的沟通总能让事情完成得事半功倍,测试跟开发之间的关系处理也是一样。

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

实际上很多冲突都是源于大家对需求理解不一样造成的,所以当测试和开发对一个bug持有不同观点的时候,不要率先很强硬的否定他,尝试解释为什么他理解的需求有不足之处。找到一些可以站得住脚的论点,从用户角度出发,从安全性考虑,或者从易用性和友好性来看,说服开发接受测试的观点,而不是强加自己的观点给他们;

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

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

 >> 流程管理

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

质量保证从来都不仅仅是测试人员的职责,而是需要整个团队齐心协力。所以建立完善的流程,能够帮忙提高产品的质量。

我原来工作的一家公司,测试部门的总监就一直致力于各种管理流程的制定和推行,比如用流程来规范测试文档的输出模板,以及测试开bug的模板,可以提高测试的工作质量;

还有用流程来规范开发的单元测试报告,写明修复方法和bug的根本原因,可以帮助测试进行bug验证和回归测试;

同样用流程来规范开发处理的bug的过程,比如关闭bug之前必须要发邮件跟测试确认,避免bug没有经过确认被擅自关闭而引发矛盾和冲突;

再如规范项目code审核以及最后阶段的代码冰封,可以提高代码的质量以及降低发布最后阶段出现严重回归问题的几率......

各种流程的推行,虽然看起来很繁琐,但是严格执行起来,确实能够解决很多实质性的问题,帮助缓解很多开发和测试之间的尖锐冲突。

**总结** 

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

所以无论开发还是测试,大家都离不开彼此,测试工程师不是给开发的工作挑刺找茬。但是也更加不是开发人员的附属品,需要再提高自己的同时,理性地处理和看待和开发的关系,共同营造一个良好愉快的工作氛围。

最后:【可能给你带来帮助的教程】

 这一些资料,对做【软件测试】的朋友而言应该是较为完整了,这类学习资料也陪伴我走过了最艰难的路程,希望也可以帮助到你!万事要尽早,尤其是技术行业,一定要提升技术功底。
以上软件测试资料领取小伙伴可以通过点击下面的小卡


http://chatgpt.dhexx.cn/article/E6o6w3f2.shtml

相关文章

零代码量化投资:用ChatGPT下载沪深300成分股历史数据

很多量化策略都会以沪深300成分股作为股票池。因此,沪深300成分股历史数据会经常用到。在ChatGPT输入如下提示语,就可以下载沪深300成分股历史数据: 沪深300成分股:query_hs300_stocks() 方法说明:通过API接口获取沪…

马斯克39也火星计划PPT

转自 | 软件定义世界(SDX) 北京时间 5 月 31 日凌晨 3:23 ,SpaceX 最新的载人龙飞船在美国肯尼迪航天中心 39A 发射台成功发射,在全球观众的注视下,载着两名宇航员还有一只恐龙玩偶前往国际空间站。 马斯克…

为什么使用高匿代理IP会被检测出许多问题,都有哪些问题呢?

现如今关于代理IP的相关种类和分类当中,高匿代理IP经常被使用,因为这种代理IP能够很好的解决大数据当中的信息抓取问题,不过在信息抓取的时候,并不是所有的高匿代理IP都非常好用,有一些平台服务商如果是小型的话&#…

IP地址发生冲突的快速处理方法!

IP地址冲突,一般出现IP地址冲突的现象都是在局域网内,由于一个局域网内有多台电脑,每一台电脑所匹配的IP都不一样,如果其中的某一台电脑的IP被人修改之后,与这一局域网中的某一台电脑IP刚好相重合,就会发生…

解决同一个局域网两个DHCP冲突问题--涉及到局域网IP扫描,主机操作系统扫描,mac地址查询

最近这几天我们大优能公司的网络(网段为10.0.0.1/24)总是出问题,常有一部分机器获取到192.168.1.0/24网段的IP和DNS,这部分机器无法上网且邮箱均不能用。公司同事囧的不成样子,不断有同事说“难道咱公司的网络被黑了&a…

IP冲突解决办法

1.用ssh/console登入核心交换机(10.10.11.1) 2.查看arp冲突 dis arp ip-conflict track 冲突ip地址:10.10.26.29 冲突mac1:2452-6aea-a1b9 冲突mac2:2452-6adc-039d 3.通过冲突ip查看下联口 dis arp network x.x.x…

如果精确判断一个IP是否被占用

如果精确判断一个IP是否被占用 我们在局域网经常需要去测试一个IP是否在用,通过使用ping命令去测试网络通还是不通,但这种方法不是很精确。 我在cnaaa.com上购买了云服务器。 原因是 ping 命令使用的是 ICMP 协议(Internet Control Messag…

如何解决Ganache界面一直转圈的问题

Ganache打不开的解决办法,针对Windows用户 Tip1Tip2 Tip1 不要直接从官网上下载,因为默认下载的是.appx文件,这样即使解压了也没有安装选项,打开ganache.exe后点击quickstart,会一直转圈进不去。(我的就是…

类似鹅厂的H5农场游戏,牧场游戏 博主亲自搭建

1.支持 三种动物的饲养 2.支持多种植物的种植 3.用农贸市场 4.有分享推广奖励 下载地址:原价6800的H5农场牧场游戏源码数据库文档亲自搭建-HTML5文档类资源-CSDN下载

华为OD机试用Python实现 -【农场施肥】(2023-Q1 新题)

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 华为OD机试真题:…

SDL农场游戏开发 1.环境搭建

由于我个人受到传统农场类游戏的熏陶,因此萌生出了开发一个类似于QQ农场的游戏。 本次游戏打着SDL的幌子(这么说自己真的好么),其实使用的是SDL_Engine,它是我闲暇时模仿cocos2dx而写的一个游戏框架。个人认为了解下S…

神秘农场新背包java_Mystery Ranch神秘农场2018年户外背包系列产品一览

对于初接独 和品牌设计师Dana 3 Gleason沟通时亦提及到,来年产品将集中于 Everyday, Mountain和旅行用三大趋势发展,迎合市场上大容量和短途trip的一众玩家。以话不假,从最新的日用背包就见到他们对日常背包的心思。 说实话,下半年…

qq农场私服php源代码,仿QQ农场源码、QQ牧场源代码(整合UCHOME)

安装步骤: 1.将压缩包内文件解压,上传upload里的所有文件到相应文件夹(你的uchome根目录下) 2.到phpmyadmin导入 uchome_happyfarm_config.sql uchome_happyfarm_mc.sql uchome_happyfarm_nc.sql数据库文件(如果前缀不是默认的uchome_替换成你的前缀否则农场无法连接调用mysql…

php开心农场 源码,开心农场源码(UCHome)PHP版下载

关键字:php discuz ucenter home� uhome manyou 开心农场 牧场 QQ 源码 下载 源码适用于已安装了UCenterHome的SNS网站,与QQ农场功能基本类似。可以自己调经验,原作者好像把后台给删掉了,只能从数据库调整了。 安装说明…

全民农场服务器维护上不去,全民农场微信授权失败登录不上解决方法

全民农场中秋节新版本上线,发布了许多好玩的活动,部分玩家朋友反映全民农场微信授权失败登录不上,这到底是怎么回事呢,下面小编来给玩家朋友分享下全民农场微信授权失败登录不上解决方法,希望玩家朋友喜欢。 全民农场从…

Java游戏开发——开心农场

游戏介绍: “开心农场”是一款以种植为主的社交游戏。用户可以扮演一个农场的农场主,在自己的农场里开垦土地,种植各种水果蔬菜。本次开发了一个“开心农场”游戏,运行程序,效果如下图所示。鼠标先选定指定土地&#…

qq农场 html5,登陆qq农场 QQ浏览器怎么登陆QQ农场

首先打开手机QQ程序,在QQ主页面中点击右下角的“动态”选项。 进入“动态”页面后点击其中的“好友动态”选项。 然后在打开的“好友动态”页面中点击页面上方的“小游戏”选项。 打开“小游戏”界面后即可在页面中看到“QQ农潮。 qq农场进不去的处理方法一&#xf…

基于java-swing的开心农场游戏

目的 本方案为java面向对象部分的综合评测,本项目是对JAVA GUI API的综合实训。 项目描述 该项目是对qq农场做出的简单的小案例。 1、播种种子 2、种子生长 3、种子开花 4、种子结果 5、收获种子 项目要求 使用JAVA SWING 或者 AWT 包下的API类实现该项目&am…

linux渲染农场大连教程,Deadline 渲染农场搭建记录

渲染农场的工作模式:多台机器组建集群进行渲染,比如:集群中有2台渲染机器A和B,服务器会同时分配给A和B任务,A渲染第一帧,B渲染第二帧,当A完成那么服务器会继续分配第三帧,同样B服务器完成以后服务器分配第四帧,以此类推。 渲染农场分服务端和节点,服务器端也可以加入集…

c++农场主均分土地为方块

题目背景:假设你是一个农场主,有一块小土地,1680*640那么大,你要将这块土地均匀的分成方块,要使分出的方块足够大,应该怎么分? 样例输入: 1680 640 样例输出: 80 一个…