前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >开发和测试的囚徒困境

开发和测试的囚徒困境

作者头像
CeshirenTester
发布于 2022-06-15 09:08:56
发布于 2022-06-15 09:08:56
3390
举报
文章被收录于专栏:测试技术分享测试技术分享

<strong>引言</strong>

作为一名测试人员,每天工作中接触最多的除了产品就是开发,而如何与开发人员和平相处是每个测试都在讨论的终极话题。相信很多测试在面试时都被面试官问到:“你是如何和开发人员相(si)处(bi)的?和开发之间的关系是怎样的?遇到开发不认可的bug应该如何处理?”

一、测试与开发之间的困境

要说起测试人员和开发人员之间的博弈,有一个特别具有代表性的例子—囚徒困境。此故事讲的是,两个嫌疑犯作案后被警察抓住,分别关在不同房间里审讯。警察知道二人有罪,但是缺乏足够的证据。因此警察告诉二人:“如果两人都沉默,各判刑2年;如果两人都认罪,各判刑5年;如果出卖同伴,自己获得自由,对方判刑10年。”于是,每个囚徒都面临两种选择:认罪或沉默。从自身利益考虑,认罪比沉默的好。但就如下图所示,两个人互相出卖,他们的结果就是一起服刑5年。但如果两人从整体利益出发、为对方考虑下,两人都沉默各判刑2年,显然这个结果才是对大家最好的。

看完这个案例有没有觉得测试与开发之间的关系很像上图的囚徒困境呢?在整个项目中,开发和测试的关系其实不是对立的,测试和开发是一个团队,都朝着统一的目标:让软件更完美而努力。但在实际工作中,为什么开发和测试却搞的剑拔弩张、针锋相对呢?

二、困境的起源

总结了一下经常出现摩擦的场景:

  • 关于流程:提测单里不写测试范围或者寥寥几句跟没写一样!系统中提交的bug开发都不及时处理,也不看测试邮件!
  • 关于标准:为什么开发写完代码都不自测就扔给我们?测试提的bug不能复现、优先级还设置为major!
  • 关于资源:谁在测试环境调试?谁动了我们的测试数据?我们开发环境没数据,不用你们的用谁的?
  • 关于态度:测试什么都不懂....跟你说不清楚用户根本不可能这样用,你们整来整去净瞎耽误工夫你们安排计划时根本不考虑测试,三天,三天怎么可能测得完!

在这些情况下,即使测试是90后肤白貌美大长腿的小姐姐,开发是技术大牛、性情温和的小哥哥,也难免双方不争吵起来,以至于影响了项目进度和工作效率。

三、解决办法

那么如何打破开发与测试之间的囚徒困境、避免无谓的争吵呢,下面结合自身的工作经历给出几点建议:

  1. 与开发约定统一的项目流程及规范,比如目前工作中使用的奇效项目管理平台,就涵盖了需求单、提测单、bug管理、测试报告等功能,产品和开发同学均在此系统中创建需求、新建提测单,测试也在系统中录入bug、创建测试报告等,提高了工作效率、降低了沟通成本;另外,如果有紧急的问题待开发解决,可以迈开腿当面与开发沟通,开发认真写bug的时候有可能不会查看邮件;
  2. 关于自测问题,不仅与开发自身代码质量的要求有关、也跟团队的管理制度有关。首先leader应该明确规定开发自测后才可提测,若测试因自测不通过打回可以有相应的处理措施;其次,开发自测至少应该保证主流程、前后端交互、接口均正常,这样也减少了提测打回、影响排期的事情发生。
  3. 测试在报告问题时要尽量描述清楚,操作步骤、测试数据、问题出现的关键点都详细记录下来,帮助开发尽快解决问题;对于不容易复现的问题,可以保留现场让开发过来现场分析,这样既可以让开发根据目前情况查原因、也可以避免今后不复现时开发抵赖不承认此问题; 另外开发和测试对于bug严重级别产生争议时,可以与产品参与讨论,是否是用户很在意的点,如果是,就可以让开发解决啦。
  4. 关于资源问题,开发和测试难免有资源的冲突,但是让工作卡在环境上,是最影响项目进度的事情。开发在使用测试环境配置和数据时,征询测试人员的许可,哪些可用、哪些不可用,避免影响测试;另外,也可以在技术上解,比如使用docker让开发测试环境一致又互不影响,也不会有“这段代码在我机器上没问题”情况;
  5. 关于态度,测试和开发同在一个项目中,都有着共同明确的目标,这个目标是大家的。多站在对方的角度考虑问题,开发不应该在技术优势上藐视测试,测试不能因开发态度反而对开发有意见,这样只会嫌远丛生,影响大局。端正态度对事不对人,积极沟通解决问题,让项目顺利上线。

