群集·测试人在路上赏味不足软件测试职业探索

突破测试的墨菲定律 -- 有感于一次UAT组织

2017-09-21  本文已影响356人  慧众rodman

前言

作为一个测试人员,如果只是将自己的责任定位在产品交付测试之后,用户使用之前,那简直就是一个灾难。如果这么思考,那你作为测试的职业规划、个人能力成长等都注定陷在一层阴影里,被项目组其他成员牵着走。

之前也有在写的文章里提到过 -- 测试人员是一定要建立主动防御体系的,这不是一个技术问题,而是几个基于技术和流程管控的工程意识。测试人员一定要能做到对风险有预知能力,有预先防范的能力,不然处在整个项目流程的最后一环,将永远摆脱不了被左右的局面。不要管业内喊什么测试左移、测试前置巴拉巴拉一堆,其实精髓就是作为测试请你尝试管理将要出现的问题和风险。

不就是UAT么,咱们怕什么

最近团队接了一个原本不该属于测试团队的任务UAT组织,注意是UAT组织不是UAT支持。关于UAT,我先强行科普一轮。

UAT(用户验收测试),英文User Acceptance Test的简写,也就是用户验收测试,或用户可接受测试,系统开发生命周期方法论的一个阶段,这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。它让系统用户决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。这是管理性和防御性控制。

进行UAT的产品理论上来说,必须已经全部开发、测试完毕,代码状态处于冻结状态, 所有测试出来的bug都已经被妥善处理,重大的bug都被解决,并验证通过。 对于一些低级别 bug ,要么决定被写入发布公告中,要么被设置为不需要修改的问题。 在实际项目操作过程中,由于计划进度原因达不到理论状态前提,故此,UAT的效果也达不到应有的效果。

按照经验,通常UAT的组织是由项目经理和产品经理做组织的,至少我在大平安之前的几家公司是这么组织的。项目经理和产品更容易从项目进展和产品交付的角度做好把控,过程中可以请项目专家,测试经理,或专门的测试,开发等顾问对测试步骤进行补充。

UAT实施流程图

当然了当前现实中,抛给了测试团队几个难题:

作为团队的测试总监,确实我开始是不想接手这件事儿的,因为在我看来确实不合常理。不管是出于行业惯例、还是人员能力等方面,我都觉得将这个事情布置给测试团队是不合理的。不过我最终还是考虑之后接手了这个事情,我的出发点是总成本:几个难题里面第一个对我们的影响最大,对方不懂如何做测试(对方甚至根本就不是有业务背景的业务or测试人员),我们每次都需要花大量的时间给不同的合作方做测试标准的讲解,做测试范围的沟通,做UAT计划的review,甚至是我们驻场给对方做UAT执行(是的你没听过,这典型的就是我是一个球员的同时还得比我去当裁判,我在禁区绊倒别人,裁判还得过来说你是不是把哨子吹一下,看算不算假摔算不算点球)。然后由于过程中项目经理又各种卡时间,导致我们支持UAT总是很吃力。所以算一下总成本,既然主要的工作目前都是我们在抗,项目经理和产品经理又做不好把控(这种做不好把控客观上讲是他们并不知道测试实施的难点在哪里,自然也无法站在测试的立场上看问题),那这件事从设计到规划到实施到进展控制都我们来做,反倒可以通过降低沟通成本而让我们的总投入下降。另外除此之外,作为测试成员尝试接入全程,提前规避验收测试风险对团队和单兵能力提升都有很大的帮助。

撇开纠结『是否行业里UAT应该己方测试人员来做组织的传统和惯例』-- 这个问题,对提升测试的全流程把控能力,个人认为还是有很大帮助的。所以,如果先不纠结责任归属,不就是组织个UAT么,有什么好怕的,撸起袖子干。

墨菲定律带来的UAT危机

再来科普一轮什么是墨菲定律,“墨菲定律”是一种心理学效应,是由爱德华·墨菲](Edward A. Murphy)提出的。
主要内容:

在一次记者招待会上,斯塔普将其称为“墨菲法则”,并以极为简洁的方式作了重新表述:凡事可能出岔子,就一定会出岔子。

墨菲法则在技术界不胫而走,因为它道出了一个铁的事实:技术风险能够由可能性变为突发性的事实。 几个月后这一“墨菲定理”被广泛引用在与航天机械相关的领域。经过多年,这一“定理”逐渐进入习语范畴,其内涵被赋予无穷的创意,出现了众多的变体,其中最著名的一条也被称为Finagle's Law(菲纳格定律),具体内容为:If anything can go wrong,it will.(会出错的,终将会出错。)这一定律被认为是对“墨菲定理”最好的模仿和阐述。

墨菲定律主要内容是:事情如果有变坏的可能,不管这种可能性有多小,它总会发生。

