“左移”理念通过并行开发与测试,将质量责任前置并共享。它将QA转变为战略伙伴,从而缩短周期时间,提升自动化覆盖率,减少缺陷,并加速产品上市。
译自:A Strategic Playbook for a Shift-Left Transformation
作者:Dhimil Gosalia
随着工程组织扩展其产品线,一种常见模式浮出水面:周期时间开始增加。在许多情况下,在分析软件开发生命周期后,一个共同的罪魁祸首被确定:一种顺序模型,其中代码开发、手动验证/测试和测试自动化在不同阶段发生。这种方法固有地延迟了回归测试套件的创建,并减缓了整体发布节奏。
采用“左移”理念直接解决了这一挑战。它实现了开发和测试的并行化。这缩短了周期时间,并使团队对质量拥有更大的所有权。
传统测试模型的局限性
仔细审视传统的顺序测试模型,会发现几个系统性问题。在这种结构中,质量保证(QA)职能作为与开发不同的下游阶段运行。
该模型可能看起来像这样:
该过程通常遵循严格的顺序:
- 开发人员在进行自己的测试后,将代码移交给专门的质量保证团队。
- 质量保证团队执行手动验证。缺陷发现、修复和随后的重新测试周期通常会延长此阶段。
- 只有在功能手动批准后,才开始创建自动化脚本的工作。
这种方法造成了根本性的资源冲突。当前发布的手动测试的即时需求不断消耗构建强大的自动化套件所需的质量保证资源。随着产品复杂性的增长,这种循环变得不可持续,成为提高发布速度的主要障碍。
过度依赖单独的、延迟的测试阶段会导致可预测的后果:
- 由于顺序移交和返工,开发周期延长。
- 延迟发现缺陷增加了修复的成本和工作量。
- 随着手动测试优先于构建回归测试套件,自动化赤字日益增长。
- 质量的负担完全落在质量保证团队身上,而不是共同的责任。
应对之策:左移
解决顺序过程的瓶颈需要战略上的根本性改变。采用“左移”方法的理由是建立在数据之上的。通过量化传统测试周期中损失的时间,工程领导者可以为“自动化优先”模型提供令人信服的理由,该模型直接加速了产品上市时间。
有效的左移测试不仅仅是流程的改变;它是一种文化转型,包含两个核心原则:
- 它将质量确立为共同责任。整个工程团队,而不仅仅是专门的质量保证职能部门,承担产品质量的所有权。
- 它将质量保证重新定位为战略合作伙伴。质量保证工程师在设计和开发阶段早期参与,提前贡献他们的专业知识,而不是在末尾充当把关人。
这一理念转化为一种新的操作模型。开发人员可以采用测试驱动开发(TDD)模型,使用质量保证团队提供的测试用例。这种协作使质量保证工程师能够与功能开发并行开发自动化套件,直接消除了顺序模型的主要瓶颈。然后根据功能的关键性优先处理自动化工作,以确保最重要的用户旅程得到首先保护。
在实施中,它可能看起来像这样:
确定项目范围
成功的左移实施始于精心规划的试点项目。目标是选择具有代表性的产品和团队样本,以最大限度地提高学习效果,同时最大限度地降低组织风险。理想情况下,您可以使用以下参数组合来确定:
- 现有自动化覆盖率 — 具有 P0 和 P1 优先级测试用例的强大覆盖率,以及全面的回归测试套件的产品,即使在转向自动化优先能力时最初遗漏了一些手动测试用例,也可能表现得更好。
- 产品可用性 — 考虑不对所有客户开放的产品可能风险较低,例如分阶段发布的产品。
- 团队灵活性 — 年轻的团队通常对这种需要一定灵活性的项目更加开放。
为团队准备左移文化
成功左移不仅仅是选择正确的项目;它要求对开发和质量保证团队的角色进行明确的重新定义。
开发人员角色的演变
在左移模型中,开发人员可以通过测试驱动开发对测试承担更大的责任。这种方法要求他们在编写相应的代码之前编写自动化单元测试,确保每个组件从一开始就设计为可测试。
为了促进这种转变,质量保证工程师可以在开始时提供一份全面的测试计划作为蓝图。该计划通常概述:
- 测试范围包括对共享组件和依赖项的影响。
- 针对特定测试用例开发的清单。
- 开发阶段明确的进入和退出标准。
质量保证的战略作用
展望未来,质量保证不再充当下游的把关者,而是成为整个生命周期中质量的战略推动者。
这种转变必须由质量保证经理推动。工程领导层应授权他们主导变革倡议,允许他们根据团队独特的结构和要求调整实施方案。
他们的重点从重复的手动执行转向高影响力的战略活动:风险分析、测试规划、高级探索性测试以及构建使整个组织能够高速交付质量的自动化框架。
并非一刀切:根据团队调整左移策略
产品团队
- 背景:这些团队专注于加速向客户交付新功能。
- 策略:主要方法涉及开发人员使用 TDD,同时质量保证团队同步为功能构建关键的自动化测试用例。这种双重努力直接旨在减少开发后的手动测试。对于需求不断演变的新产品,质量保证可能在手动验证中保留更大的作用。
- 结果:该模型可以显著减少甚至消除功能发布的手动测试。质量保证团队的角色演变为通过稳定的环境和强大的回归流水线来赋能开发人员。释放的质量保证能力随后被重新投入到现有测试用例积压的自动化中。
平台团队
- 背景:这些团队开发内部工具和框架,优先考虑稳定性和开发人员的信心。
- 策略:他们的方法侧重于质量保证提供高度可靠的回归套件,供开发人员在预发布环境中按需运行。一个专门的协作期,让质量保证和开发人员共同完善这些测试资产,对于建立信任和确保顺利移交至关重要。
- 关键考虑:一个关键的区别是正式保留探索性测试。许多平台团队会在每个冲刺中分配固定时间进行由质量保证主导的探索性会话,以发现 TDD 可能遗漏的问题。这为所有内部用户带来了更健壮和可靠的平台。
收益工程团队
- 背景:这些团队管理时间敏感且组件紧密集成 的项目,这使得并行测试自动化不切实际。
- 策略:他们的方法通过将质量保证整合到规划阶段来进一步“左移”。质量保证在初始设计和规范阶段,即在编写代码之前,为 TDD 提供测试用例。此外,开发人员可以直接运行针对其代码的精选回归流水线子集。
- 结果:该模型显著减少了手动测试负担,使团队能够满足严格的截止日期。然而,对于自动化测试不足的关键第三方集成,仍然正确地保留了一些手动监督以进行验证。
应对转型:成功的四个原则
成功的左移转型并非是对问题作出反应,而是主动实施一套核心原则。关注以下四个领域的领导者可以有效地引导团队完成变革,并建立更具弹性的质量文化。
- 培养共同所有权文化。与其简单地转移任务,不如将变革定位为开发过程的根本性演进。虽然这可能最初会产生阻力,但最好的管理方式是将质量保证团队定位为专家教练。赋能他们指导开发人员实践 TDD 等新方法,确保整个团队在承担共同的质量责任时感到获得支持。
- 将质量保证职能提升为战略性、咨询性角色,从最早的设计阶段就影响质量。为防止这种演变可能产生的知识鸿沟,投资于正式培训、共享文档和明确的指导方针,为所有团队成员提供成功所需的技能和背景。
- 对早期结果设定切合实际的期望。承认在减少手动测试时,缺陷泄漏的暂时增加是可预测的权衡。从一开始就让领导层和更广泛的组织就这一现实达成一致,必要时调整绩效指标。长期解决方案是建立一个来自生产的快速反馈循环,确保任何逃逸的缺陷立即导致更强大、更具弹性的自动化测试套件。
- 创建统一的优先级框架。在产品路线图和技术需求之间的冲突开始之前加以预防。建立一个统一的论坛,让产品、质量保证和工程部门的领导者协作地对所有倡议进行排序。这个过程确保了开发工作始终与最关键的业务和质量目标保持一致,消除了模糊性和资源争夺。
成功转型的关键资产
支持这些原则需要正确的工具和工件:
- 性能仪表盘:实施仪表盘以跟踪和沟通周期时间、自动化覆盖率和缺陷率等关键指标的进展。这为领导层提供了可见性,并为团队提供了问责制。
- 共享赋能文档:创建并维护一个集中的文档库,用于知识转移。这对于开发人员从质量保证团队接管的流程和背景尤其重要。
- 人工智能集成:使用人工智能加速常见任务。人工智能可以帮助为新功能生成测试用例和编写样板测试脚本,从而解放工程师,让他们专注于更复杂的 TDD 挑战。
结论
一个执行良好的左移策略在关键业务和工程指标上产生了切实的成果。核心原则是将从手动流程中节省的工程时间重新投入到高价值自动化中,从而形成效率和质量的积极反馈循环。
观察到的影响在以下指标中显而易见:
- 上市时间和重新测试工作量 — 上市时间的改善得益于重新测试工作量的急剧减少。通过在开发周期的早期发现问题,组织观察到测试和错误修复迭代的次数大幅下降。在许多情况下,这从两到五次循环的范围下降到少于两次。
- 自动化覆盖率和工作量减少 — 左移从根本上重新分配了工程工作量。这带来了几项直接改进:
- 自动化覆盖率:观察到普遍增加,大多数产品通常超过组织的阈值。
- 手动测试工作量减少:团队看到了显著下降。一些团队/组织观察到手动测试完全消除,而另一些则实现了高达 80% 的减少。
- 运营工作量:在许多情况下,这占质量保证带宽的近 10%,下降了约 50%。
- 开发/质量保证比例:该模型实现了改进的开发/质量保证比例,尽管这一结果可能有所不同。例如,致力于用户界面密集型功能的团队可能仍需要更集中的质量保证参与。
- 缺陷泄漏:长期产品质量提高,这反映在缺陷泄漏率上。具有高自动化覆盖率(通常超过 80%)的成熟产品保持或提高了其稳定性。虽然新产品可能会暂时出现缺陷增加,但随着时间的推移,自动化覆盖率的增加,缺陷率会持续下降。
结束语
左移是一项战略投资,它能显著提高生产力、长期质量和团队赋能。这一旅程并未止步于功能测试。成熟的质量组织现在正将这一理念扩展到其他领域,例如将性能和可访问性测试移至设计和开发的最早阶段。
实施真正的左移模型是一项重大任务,需要战略愿景、文化变革和技术执行的结合。这些原则是构建高速质量文化的基础,这也是我们 BrowserStack 自身已经着手的一段旅程。我们的专业知识帮助工程领导者应对这些复杂性,以实现可衡量的成果。
左移。更快地交付。更好地休息。让我们一起实现它。

