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

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

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

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

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

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

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://www.rhkb.cn/news/72656.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巨蟹本质-绝种好男人

巨蟹座的人天生具有旺盛的精力和敏銳的感覺,道德意識很強烈,對慾望的追求也總能適度的停止。有精闢的洞察能力,自尊心也很強,同時也生性慷慨、感情豐富,樂意幫助有需要的人,並喜歡被需要與被保護的感覺。 …

4月8日第壹简报,星期六,农历闰二月十八

4月8日第壹简报,星期六,农历闰二月十八坚持阅读,静待花开1. 阿里版类ChatGPT来了!阿里云宣布自研大模型“通义千问”开始邀请用户测试体验。2. 史上最大单笔箱船订单!中船获法国达飞海运16艘订单:金额超210…

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

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

NVIDIA等40家伙伴助攻!百度飞桨的硬件生态已成气候

文|卖萌酱 当前人工智能产业迅猛发展,各种场景对AI算力和硬件适配的需求与日俱增。要充分发挥硬件算力的潜能,硬件厂商必须与成熟的AI框架深度适配和优化,从而形成一个软硬一体的AI开发工具栈。 笔者注意到,作为国内市…

为什么使用高匿代理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…

win10设置pin一直转圈_win10系统pin码无法使用的解决方案

win10系统pin码无法使用的解决方案,win10系统想要使用windows hello功能,就要先设置pin码,当你遇到pin码无法使用的问题时,可参照以下的方法进行解决。 有很多用户在使用win10系统的时候,想要使用windows hello功能&am…

OFFICE登录不上,一直转圈

首先打开控制面板,左上角查看方式选择小图标,点击网络和共享中心 点击连接的网络,打开后点击属性, 双击Internet版本协议4 ,将DNS服务器地址改为4.2.2.1或者4.2.2.2

outlook打不开一直转圈怎么办

1.打开 office 文档(表格或文档),选文件,找到选项菜单。 2.取消勾选“硬件图形加速”,保存设置,重启电脑设置生效。Outlook即可恢复正常打开。

centos7进系统图形化一直转圈或命令行提示starting switch root 处理方法

文章目录 说明测试解决方法 说明 测试系统:rhel7.3 , 该方法通用与centos和红帽。 原因,开机进不去系统,一直转圈,如下图 命令模式提示:starting switch root(忘截图) 测试 重启…

智能对话 | 使用 Java实现 智能对话机器人

人工智能 目前人工智能与深度学习顺应了互联网时代潮流,人机对话已经成为目前人工智能领域中非常热门的处理技术。其中基于深度学习的人机对话交换系统(智能机器人)是人工智能最有潜力的领域,甚至被称作人工智能的皇冠。相对于传…

如何用Java实现智能对话机器人

如何用Java实现智能对话机器人 前言 这个时代人工智能如此火爆,身为圈内人我们应该多少对他有些了解,为了靠他近一些今天我们动手用Java实现一个智能聊天机器人,当然此处我们需要依赖图灵机器人的Api 点我进入图灵机器人官网注册帐号 这篇博…

智能对话机器人开发实战案例剖析(2)

一、前言 本文是《智能对话机器人开发实战案例剖析》系列的第2篇:智能对话机器人分类标准,旨在对智能对话系统的进行一个系统性的介绍。相关内容已同步录制成视频课程,发布在网易云课堂。 二、正文 2.1 分类标准 2.2 闲聊型智能问答机器人…

智能对话机器人实战开发(1)- 体系结构和分类

一、前言 人工智能时代,以智能对话机器人为最核心的技术应用方向之一,实现人机之间通过自然语言的沟通和交流,是智能人机对话机器人的核心目标之一。尤其是Google Assistant 语音助手近期的卓越表现,如何开发智能对话机器人系统&…

智能对话机器人开发实战案例剖析(3)

一、前言 本文是《智能对话机器人开发实战案例剖析》系列的第3篇:智能对话机器人典型案例,旨在对智能对话系统的进行一个系统性的介绍。相关内容已同步录制成视频课程,发布在CSDN学院。 二、正文 2.1 国内外主要智能音箱产品 2.2 智能音箱…

数据可视化工具是什么

智能手机的普及,互联网使用的增长,机器学习的快速发展,以及云计算技术和物联网的不断采用,都在推动全球数据可视化市场。此外,对智能工厂的日益倾向,以及视觉分析、信息可视化和科学可视化在小型和大型组织…

如何进行数据可视化图表设计?

如何进行数据可视化图表设计? 对数据人来说,数据可视化是分析理解数据,并最终呈现数据的必修课。本文从以下几个点来说明,如何进行数据可视化图表设计。1、数据背后的故事2、充分理解数据3、多种图表类型设计指南 1数据背后的故…

优秀的数据可视化,原来是这样做的!

大数据时代,数据驱动决策。处理不好庞大、复杂的数据,其价值将大打折扣。 可以想象一本没有图片的教科书。没有图表、图形或是带有箭头和标签的插图或流程图,那么这门学科将变得更加难以理解。人类天生就是视觉动物,而视觉效果对于…