博客横幅

从传统测试向左移测试过渡

当敏捷运动将工作分解成更小的部分时,测试阶段仍然是最后一个。尽管需要测试的工作量减少了,但同样的问题仍然存在——长时间运行的端到端(E2E)测试,质量工程师(QE)在产品发布前执行严格耗时的测试。

左移测试意味着尽早进行测试。这给软件交付生命周期(SDLC)带来了一种不同的思维方式,其中QE涉及得更早。左移测试允许QE在分析和开发阶段通过测试识别并防止缺陷的发生。

为了让团队安全而自信地转向这种思维模式,必须慢慢地消除当前的实践。他们可以通过关注三个主要领域来做到这一点:恢复对端到端加密测试的信心,重建测试金字塔和确保团队协作。

在端到端自动化测试中恢复信心

自动化的兴起导致了成百上千的端到端加密测试。这些测试通常不稳定,并产生假阴性结果,导致持续集成管道中的构建失败。连续的红色构建往往被忽略。真正的缺陷与这些易碎的测试合并在一起。向左转的第一步是恢复对自动化测试的信心。

以下是可采取的步骤,以确保端到端加密测试是可管理的和可靠的:
  1. 已经识别出缺陷的测试可以临时标记为缺陷(@defect),并且在问题被修复之前不应该执行。这些测试也可以被完全删除,并作为缺陷修复的一部分重写。如果在缺陷修复之前执行这样的测试,可能会导致持续的构建失败,并可能被忽略。这可能导致不能及时验证新的有效测试失败。
  2. 片状试验必须进行修复,并可在另一条管道中临时单独进行。一旦这些测试稳定了,就可以将它们转移到稳定的测试套件中。这给了团队信心,任何失败的构建都是应用程序缺陷的确定指标。
  3. 只有通过快速构建才能确保更快的反馈。因此,采用并行测试和端到端测试的适当重构等方法对团队来说意义重大。
  4. 端到端测试应该在每次代码提交后运行,如果执行时间在可接受的范围内,那么建议将这些测试作为主构建的一部分。因此,使它可见不仅在测试人员中,而且在其他相关角色中开发了所有权和优先级的意识,以维护测试的绿色。

重建测试金字塔

在左移测试模式中,保持测试金字塔测试策略是关键。遵循测试金字塔模型,可以检查端到端加密测试的数量和质量。此外,这确保测试不仅在测试期间是重点,而且在开发期间也是重点。
  1. 采用以下方法使冰淇淋蛋筒成为金字塔测试结构:
  2. 删除端到端/系统测试,它们是单元测试或集成测试的副本。重复具有相同目标的测试或测试相同特性不会增加产品质量的任何价值。首先,根据其目标记录所有的端到端测试。查看单元和集成测试,确定是否有目标相同的测试,并在文档中将它们与端到端测试放在一起。使用代码覆盖工具可以使这个任务变得更容易。另一种方法是通过GitHub提交来检查一个特定的故事是否有相应的单元或集成测试来满足验收标准。然而,这种方法只在提交消息指定了故事号的情况下有效。
  3. 提高单元和集成层的覆盖率。使用代码覆盖工具,分析可以编写单元和集成测试的代码区域,而不是通过端到端测试来提高覆盖率。
  4. 将测试从金字塔的顶部(端到端或系统测试层)移动到底部(单元/集成)。一旦有了足够的单元和集成测试,并且删除了重复的端到端测试,下一项就是识别更多的理想状态下属于金字塔底部的测试,并将它们向下移动。

提高团队协作

质量不仅仅是质量工程师或测试人员的事情。它是所有相关角色的协作努力。通过左移测试,每个人都要对整个软件交付周期负责。

以下是确保项目中团队协作的一些步骤:
  1. 团队成员不应按角色划分。每个为同一个团队目标而工作的人都应该坐在一起。这使得致力于产品或功能的每个人之间能够进行持续的对话,创造出一种面向高质量产品的统一感。在团队成员由于COVID情况等原因处于远程位置的情况下,那么,每天与整个团队联系,包括注册和签名会议,可能有助于确保归属感。
  2. 与UX和BA合作分析卡片。在提交给开发人员之前,检查卡片并编写测试场景。这有助于指导开发人员从特性的角度而不是从实现的角度来编写高质量的单元和集成测试。它也有助于保持一个平衡的测试金字塔。
  3. 讨论故事中的测试场景开球并挖掘分析差距和边缘情况。这种做法即使在远程工作时也可以成功地执行。
  4. 在整个开发和测试阶段检查和协作。如果团队不在物理地点,缩放室可以保持活跃,以便参与讨论。
  5. 使用桌子上检查作为与其他系统进行早期集成测试的平台。
  6. 在桌面检查期间结对编写更多的单元测试,并保持检查测试金字塔模型。
所有这些都可以在使用会议工具远程工作时无缝地实现。


采用向左偏移的思维方式不仅会减少代码部署到生产中的前置时间,而且还会提高整体产品质量。将团队转移到这种方法并非易事。但是专注于这三个关键领域和这里概述的步骤可以帮助我们有效地过渡到这种模式。早期测试和经常测试从来没有如此相关。

免责声明:本文中所表达的声明和意见均为作者本人的观点,并不一定反映Thoughtworks的立场。188bet宝金博app下载

跟上我们最新的观点

Baidu