测试基础 测试是否需要一票否决权

CKL的思考 · 2024年06月26日 · 最后由 该吃饭了 回复于 2024年07月05日 · 6164 次阅读

某业务团队的测试人员在迭代的末期,发现还有很多缺陷未修复,原则上达不到上线要求,那么,他应该如何处理?如果你是测试负责人,要如何处理?测试人员是否需要有决定上线的权利呢?

在做质量保障体系的时候,有很多测试人员从质量的角度出发,提出了这么个问题。本文聊聊个人的理解。

01 什么是质量

这是一个复杂问题,很多东西可以算作软件的质量。

从用户界面的角度来看:它是否能便捷地引导我完成某项任务,使我更有效率且不会遇到阻碍?从可靠性的角度来看:它是否包含导致错误和崩溃的缺陷?

从架构的角度来看:源代码是否分为明确的模块,以便程序员可以轻松找到并理解本周需要处理的代码?

我们当前讲的质量基本上都是外部质量,因为那是客户最直观的感受,也愿意为更好的界面,更友好交付买单。

但是客户并不会为内部质量买单,因为他们无法感知软件内部模块化的结构,更不用说判断它的好坏。既然如此,为什么软件开发者要花时间和精力来提高软件的内部质量呢?

另外,从研发的角度上看,内部质量从长期看,会极大地提升后续的交付效率,高内部质量可以最小化技术债,使得添加新功能的工作量、时间和成本都更少。但团队往往不一定能等到那个时候,这也是为什么重构、单元测试这类的技术比较难在团队中落地的一个重要原因。

#02 为什么质量可以被取舍

项目管理的基本 4 要素:范围、时间、成本、质量。通常我们都在讨论时间、范围和成本,默认质量是必要的,但是实际上,时间和范围在多数情况下,更会被管理者或者市场固定。

传统项目中,强调的是范围固定,成本和时间是可以调整的;

在敏捷的语境下,强调交付节奏固定,范围是可以调整的;

但是现在的大多数项目,是既要也要,范围、成本、时间都是固定的!!(如果你的团队能够完善遵循某一种研发模式,也是幸福的。当然这个中的原因,有可能是领导不懂,也有可能是市场不等人,也有可能有其他的原因)

那怎么办?只能牺牲质量,否则项目就肯定崩溃。

因为,质量是可以在事后来弥补或者应对的。虽然成本可能会更高,但是相对于交付节点(市场原因、合同原因等),还是轻一些,因为如果不能按时交付,那就是 0(特别是 ToB 的业务,质量是可以通过商务解决的,但是不交付,那是不可接受的)。

当然,如果你的团队重视质量,并以质量为第一要素,那只能说恭喜你。你是幸福的。

(关于交付时间与交付质量的案例,另开文章再讨论,不在本文的讨论范围)

03 一票否决权能解决问题吗?

先说结论:哪怕给了测试这个权利,你也行使不了。

首先,测试不是质量的生产者,只是质量的监管者。测试很难从根本上去解决质量的问题,不论是左移还是自动化,都是为了更好地协助研发,提升交付质量,但不是决定性因素。

其次,权责不对等。产品能决定业务是否上线,是因为产品对最终的交付结果负责,对产品的成功失败、运营数据负责。但是没有哪个项目失败了,会说是因为测试不到位,把测试开了的。前期的产品调研、用户访谈、竞品分析等,都是产品在跟进的。所以只有产品才能决定迭代是否上线。

04 测试能做什么?

那么,在质量可以被取舍的情况下,测试能够做什么?

在笔者的团队中,笔者在审核测试报告的时候,非常重要的一项内容,就是风险评估。

对于测试负责人,在出具测试报告的时候,必须学会对交付的版本做对应的风险评估:

识别风险:经过这段时间的测试,现在如果发版本,会有什么样的风险?可以从质量、配置、影响范围,甚至是发展过程来识别风险;

给出可能的方案:在有效识别风险的情况下,需要给出一些解决方案,有是最好的,没有不强求。

及时上报:除了在测试报告中体现风险外,在迭代快结束的时候,是否及时把风险上报给团队负责人或者项目组,透明信息,为项目组做决策,提供依据。

识别风险,比一票否决,更能体现测试的价值。

05 在研发的哪个环节可以做强卡控

在整体的研发过程中,其实有一个环节,测试可以做得很强势,那就是研发移测的 Showcase 环节。

在 Showcase 环节,测试可以提供 P0 级的测试用例,让开发做对应的执行并标注结果,如果测试不通过,则不允许转测。

这样做可以有效地提升研发的移测质量,保障测试活动的正常进行。同时对于研发而言,也是有利的,因为在这个时间节点修复缺陷的成本是最低的。

06 小结

由于权责不对等,所以测试人员没必要强求一票否决的权利(通常也落地不了)。把更多的精力放在提升研发的移测质量上,同时在迭代后期,有效地识别出质量风险,给项目组提供决策依据,会更合理些。

共勉。

共收到 5 条回复 时间 点赞

临近发布还有很多缺陷没有修复完成?
1、每日站立会将当日缺陷情况汇报,及时上报风险,提前预告风险,不要平时不吭声,到临近发布时候才反馈;
2、针对提交的缺陷要及时跟进,督促开发解决;
3、制定团队规章制度,针对提交的缺陷响应时间限制,比如缺陷响应时间不能超过 48 小时;
4、可以单独组织会议将还未修复的全部缺陷进行过滤评估,到底是因为缺陷修复难度大,还是开发时间不够,还是开发经验不足,针对不同情况采取不同的方案
最后总结:尽早识别风险、及时跟进、制定制度、会议评估

以前我的回答是肯定需要有的呀,现在我仅仅就是最好有吧,虽然大多都是空口白话没有实效的。

我在上家就是问题上报了但是硬说我没发现把我开了的,测试很容易变成背锅的😋

华为就有,但是没发现要杀开发祭天...

现状确实是这样,这也正是测试这个行业问题关键所在。在 AI 这股浪潮不断发展下,提测门禁、风险评估这些工作都是可以逐渐取代人工的。但我们最希望的得到的结果肯定是 AI 作为辅助人工、赋能提效的强力工具,而不是来取代我们。那就要重新思考这个角色的不可取代性,那这个角色最开始希望具备的权能 “一票否决” 就变得很重要,重点不在于一票否决,而在于这个角色在这个阶段起到的决定性的作用,俗称 “背锅位”。如果现在这个责任和压力已经给到了产品经理或者项目经理,那真的只能想办法转行了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册