小鬼当家:我们是怎么忘记测试的?


又到了假日电影季,我们的Netflix排队,亚马逊Prime观看名单,以及Hulu建议,都像往常一样充满了疲惫的经典。如果你的家庭和我一样,你会在无穷无尽的名单中跋涉小精灵,这是美好的生活,圣诞故事,圣诞怪杰是如何偷走圣诞节的,以及每次不必要的迭代圣诞颂歌,最终你会选择一个你们都见过很多次的人,然后你会一次又一次地重复这个过程。

但那是在我的家人看了四千次独自在家昨晚当我意识到整个28岁的(!)电影是一个很大的隐喻,我们在测试行业很久以前就应该学会了。

  1. 疲惫不堪,杂乱无章,麦卡利斯特家族是典型的企业组织。
  2. 可爱,调皮的凯文是一个完全被忽视的软件测试员。
  3. 遥远的巴黎大地就是DevOps。
  4. McAllister's home是一个庞大的,业务关键的应用程序,具有无穷无尽的入口点。
  5. 窃贼哈里和马夫都是软件虫,他们从不放弃始终找到进入应用程序的方法。
  6. 虽然从技术上说,这家人确实能到达巴黎,但他们没有把凯文包括在内,结果他们不得不立即回国,度假也失败了。未将测试包括在他们DevOps之旅永远不会实现它的传奇结局。那些组织回报是巨大的时间和金钱沉没成本,以及被竞争干扰的严重风险。

今日企业:幸福大家庭

图片:20世纪福克斯

McAllister家族对于任何在大型分布式组织中工作的人来说都是再熟悉不过的了。他们大声喧哗,固执己见,事事争吵不休,争夺资源,披萨男孩需要122.5美元……外加小费。一旦你意识到麦卡利斯特的餐桌和/或他们疯狂地试图准时出门和通过机场,就和你花费所有时间,精力和耐心的地方异乎寻常地相似,这部电影就从滑稽变得可悲地让人联想到。孩子们/专家们胡作非为,饮料被洒得到处都是,青少年/中层管理人员在为资历争斗,父母/高层管理人员负担过重,精疲力竭而无暇顾及……而旅程甚至还没有开始!

所以命名开始了…


可怜的软件测试员凯文

图片:20世纪福克斯

Kevin代表了世界上那些被忽视和被误解的软件测试人员,他们谢天谢地不断地出现在工作中,不管组织的其他成员对待他们有多糟糕。

在…的前十分钟独自在家凯文的妈妈,爸爸,哥哥,三个不同的表兄弟,还有他的叔叔全部轮番贬低他,无视他,说他“无能”,“无助”,最后他被勒令上阁楼,在那里待上一夜。这是我们对麦卡利斯特家有毒文化的第一次介绍,不管家里其他人觉得他有多烦人,凯文的抱怨都是完全有道理的:

  1. 没人听他的。
  2. 决策经常是在没有他的参与下做出的。
  3. 没人给他留披萨。
  4. 他的小表弟,显然是故意喝了太多的苏打水,这样他肯定会尿床,他和凯文那天晚上要睡在一起。(毛额)

最糟糕的是,比在所有人面前被他的叔叔称为“小混蛋”更糟糕的是,当凯文终于崩溃了,去找家里唯一一个应该完全同情他的不幸的人时(尽管实际上是凯文的爸爸把苏打水洒得满身都是)。

凯文:“这个家的每个人都恨我。”
妈妈:“那也许你应该向圣诞老人要一个新的家庭。”

哎哟。

我并不是说所有的测试人员在他们的工作场所都会受到这种程度的虐待。如果你们中有人体验这种待遇,跑步,不要走路,去一家新公司。但是被忽视,被视为仅仅是一种开销,被排除在重要决策之外,这些都已经在测试社区讨论了很多年了。我们的Ingo Philipp解释说,这是因为“testing is inherently abstract在当今的领先企业中,虽然测试正慢慢地被认为与开发和运营同样重要,但很多时候,这种认识是在认识到测试最初被完全排除在DevOps方程式之外之后才出现的。

独石大厦

图片:20世纪福克斯

与许多关键业务企业应用程序一样,McAllister家庭住宅非常庞大,显然不仅要花一大笔钱来建造,而且还要“开着灯”,特别是在节日期间。)咳,站点流量增加+负载测试=另一个比喻!)。但是在这个房子里看一看,就像在一个高度集成的应用程序的窗帘或防火墙后面看一看,里面完全是一片混乱。

和著名的表达一样,“测试人员不会破坏软件;软件已经坏了,“在McAllister monolith中已经有了一个主要的bug小鬼当家开场白,甚至不是凯文让他进来的。

图片:20世纪福克斯

难怪凯文/测试团队在这种疯狂中被忽视了。正如Ingo在上面的文章中所说的那样,他们都很小,而且人数也很少花费金钱,并不总是提供“有形”的投资回报率。如果他们不能阻止窃听器和/或罪犯从正门进来,他们又有什么用呢?

去巴黎的飞机不带你去

图片:20世纪福克斯

