• 1
  • 0
分享
  • 测试人员的囚徒困境
  • 恬恬圈 2019-09-24 13:39:02 字数 1038 阅读 3000 收藏 0

要说测试人员职业生涯当中最在意也是最绕不开的一个终极话题就是如何和开发人员相处。

相信很多测试人员在面试的时候也遇到过这个问题:你是如何 和开发人员相(si)处(bi)的呢?

要说起测试人员和开发人员的博弈,就不得不提到一个著名的思维测试-囚徒困境。

在这场著名的思维试验中,两个罪犯即两个同案犯被逮捕了,他们被分别关到两个牢房里接受审讯。他们都被告知:"如果你保持沉默,你会被判处一年徒刑;如果你出卖同伴,你会获得自由;但如果你的同伴出卖了你,你就会蹲两年大狱。"出于竞争性的私利"两个囚徒实际上都有动力去出卖对方。然而,就如同下图所显示的,如果两个囚徒互相出卖,则他们获得的结果是一起蹲两年大狱,如果把这两个囚徒视为一个整体,则这个结局对整体来说是最糟糕的;但如果他们是一条心,则他们获得的结局是都坐一年牢,如果把这两个囚徒视为一个整体,则这个结局对整体来说是最好的。"

1.png

看完上面的试验过程,有没有觉得测试人员和开发人员的相爱相杀关系很像上图中的囚徒困境。

为了早日交付可用的功能,测试和开发团队是需要携手共进的。但是在很多的组织里面,特别是在泰勒主义深入骨髓的瀑布式开发模式中,测试人员仅仅是在接收了开发人员提交的代码后不断的输出他们的检查结果。注意,在这里,我使用的是 **检查**而不是测试,因为CC先生认为这个时候的测试人员所做的事情就是把预测结果和实际开发出来的功能做着一一对比的工作而不是去做的真正的测试行为。

所以,此时的测试人员仅仅把开发人员简单地看作测试人员能够要到一些什么东西,并且要输出一些什么东西的对象。随着敏捷测试的推进,此现象在逐步改善和演化,开始将开发和测试之间的关系看作一张网络内各个部分之间的关系,而不是一台机器中的一个零件,你输入初始条件,它就要反馈出结果。

要打破测试和开发之间的囚徒困境,我们需要也希望能够培育出来这样的关系,当发生紧急需求时,一方能够对另一方说:"这次相信我。"然后就把功能给交付了。

当然,这里面也许需要动用到一些必要的科技手段来帮助,比如代码评审,单元测试,自动化测试等等,最重要的是,测试人员和开发人员不能再是互相割裂的两个组织或者部门,什么样的行为能够让整体获利,这才是我们在市场需求不确定的情况下能快速做出反应的关键所在。


版权声明:本文出自51Testing原创,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一次偶然的求职经历,让我接触到了外包公司,当时非常急于找到工作,综合利弊还是选择进入了我现在所在职的外包公司。下面就入职前前后我个人对外包公司的看法做以总结,希望对从来没有接触过外包公司的测试人员有所帮助。待遇不好,我为什么要选择外包公司刚开始HR和我谈工资待遇的时候,除了工资比我以往的公司给的高之外,既没有13薪,保险还是最低档,没有什么条件吸引我,那么我为什么选择外包公司了呢?1. 环境所迫介于我当时马上要结婚,又处于比较尴尬的年纪,外面的公司一般都不太考虑我这种已婚未孕的求职者,这点我深有体会2. 好奇心之前经常听到周边的同事谈及到外包公司,都是一些不好的方面:比如,...
            0 0 3206
            分享
          •   据外媒报道,当地时间周三,通用汽车旗下的自动驾驶子公司Cruise宣布,将召回950辆自动驾驶汽车,以解决其碰撞检测系统的问题。  就在一个多月前,该公司的一辆汽车在无人驾驶模式下行驶时撞上并拖拽了一名行人。具体来说,这起事故于10月2日发生在旧金山,当时一辆有驾驶员的车辆撞到了一名行人,并将这名行人推到了一辆Cruise自动驾驶汽车的车道上。Cruise的自动驾驶汽车在撞到行人后最初停了下来,但随后,为了避开车流,这辆车又向右行驶,将这名行人向前拖了约20英尺(6米)。这名行人被压在汽车的一个轮胎下,伤势严重。  经过为期三周的审查,Cruise确定其自动驾驶汽车碰撞检测子系统在这种情况...
            0 0 917
            分享
          • 1、TCP是互联网中的(1 A)协议,使用(2 C)次握手协议建立连接。当主动发出SYN连接请求后,等待对方回答(3 A)。这种连接的方法可以防止(4 D),TCP使用的流量控制协议是(5 B)。(1)A.传输层  B.网络层  C.会话层  D.应用层;(2)A.1  B.2  C.3  D.4;(3)A.SYN,ACK  B.FIN,ACK  C.PSH,ACK  D.RST,ACK;(4)A.出现半连接  B.无法连接  C.假冒的连接  D.产生错误的连接;(5)A....
            16 14 6647
            分享
          • 现在API测试被越来越多的公司重视,对于测试工程师来说每次收到需求之后首先要做的是研究需求文档。既然接口是两个独立系统之间同步数据或访问对方程序的途径,我们也就是要先看看这些接口到底是连接了哪两个系统,它们之间的关系到底是怎样的。所以一般需求文档里会包括接口名称,接口描述,接口类型,接口地址,推送参数,返回参数这几项内容。熟悉Postman的同学可以发现这些都是必需的部分:有了这几项内容之后,我们需要把需求文档转换成Excel,这样不管是做案例管理,还是对比结果,都相对容易一些。而后期Python读取和写入也更方便。在Excel中,我们只写入变化的部分,而对于相对固定的,例如server信息则...
            0 1 2807
            分享
          • Bug定位要求:基本要求:定位出bug是前端bug还是后端bug更高要求:bug所属模块、bug的代码级别(不要求)Bug定位的价值:找到BUG的本质(找到必现路径)提升开发修复BUG的效率提升自身的逻辑思维与技术能力Bug定位的时间安排:优先需要进行所有测试用例的执行,找到bug,并提交bug在不耽误执行进度的前提下,可以花费时间来尽可能定位出bugBug定位的技巧:1)逻辑分析分析所有可能,逐个排查找到最短复现路径例如:玩CF游戏,从高处落下,没有掉血的情况---bug定位:可能因素逐一列出:姿势、地势、高度...针对可能因素逐一进行分析,每次控制变量,只改变其中一个因素最终确定出影响因素...
            0 0 1000
            分享
      • 51testing软件测试圈微信