“墨菲定律”、“帕金森定理”和“彼德原理”并称为二十世纪西方文化三大发现。除了墨菲定律,其他两个也很有意思,有兴趣的可以自己百度下,对你也许也有启发。另外再说下,墨菲这个人是一个军人,是一个工程师,不是专门的心理学家,更不是什么敏捷教练。顺便这么一说,是想和各位工程师共勉下,项目怎么做,项目有什么规律,是你作为工程师最有发言权的,不一定是你的老板或者那些高价请来的敏捷教练。

工程中无处不在的墨菲定律

If anything can go wrong,it will.(会出错的,终将会出错。) 这句话真实又刺耳的摆在我们面前,那这句话是否真的诚如字面疑似,你觉得会发生的不好的问题都一定会发生?

我先说说我的理解,还有一个心理学效应叫罗森塔尔效应。大概意思是说,暗示在本质上,是人的情感和观念,会不同程度地受到别人下意识的影响。人们会不自觉地接受自己喜欢、钦佩、信任和崇拜的人的影响和暗示。而这种暗示,正是让你梦想成真的基石之一。反过来,如果你一直心里暗示自己这个会出问题,那很大概率,这个问题终归会发生。这两个效应的总结有着异曲同工的部分,如果在项目实施中,你自信满满认为问题都可以克服,并为出现的困难做好客服的准备,那最终问题多数是会被解决的;如果你开始就暗示自己这个会有问题,基于心里暗示又忽略了对潜在风险的前置处理,那问题一定会发生。这不只是是在测试领域,任何领域不管理解成是墨菲定律还是罗森塔尔效应,都有一个潜在事实 -- 我们对自认为会发生的风险,缺乏提前预估和处理的动力,我们想当然的基于历史经验认为问题既然一定会发生,我又何必在自认为不可逆的事情前面螳臂挡车。而这正是我们的问题所在。

那我们这次组织UAT都遇到了什么问题?下面是组织开会时,我听到的一些问题:

  • 和我们合作的行方,他们自己的测试人员能力很差
  • 他们连case都不会写
  • 他们都不了解业务是什么
  • 他们都无法做好验收测试的评估
  • 对测试数据他们都没有任何概念,想起来了就问我们要,也不考虑我们的时间
  • 行方环境总是掉链子,不停的出错
  • 总是莫名其妙的要求SIT和UAT并行

听完大家的吐槽,我先默默的划了一张图,如下:


项目实施流程草图

画完之后问了大家一个问题,『既然大家都知道UAT有很多问题,那我们开始从什么阶段防范UAT的问题的,或者说我们从那个阶段开始做组织,开始控场的』。我指了指立项阶段,没人举手;我指了指需求阶段,没人举手;我指了指开发阶段,还是没人举手。可以比较确认的多数人还是在SIT阶段而且是SIT的后半段才开始掌控UAT的实施 -- 当然这个时候不做也不行了,因为UAT就要开始了。

这里就可以看出这个比较大的问题了,基于经验大家都知道到UAT阶段会出很多问题,但是仍旧放弃在从立项到SIT之前对UAT阶段的风险做掌控,那问题到UAT阶段你担心的问题都一定会发生。这也就是这次UAT过程中的墨菲定律事件。自然而然,这也可以理解为,是由一个墨菲定律带来的UAT测试危机。

当然这个问题是需要举一反三被扩展的,不局限于UAT的组织,我们在测试过程中的很多问题都是担心发生然后就必然发生了,比如担心提测延期 -- 比如需求大、架构不问题、人力不足会有延期风险,但是我们基本上不会在前期就做控制,那提测一定是延期的。所以,在我个人看来,更准确的表述是 -- 对你担心的事情,如果你不克服悲观情绪并提前做防范,那你担心的事情都一定会发生。

克服测试过程中的墨菲定律

诚如一些文章提到的观点 -- 墨菲定律只是将生常生活中的一些现象进行归纳的心理学方面的总结。出发点是人,所以能够解决的也是人!人通过调整自己的思想,看清事情的发展方向,便不会受自己心情的影响是终导致事情不可控。所以要先给自己定格调,测试过程中任何担心会发生的问题,都可以通过预判和防范而得以解决。

做一个能动性的测试

之前也提过,先撇开技术能力,你是想做一个executer,还是一个tester,还是一个QA,还是一个QC。

如果你只是按照别人给你的计划,别人给你的方案做测试实施,那你永远都只是一个executer,等着被机器和AI取代的那种

如果你能对项目有自己的分析和见解,知道如何做测试分析测试规划,那你是一个tester,但你很容易达到职业生涯的天花板。

如果你对项目测试独立的见解,对质量有良好的意识,对质量工作展开有明确计划,那你是一个QA,但你可能还不足以影响一个领域。

作为测试,请热爱这个行业,所有墨菲定律、罗森塔尔效应都只是我们给自己开脱的接口,尝试做到对全流程质量的把控能力,这才是你应该做的。

相关文章:

《再说说APP测试设计-1》
《再说APP测试设计-2》
《关于ad hoc test》
《干了这碗蛋炒饭 继续APP性能提升-1》
《突破测试的墨菲定律 -- 有感于一次UAT组织》

上一篇下一篇

猜你喜欢

热点阅读