McAllister的巴黎之行的早晨--也是一部大型影片投入生产的一天--是可以理解的忙碌。麦卡利斯特夫妇设置的闹钟没有像预期的那样响,多亏了前一天晚上的一场暴风把电源给吹断了。父母这种糟糕的灾难恢复水平让家里的其他人陷入极度恐慌的状态,匆匆忙忙地进行尽职调查,导致他们差一点错过航班。妈妈和爸爸(嗯哼,上层管理人员)仍然可以坐头等舱,而家里的其他人则坐长途汽车。

而且可以肯定地说,他们能按时飞行的唯一原因是他们把可怜的凯文留在了后面。

在软件世界中,在部署之日,它不能像McAllister父母那样冒着毫无准备和健忘的风险。根据发布的重要性--以及它不能按时发布的业务风险--组织的其他部门可能对新特性,更新,补丁等有一百万个依赖关系,而这些依赖关系在他们承诺的那一天掌握在世界的手中。

有多少软件版本是因为测试被抛在后面而按时发布的?当这种情况发生时,是意外还是故意?

但在这个比喻中,巴黎并不是推动生产的单一因素--它是DevOps的圣杯。部署的速度更快,频率也更高。转换您的团队和流程的成本是巨大的。所有团队之间的信任和沟通必须自由流动。在这个新的数字世界中保护客户的旅程已经使得提供一贯的高质量软件成为强制性的。

麦卡利斯特一家,或者任何一家,忘记带最小的孩子去巴黎旅行,这总是让人有点难以接受,但有意中止怀疑让人更容易欣赏很多电影。在走向DevOps的过程中没有注意到测试的缺失,明知地丢下他们?这不是虚构的,而且后来的组织意识到他们的监督,当质量和风险完全脱离重点时,给业务带来的风险就越多。

仅有测试人员无法保护您的应用程序

图片:20世纪福克斯

世界上最好的软件测试人员以具有创造性,狡猾,足智多谋,不拘一格的思考者而闻名,他们不择手段地帮助保护他们的组织和客户。凯文·麦卡利斯特只有8岁,只用了三天时间,就想出了各种绝妙的方法:油漆罐,焦油,指甲,BB枪,喷灯,假机枪射击,跳舞的人体模特,剪影,小玩具,羽毛,拉链,绊倒危险,结冰的楼梯,烧红的门把手,熨斗和狼蛛,让哈利和马夫远离他的家。

剧透警报…他们仍然上车吧。

问任何一个软件测试人员,问任何一个关于软件测试人员:“如果我给你世界上所有的时间来测试,所有你可以梦想的环境,充满丰富测试数据的服务器,以及无限制的预算--你能保证这款软件没有bug,而且永远不会有bug吗?”只相信那些说“绝对不会”的人。

这并不是因为测试人员是Kevin所称的“Les Incompétants”;这是因为软件质量已经成为每个人的进球。即使拥有Kevin所有的“软件测试人员的聪明才智”,他的经验也是有限的!他才8岁!他有偏见!他有局限性!就像在今天的企业中,越多的观点,人物角色,想法,背景,国籍,年龄等--你可以得到潜入你的应用程序--越好。只要确保你听着响应对所有这些不同的观点,否则他们会奇怪为什么要为你收集它们,然后他们就会停止这样做。

你会再次获得去巴黎或者DevOps的机会吗?

嗯…可能?但是,麦卡利斯特家族没有。

麦卡利斯特夫妇只看了一部电影就放弃了去巴黎探险的计划。在小鬼当家2,他们一家选择去迈阿密做一次不那么吸引人的旅行,但他们也设法搞砸了。有趣的是,小鬼当家3,讲述了一个完全不同的家庭和一群窃贼的故事,没有对麦卡利斯特一家发生了什么事做任何解释。我一直以为他们只是放弃了,不再相信他们有能力到达那些他们听说过的令人惊奇的事情的目的地。

这与那些犯了代价高昂的错误并以痛苦的方式影响客户的企业可能发生的情况类似。这并不是说,在DevOps的旅程中,一步失误就意味着你注定要失败,你就应该像McCallisters那样放弃。但是,如果错误太大,比如把测试抛在脑后,或者把它带在身边,但是由于开发和运营占用了所有的预算,所以没有对它的现代化进行投资--你可能会有问题。根据这种“捷径”对软件质量和用户体验的负面影响,您可能会发现自己不得不走回头路,并且越来越落后于您的竞争对手。

尽管他们显然憎恨他,充其量也不理睬他,希望他走开,凯文还是和他的家人在这两方面达成了和解独自在家,和小鬼当家2,我认为有一些软件测试人员可以对此表示同情。毕竟,当2001年敏捷宣言编写时,以及2009年DevOps的诞生时,测试显然是没有出现的,但是测试人员仍然在这里,并且不断地想出新的,创造性的陷阱来捕捉bug,以便跟上围绕他们展开的DevOps竞赛的步伐。

最快的上市时间是DevOps最吸引人的成功衡量标准之一,把测试排除在等式之外似乎是实现这一目标的捷径。但是,当你没有从一开始就提高质量时,你将花在重构,发现和修复bug上的时间将会很快抹掉这些速度上的提升。当你的竞争对手既能提供速度又能提供质量的时候--在提供任何的服务--你的客户没有理由等待你的到来。