34年测试员的从业思考

2021年5月21日,距离我在苹果电脑公司做测试的第一天已经过去了整整34年。在那之前我是一名开发人员,但从那以后,我一直是一名测试人员。特别的今天,让我陷入了回忆的心情。

是的,在这34年里,软件测试这个行业经历了变化,但在我看来,在我观察这个领域的整个时间里,有一个不变的现象:软件界几乎每个人都认为他们了解测试,但几乎没有人努力研究它。在80年代,软件测试不受重视,尽管有很多被称为测试人员的从业者,而且很多企业在测试上投入了很多钱。在很大程度上,目前软件测试也没有受到重视。今天,作为一种时尚,大家说:“质量和测试是团队中每个人的责任”,然后,这就成了许多人以肤浅和业余的方式进行测试的通行证。

34年测试员的从业思考

当我加入这一行时,当时人们主要的想法是通过编写测试步骤让测试更加标准化,然后,如果可能,就把这些步骤自动化。人们认为需要测试专家来创建这些步骤并实现测试自动化。我们有专门的测试团队和测试经理。测试人员总是会承受压力,因为除了测试人员之外,每个人都想尽快发布产品。

我和一些同事曾经 “武装” 起来,反对 “标准化的测试总是好的,非标准化的测试不好” 这样的的观点。我们宣称,测试应该让测试人员主动去学习、思考和质疑,而不是按部就班的进行程式化操作和工厂流水线式的作业。我们推广了测试的匠艺精神,并尊重那些致力于此的人们。

敏捷的到来,至少在其观点上是公开的人文主义,起初似乎是支持我们的观点的。但它很快成为另一个潜在的压迫者。敏捷不是由测试人员创建的,也不是由和优秀测试人员一起工作的人创建的。就像Cem Kaner喜欢说的“敏捷解雇了测试人员”,因为他们只认识那些躲在 “编写测试步骤” 堡垒后面的人。最终,敏捷和DevOps推出了一个穿高领毛衣、喝精益咖啡的、千禧一代的、时髦的新面孔,与我们在80年代遭遇的问题完全相同,只是一些细节已经发生了变化。现在面临的压力是,专职的测试人员要被取消。这让本来就营养不良的测试技艺,正经受着那些想要显得很酷、很进步的人们的疯狂攻击。我的一些老朋友,曾经是测试人员,现在已经转型为“质量教练”。他们中的一些人甚至说服自己 “测试已经成为过去式了" 。

那么,我们今天遇到的和80年代一样的老问题是什么呢? 就是:管理者们相信,所有测试都应该标准化和自动化。

他们为什么相信这个? 因为他们不知道,也从来没有理解过优秀的测试人员真正在做什么,以及他们是如何做的。在大多数情况下,他们甚至不想学习,因为学习将带走他们唯一的借口——无知。他们将测试视为一个清晰的算法过程,而不是一个模糊的交互过程(即人和被测系统之间的智慧对话)。

今天有什么不同吗? 今天,对测试人员的保护和培养要少得多(测试经理变少了,测试团队变小了),而交付的压力要大得多(因为需要即时交付)。今天,像ISTQB这样的组织很乐意拿走你的钱,利用你的恐惧和怀疑,以测试的名义给你蹩脚的建议和重复的神话。好的方面是,网上有很多以前从未有过的学习测试的好资源,但是好的资源总是淹没在不好的资源中。

为什么不能让每个人都做测试呢? 每个人都可以帮忙做测试,这很好。我想说的是,需要特别的奉献和专注来分析测试需求,并准备好深度测试应该做的事情——找到每一个重要的缺陷。任何人都可以针对软件进行测试,就像任何人都可以在法庭上为自己辩护一样。然而,并不是每个人都能负责任地进行测试,就像不能成为给自己做辩护的专业律师。

既然主流的测试文化如此落后,为什么它没有改变呢? 因为测试是一种活动,就像管理、教学和政治一样。在这项活动中,人们很容易把工作做砸,然后把随之而来的问题归咎于其它的任何人或任何事,而不是自己。

为什么测试领域没有发展起来? 因为测试人员总是在获得智慧和学会维护自己之前就离开了这个领域。而且,雄心勃勃、聪明的人往往不希望留在测试行业里。

那为什么我还在测试行业? 因为我现在成了测试人员的老师,开发了一套可以用来指导测试的体系,人们似乎认为这很有帮助。这给我的职业赋予了意义,尽管我所渴望的卓越文化不断受到攻击。

Machael Bolton 想让我补充一些鼓舞人心的内容。他建议我给出一个解决方案。我当然是有解决方案的。事实上,我的这个网站(https://www.satisfice.com/)里面有很多关于测试的有用知识和我的课程链接。如果你想要,就可以找到。

我认为对于糟糕的测试问题永远不会有一个通用的解决方案。但是你们中的任何一个人,在阅读这篇文章时,都可以决定让你自己所处的测试世界变得更好一些。

译文自公众号  软件质量报道



留言