这篇文章是由我们在SoftwareTestingHelp的特约作者Pradeep Soundararajan写的。
在我遇到过的成千上万的软件测试员中,他们都有一个观念,就是他们应该在测试和质量上全权负责。他们中的一些人甚至认为作为一个测试人员也赋予他们作为产品质量权威的权利。
我要问你的问题是:这是好事吗?
这是我的一些想法,同时也希望看到你能考虑一下这些想法。
保证产品质量是每个人的责任,而不仅仅是一个测试员或成千上万人中的一员。如果你的家庭是幸福的,你不能因为家庭中有一点点问题就指定你家庭中的某一个人为出现这种问题负责。如果要保证一个家庭永远幸福,它需要家庭中每个人都参与并促进它的实现。
类似的道理,如果必须保证一个产品的质量,那么从客户、需求、设计、开发到测试和支持等每一个利益相关者都必须负上同等的责任。
然而,一些对测试工作并不认真对待或假装认真对待测试的组,招聘测试人员,是因为一旦顾客找到产品的bug,测试员就要为那个项目当替罪羊。这些测试人员觉得自己应该是质量的守护神,因而会开始为遗漏了一个bug感到内疚,想办法为bug负责。
这是因为大多数测试人员都不太理解什么是测试。他们认为测试就是提高质量,然而测试应该不是提高质量而是发现有关产品的质量信息。
通过报告bug——质量本身并不是改善,除非有人真的很在乎要修补好它。现在,如果你是从事测试的工作,你会知道很多时候当你试图修复一个bug时,两个或更多新的bug又会出现。因此,每次测试报告出来,bug被修复,新的bug的涌现,可能会使质量不升反降。
我们必须承认,更少bug并不一定意味着质量很好。Jerry Weinberg,软件测试的一个活生生的传奇,第一个早在1960年开始成立测试团队的人,定义“质量是对一些重要的人的价值”,然后迈克尔·波顿扩大到“找出谁是重要的和什么对他们而言是重要的,是一个测试人员的责任,”。如此神奇。
如果测试人员仍旧认为自己是质量的守护神的话,一系列问题就会出现
开发人员的问题:测试人员开始把开发人员看作破坏质量和制造问题的魔鬼。这会影响整个团队的表现,然后开发人员也开始不遵守测试规范。所以,测试人员造成这个问题,不仅破坏他们的名声,还有自己的名声。
就像棒球运动。如果一个棒球队要运作好,那么队友和击球手必须共同努力,使球队获胜。有时击球手未能执行,其他投球手也一样。你可能认为自己是人类,开发人员和你们同样有可能犯错误。但是,专注于你的思维技能有助于团队的成功。
错过bug的罪恶:当错过一个bug时,测试人员感到深深的自责。这样的测试人员认为他们不是整个团队的一部分。我想说的是所有的利益相关者都应该为过失负责。
如果最后一球需要4分,而击球手未能得分,那击球手就要为团队的落败负责吗?
无法学习: 那些认为自己是质量的守护神的测试人员在目前的模式中无法学习。被认为负责任的这种感觉使他们认为几乎所有他们已经学会了和他们所学到的一切都是正确的。
让我公开打个赌:我在印度旅游遇见过的90%的测试人员都没有读过有关测试的书籍,尽管已经有多年的经验。你很难找到一个没有读过与开发相关的书的开发人员,但测试人员却认为日常测试是好的、顺理成章的。
这让我很惊讶——测试人员不验证自己所做、所学。我怎么能相信他们可以测试?
改变
现在,我不强迫你改变,但是我要告诉你,世界上没有一个受人尊敬的测试人员认为自己是质量的守护神和自己是唯一一个应当为质量负责的人。你可能想要从中找到线索然后改变,但只有你改变你自己,而不是我。
如果你愿意作出更大的改变,你可能想要考虑
——测试是提供有关产品质量的信息
——开发人员是信息来源
——测试覆盖率是团队成功的一个关键因素
——整个团队的成功是一个测试团队的成功
——错过bug并不总是一个测试人员的错
——测试人员是人,人类是不可靠的(失败)
——测试人员和开发人员一样是不完美的
——当你有一个新的ideas后,帮助其他测试人员
关于作者:
Pradeep是一个著名的测试人员,测试理论思想领袖,是一个在软件测试和解决问题的国际倡导者。他写了一个受欢迎的博客 Tester Tested! (这是关于测试、咨询、质量管理和测试管理)。
【英文原文:http://www.softwaretestinghelp.com/who-is-responsible-for-software-quality/】
{测试窝原创译文,作者:紫晴}