也许裁掉你的 QA 团队是个坏主意

许多软件公司已经缩减甚至取消了专职 QA 团队,押注自动化测试和开发者自主管控质量,以节省成本并加快发布速度。这个讨论串里的工程师和测试人员认为,单元测试和集成测试固然重要,但它们很少能取代熟练的人类 QA;QA 对产品的理解、探索式测试和缺陷分流能力,能在用户遇到问题之前发现边界情况和 UX 问题。讨论反复回到激励机制上:QA 常被当作成本中心和二等职业路径,导致组织对其投入不足,直到不断累积的 bug、回归问题和客户痛点暴露出“快速行动、打破一切”的隐性代价。

QA 的角色与价值

  • QA 被描述为一种独立的技能组合和思维方式,而不只是“点按钮的人”。
  • 强大的 QA 团队会发现自动化测试和开发者经常漏掉的边界情况、UX 问题和“纸割伤”式的小问题。
  • 优秀的 QA 往往比开发、PM 或销售更了解产品的真实行为和用户工作流。
  • QA 被视为风险管理和品牌/声誉保护,而不只是找 bug。

QA vs 自动化测试与开发者测试

  • 许多人认为开发者应该且必须负责单元测试和集成测试;QA 的测试是补充,不是替代。
  • 自动化测试在回归测试和“幸福路径”上很强,但在意外用户行为、复杂流程以及视觉/UX 正确性方面被认为较弱。
  • 覆盖率(即使 100%)也被指出并不能很好代表真实的产品正确性。
  • 一些发言者表示,他们所在团队没有 QA,但在自动化和强 ownership 上投入很多,声称因此获得了更高的迭代速度和可接受的质量。

组织模式与反模式

  • 经典的“扔过墙”式 QA 受到广泛批评:QA 很晚才拿到代码、时间压力大、变成瓶颈,并且还会被归咎责任。
  • 描述中的成功模式包括:
    • QA 嵌入功能团队,从需求、风险分析和验收标准制定的第一天就参与进来。
    • 在高风险领域,QA 作为把关者拥有真正的阻止上线权限。
    • SDET/QE 角色编写框架、端到端测试和工具。
  • 外包、低技能或集成不佳的 QA 往往会退化为噪音、重复 bug 和不信任。

地位、激励与成本中心动态

  • QA 常被当作低地位的成本中心,最先面临裁撤,招聘和晋升路径也弱于工程。
  • 有才华的 QA 往往转去薪酬更高的开发或产品岗位,形成 QA 质量持续下滑的自我强化循环。
  • “发现了多少 bug”或 story points 之类的指标会扭曲行为;救火和可见的英雄式表现通常比默默防止问题更受奖励。
  • 一些工程师表示,在“快速行动”的文化里,重视质量会成为职业负担。

领域、风险容忍度与“让用户当 QA”

  • 讨论区区分了 SaaS/消费者应用(可以快速回滚,bug 容忍度更高)与安全关键、受监管、本地部署或移动场景(发布/回滚很慢,或失败不可接受)。
  • 在很多大众市场产品中,用户实际上被当作测试者;这一点受到强烈批评,但也被承认在经济上很有吸引力。

人们喜欢的做法

  • 探索式测试、由整个组织参与的 bug bash/sniff test,以及由 QA 主导的风险分析和故障建模。
  • 将 QA 视为客户代言人和二线支持,维护测试环境、数据和真实场景。
  • 将 QA 看作“测试与探索”或“风险分析”,而不是事后质量筛选器。