四、写在最后

总之,在工作中不是仅仅把自己工作做好就结束了,大家是同一个团队的为了同样的目标努力。打破囚徒之境,“没有自我,只有大道”的原则在项目工作中同样适用,携手前进吧!

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
软件测试流程是什么?这题我不会啊
关于测试流程,100家公司可能有100套测试流程,但是基本上都是大同小异,完全可以将测试流程形成一套可复用的SOP。
测试蔡坨坨
2022/09/26
6180
测试应该如何处理跟开发之间的“敏感”关系?
从整个产品研发的角度看,开发是产品的制造者,产品就相当于他的‘孩子’,而测试的工作是去找这个“孩子”身上的毛病。相信,没有一个人喜欢别人对自己的孩子各种挑错。
测试开发技术
2019/11/24
1K0
测试应该如何处理跟开发之间的“敏感”关系?
规范化测试流程,看这篇就够了~
产品,项目管理者,测试人员参,研发人员以及和项目有关联的其他人共同参与需求会议,需求评审中需要评估本次需求是否需要性能测试,明确需求及任务完成时间,产品需提供详细的需求文档,产品功能清单,研发人员需向测试人员提供产品项目需求文档、接口文档等,明确测试任务,确定测试周期。需求评审完后由项目经理发出项目计划表,后续项目进展时间节点按照此项目计划表来执行。
苏南
2020/12/16
5.9K0
规范化测试流程,看这篇就够了~
让项目顺利上线:做好转测试与上线准备
转测试是项目上线前最后一道坎,需求全部做完并自测后,项目就进入了转测试阶段。很多没想到的问题都会在这个阶段涌现出来,这个阶段大家都会很辛苦,通常都会加班加点。为了缓解这个阶段的压力,我们需要做以下几个改进:
石云升
2022/08/25
8910
功能测试都做不好,还搞什么自动化?测试开发?
不论你是什么时候开始接触测试这个行业的,你首先听说的应该是功能测试。通过一些测试手段来验证开发做出的代码是否符合产品的需求?
软件测试君
2021/11/09
5520
质量保障之开发提测
开发提测是正式开始测试的重要关卡,提测质量的好坏会直接影响测试阶段的效率,进而影响项目进度。较好的提测质量,对提高测试效率和优化项目进度有着事半功倍的作用。如何更好的推进开发提高提测质量呢?下面小编结合自己项目中遇到的问题(举例如下),和大家分享下开发自测case相关的优化方案。
用户5521279
2020/09/23
1.1K0
质量保障之开发提测
推进开发改进提测质量的一点心得和思考
不知道各位测试同学是否被开发同学的提测质量困扰过?在经历了一个版本800多个bug,原计划一个月测完,结果测了2个半月的痛苦经历之后,对提测质量的把控进行了一定的思考。
用户5521279
2020/01/17
2.4K0
求求测试们了,发现BUG后要这么提
点评:这篇文章为初学者和经验丰富的系统管理员提供了一份详尽的指南,用于在CentOS上安装MySQL。文章结构清晰,步骤详细,不仅涵盖了卸载旧版本和安装新版本的过程,还包括了配置yum源和验证安装等关键步骤。对于需要在Linux环境下部署MySQL数据库的用户来说,这是一篇非常实用的参考文档。
半月无霜
2024/11/25
1360
测试开发的一次实践总结
业务测试:业务测试是对当前从事的业务知识非常熟悉,能够挖掘产品的隐式需求,对业务需求非常了解并有自己独特的理解,能够覆盖更多的测试场景,后期是可以往产品发展的。也是大家口中俗称的点点点,属于功能测试,也是最不容易被工具替代的。
全栈测试开发日记
2023/02/02
3770
测试开发的一次实践总结
【深度学习】遗憾算法系列2:囚徒困境与纳什均衡
本系列的第二个博客是介绍纳什均衡(Nash Equilibrium)和遗憾匹配(Regret Matching)如何走向平衡。这是为本系列的最后一篇文章作准备,在那里我们我们将介绍在德州扑克中利用反事实遗憾最小化来无限的接近甚至达到均衡。(上一篇文的翻译地址:http://www.atyun.com/7659_如何正确的猜拳:反事实遗憾最小化算法.html) 我们设计智能体并不同的环境中测试他们的能力。从驾驶到写博客,扑克,我们从人们在各种不同任务的出色表现中得到灵感,我们正在研究能够轻松、无缝地从一个任务
AiTechYun
2018/03/05
1.7K0
【深度学习】遗憾算法系列2:囚徒困境与纳什均衡
经验|项目测试中常见问题以及应对策略
先介绍下当时团队的开发模式,我们总共有2套环境,dev环境和线上环境。新需求开发流程是,将master代码merge到dev分支,开发在各自的研发分支开发feature,然后merge到dev分支,提测后,测试在dev环境测试新功能,测试通过后,会让开发给当前测试通过的代码打版本tag,然后将此代码merge到master分支,再进行线上环境的回归测试。
互联网金融打杂
2022/08/01
4770
经验|项目测试中常见问题以及应对策略
老板给我安排了个测试环境治理的活
测试环境治理专项是在我入职2个月接手的活,用“烂摊子”来形容一点也不为过。年久失修,需求基本没有在测试环境使用,想用也有很多问题。人员缺乏信心,之前负责测试环境的同学抱怨极多,外部推不动,内部又没有技术能力支撑,负能量已经蔓延到整个团队。当然,我也是其中一员,这事确实难搞。在技术部测试环境平台化的大方向下,需要每个组出一个接口人来牵头,考虑到我以前写过测试平台,乱七八糟的事都整过,老板就指定了我。
dongfanger
2022/05/14
3260
老板给我安排了个测试环境治理的活
腾讯WeTest敏捷测试实践,获TMMi主任评估师高度认可!
AGILE 敏捷世界中的TMMi 目前全社会都在加速数字化转型,任何互联网产品都要求高质量快速生产,互联网产品质量的把控已经不是测试团队单纯根据传统测试方法能够完成的。对于如何应对数字化转型过程中软件测试的挑战,敏捷测试是一个很好的解决方案。敏捷测试即是不断修正质量指标,正确建立测试策略,确认客户的有效需求能得以圆满实现并确保整个生产的过程安全的、及时的发布最终产品[1]。 TMMi 框架是由 TMMi基金会开发,作为测试过程改进的指导和框架。基于TMMi的历史观点,即“良好实践”在实现时应该是什么样子,有
WeTest质量开放平台团队
2022/04/24
4180
腾讯WeTest敏捷测试实践,获TMMi主任评估师高度认可!
从0到1,马蜂窝大交通团队如何构建高效研发流程体系?
2019年5月,马蜂窝完成了新一轮融资,金额达2.5亿美元。这也标志着通过集内容、社区、交易为一体的消费决策场景构建,从攻略社区起家的马蜂窝开始迈入在线旅游行业头部阵营。
TAPD敏捷研发
2019/09/12
3.3K0
如何通过冒烟测试前置来把控提测质量?
你是否碰到过开发提测速度很快,导致项目排队,结果介入测试时,第一条用例都跑不通的情况?
sylan215
2020/03/04
7750
软件测试常见面试题
测试中抓取log会涉及adb命令的使用 ,也如会用monkey进行APP的稳定性测试,有涉及到代码修改户使用到Androidstudio这些开发工具。
wangmcn
2024/01/26
3260
软件测试常见面试题
身为测试人员如何推动开发做单元测试
首先问这个同学的是,为什么他想推单元测试。对方给我的回答是说,好像开发很懒,就是版本提测的质量很差。修个bug,说是修好了让测试验证,结果居然还会引入新的bug。希望通过开发自测提高一下提测版本的质量。
Antony
2022/12/21
5090
身为测试人员如何推动开发做单元测试
在不增加成本的情况下引导开发人员做好功能自测的“开发与测试岗位更名为系统红蓝军”实验
作为企业IT部门某个开发团队负责人的你,从书上和大佬那里得知,软件开发团队中的开发人员,如果在将所完成的功能提交给测试人员之前,加强自测,那么就能降低软件开发过程中的返工。
程序员吾真本
2023/08/05
2920
在不增加成本的情况下引导开发人员做好功能自测的“开发与测试岗位更名为系统红蓝军”实验
软件测试人员必问的十大面试题..
在软件测试职位面试中,准备并回答一些常见的必问面试题非常重要。这些问题涵盖了软件测试的关键概念、技术和实践,帮助面试官评估你的能力和经验。理解这些问题的重要性是为了在面试中展示你的专业知识和技能,以及你在软件测试领域的实际应用。
测试小兵
2024/04/18
7560
软件测试人员必问的十大面试题..
如何做好功能测试
功能测试是通过一些测试手段来验证开发做出的代码是否符合产品需求。这些年功能测试好像不太受欢迎了,不少同学开始尝试自动化测试,测试开发等等,结果是功能测试、自动化测试、测试开发一样都没做好。
Peter Shen
2020/06/12
1.1K0
推荐阅读
相关推荐
软件测试流程是什么?这题我不会啊
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档