Skip to main content
Cypress应用

测试类型

info
学习内容
  • 端到端测试与组件测试的区别
  • 每种测试类型的优势与注意事项
  • 每种测试类型的常见场景

选择端到端测试还是组件测试?

在开始测试之旅时,首先需要决定创建哪种类型的测试。Cypress提供两种选择:端到端测试和组件测试。每种选择都有其优势和注意事项,具体取决于当前要实现的目标。最终,您的应用很可能会同时包含这两种测试类型,但如何立即做出选择呢?

让我们分别了解这些测试类型、它们的优势、注意事项以及适用场景。

tip

Cypress不仅支持端到端和组件测试,还适应多种其他测试类型,包括 API测试视觉测试单元测试无障碍测试等。我们的插件提供了更多工具来帮助您全面测试应用。

什么是端到端测试?

端到端测试是一种从网页浏览器到应用后端,包括与第三方API和服务集成的全面测试技术。这类测试非常适合确保整个应用作为一个协调的整体正常运行。

Cypress通过真实浏览器运行端到端测试,模拟用户与应用的交互:访问URL、查看内容、点击链接和按钮等。这种方式有助于确保测试与用户体验一致。

在Cypress中编写端到端测试可以由开发应用的开发人员、专业测试工程师或负责验证应用发布准备的质量保证团队完成。测试通过代码编写,使用模拟真实用户操作的API。

端到端测试非常适合验证从前端到后端的应用运行是否符合预期。然而,端到端测试的设置、运行和维护可能更为复杂。通常需要为测试目的搭建后端基础设施。您的团队需要制定 策略 来处理这种复杂性。

tip

端到端测试的优势:

  • 确保应用作为协调的整体运行
  • 测试与用户体验匹配
  • 可由开发人员或QA团队编写
  • 也可用于集成测试
info

端到端测试的注意事项:

  • 设置、运行和维护更复杂
  • 在CI中配置测试基础设施
  • 测试某些场景需要更多设置
note

端到端测试的常见场景:

  • 验证关键流程(如身份验证和购买)
  • 确保数据在多屏间持久化和显示
  • 部署前运行冒烟测试和系统检查

要了解更多关于Cypress端到端测试的内容,请访问我们的指南 编写第一个端到端测试

什么是组件测试?

现代Web框架通过将应用分解为称为组件的较小逻辑单元来编写应用。组件的范围可以从相当小(如按钮)到更复杂(如注册表单)。

由于其特性,组件往往易于测试,这正是Cypress组件测试的用武之地。

组件测试与端到端测试的不同之处在于,它不是通过访问URL来启动整个应用,而是可以单独"挂载"和测试组件。这使您可以专注于仅测试组件的功能,而不必担心作为大型应用一部分测试组件的其他细微差别。

通常,组件测试由负责组件的开发人员编写。测试代码与组件代码并存,通常测试与组件同时编码,帮助开发人员在构建时验证所需功能。

然而,需要考虑的是,即使所有组件测试都通过,也不意味着应用正常运行。组件测试无法确保应用的所有层都能良好协作。因此,一个经过良好测试的应用应结合端到端测试和组件测试,每组测试专注于其最擅长的领域。

tip

组件测试的优势:

  • 更容易隔离测试组件
  • 快速可靠
  • 易于在测试中设置特定场景
  • 不依赖任何外部系统运行
info

组件测试的注意事项:

  • 不保证整体应用质量
  • 不调用外部API/服务
  • 通常由负责组件的开发人员编写
note

组件测试的常见场景:

  • 测试日期选择器在各种场景下的正常工作
  • 表单根据输入显示和隐藏特定部分
  • 测试设计系统中的组件
  • 测试与组件无关的逻辑(如单元测试!)

要了解更多关于Cypress组件测试的内容,请访问我们的指南 使用Cypress测试组件

测试类型对比

属性端到端测试组件测试
测试对象所有应用层单个组件
特点全面、较慢、更易出现不稳定情况专门化、快速、可靠
用途验证应用作为协调的整体运行测试单个组件的功能
编写者开发人员、QA团队、SDETs开发人员、设计师
CI基础设施通常需要复杂设置无需
初始化命令cy.visit(url)cy.mount(<MyComponent />)