了解端到端测试及其用例

大多数开发人员都会看到下图所示的测试金字塔版本:

image 2023 10 17 15 41 40 078
Figure 1. Figure 13.1: A diagram of the testing pyramid

E2E 测试属于用户界面(UI)测试范畴。本章我们将探讨的测试类型是使用 Cypress 的自动化 E2E 测试。

与单元测试或集成测试相比,E2E 和 UI 测试能提供更高的可信度。它们测试的是最终用户使用的应用程序。最终用户并不关心错误发生的原因或地点,只关心是否存在错误。单元测试和系统级测试关注的往往是错误发生的地点和原因。单元和系统级测试检查系统内部是否按照规范或代码的描述运行。用户界面级测试则验证应用流程是否按预期运行。

强大的 E2E 测试套件运行速度快,很少出现假阴性(测试失败但应用程序正常运行),更少出现假阳性(所有测试都通过但应用程序被破坏),这样就能实现持续部署(CD)。CD 顾名思义,就是持续部署项目或应用程序。在这种设置中,应用程序版本由 E2E 套件验证,然后自动部署到生产中。