什么是端到端 (E2E) 测试?示例

端到端测试
端到端测试 是一种软件测试方法,它从头到尾验证整个应用程序及其与外部接口的集成。其目的是验证整个软件的依赖关系、数据完整性以及与其他系统、接口和数据库的通信,模拟完整的生产环境场景。
它还能验证来自上游和下游系统的批处理和数据处理。因此得名。 “端到端。” 端到端测试通常在功能测试之后执行,并且 系统测试,使用类似生产环境的数据来模拟实时场景。它也被称为 链式测试.
为什么要进行端到端测试?
端到端测试 通过检测子系统中的问题,验证整个系统流程并提高信心,从而改进 测试覆盖率现代系统高度互联,任何一个子系统的故障都可能导致整个平台崩溃。端到端测试是发布前降低这种风险最可靠的方法。
端到端测试流程
下图展示了端到端测试流程。
端到端测试的主要活动包括:
- 研究端到端测试要求。
- 测试环境搭建及硬件/软件要求。
- 描述所有系统及其子系统过程。
- 明确各系统间的角色和职责。
- 就测试方法和标准达成一致。
- Track 个端到端需求和设计测试用例。
- 定义每个系统的输入和输出数据。
如何创建端到端测试用例?

端到端测试设计框架由三部分组成:
- 构建用户功能
- 建造条件
- 构建测试用例
构建用户功能
构建用户功能时应完成以下活动:
- 列出系统的功能及其相互连接的组件。
- 列出每个特征的输入数据、动作和输出数据。
- 找出函数之间的关系。
- 判断每个函数是可重用的还是独立的。
例如,考虑登录您的银行账户并将资金转账到另一家银行(第三方子系统):
- 登录银行系统。
- 查询账户余额。
- 将资金从您的账户转移到另一个银行账户。
- 查看最新账户余额。
- 退出应用程序。
根据用户功能构建条件
以下活动是建筑施工条件的一部分:
- 为每个已定义的用户功能构建一组条件。
- 条件包括顺序、时间和数据条件。
例如:
登录页面
- 用户名和密码无效。
- 有效的用户名和密码。
- 密码强度检查。
- 验证错误信息。
余额
- 24 小时后(当转账到另一家银行时)查看当前余额。
- 如果转账金额超过当前余额,请查看错误信息。
构建测试场景
建立 测试场景 对于用户定义的功能。在本例中:
- 登录系统。
- 查询银行余额。
- 转账银行余额。
构建多个测试用例
针对定义的每个场景,编写一个或多个测试用例。每个场景下的每种情况都可以作为一个单独的测试用例。
端到端测试指标
端到端测试中常用的指标包括:
- 测试用例准备状态: Tracks准备工作进展与计划不符。
- 每周测试进度: 按周计算完成百分比(失败、未执行、已执行与计划)。
- 缺陷状态及详情: 每周未解决/已解决缺陷的数量,并按严重程度和优先级进行分布。
- 环境可用性: 总工作小时数除以每日计划总工作小时数。
2026 年的现代端到端测试工具
目前,Web端到端自动化主要由以下三个框架主导:
- Cypress: Java脚本优先,在浏览器内运行,支持时间旅行调试。非常适合 React、Vue 和 Angular 前端。
- 剧作家: 跨浏览器(Chromium、WebKit、 Firefox)具有自动等待、并行执行和 trace 查看器。
- Selenium 4.x: 现在为企业套件提供 WebDriver BiDi、相对定位器和改进的网格可扩展性。
对于移动设备而言, Appium 2 和 Maestro 领衔; Postman Karate 处理 API 级别的流程。
人工智能在端到端测试生成中的应用
生成式人工智能是重塑ping 端到端测试。LLM平台读取用户故事并自动生成 Cypress 或者剧作家的剧本,而自愈定位器会在 DOM 发生变化时进行调整,从而减少不稳定的测试波动。
像工具一样 TestimMabl、Functionize 和 KaneAI 分析生产遥测数据,以优先处理风险最高的用户旅程。
端到端测试、集成测试和系统测试
| 方面 | 端至端 | 之路 | 系统 |
|---|---|---|---|
| 适用范围 | 完整应用程序及外部接口。 | 两个或多个集成模块。 | 根据需求完成软件开发。 |
| 环境 | 类似生产环境,与真正的第三方合作。 | 存根或部分集成。 | 专用舞台。 |
| 阶段 | 系统测试后。 | 单元测试之后。 | 集成测试之后。 |
| 省时提效 | 混合; 手动测试 通常是第三方需要的。 | 基本实现自动化。 | 包括手动和自动两种方式。 |

.png)