什么是端到端测试?E2E 示例
端到端测试
端到端测试是一种软件测试方法,用于验证整个软件从开始到结束,以及其与外部接口的集成。端到端测试的目的是测试整个软件的依赖关系、数据完整性以及与其它系统、接口和数据库的通信,以模拟完整的生产场景。
除了软件系统,它还验证来自其他上游/下游系统的批处理/数据处理。因此得名“端到端”。端到端测试通常在功能测试和系统测试之后执行。它使用实际生产数据和测试环境来模拟实时设置。E2E 测试也称为链式测试。
为什么需要端到端测试?
端到端测试验证完整的系统流程,通过检测问题并增加子系统的测试覆盖率来提高信心。现代软件系统复杂且与多个子系统互连,这些子系统可能与当前系统不同。整个系统可能因任何子系统的故障而崩溃,这是端到端测试可以避免的主要风险。
端到端测试流程
下图概述了端到端测试流程。
端到端测试涉及的主要活动包括:
- 研究端到端测试需求
- 测试环境设置和硬件/软件要求
- 描述所有系统及其子系统流程。
- 描述所有系统的角色和职责
- 测试方法和标准
- 端到端需求跟踪和测试用例设计
- 每个系统的输入和输出数据
端到端测试工具
1) testRigor
testRigor在端到端测试方面是行业领导者。在网页UI、原生和混合移动应用、移动浏览器和API上无缝创建无代码测试。轻松测试电子邮件和短信,测试下载的.XLS、.DOC、.PDF等文件。
功能
- 用纯英语编写无代码测试。
- 一个测试中包含Web + 移动 + API 覆盖。跨平台和跨浏览器支持。
- 创建测试比Selenium快15倍。
- 将测试维护成本降低高达99.5%。
- testRigor安全且符合SOC 2 Type 2标准。
- 与CI/CD和测试用例管理集成。
- 运行数千个测试并在30分钟内得到结果。
如何创建端到端测试用例?
端到端测试设计框架由三部分组成
- 构建用户功能
- 构建条件
- 构建测试用例
让我们详细看看它们: –
构建用户功能
构建用户功能应完成以下活动
- 列出系统的功能及其相互连接的组件
- 列出每个功能或特性的输入数据、操作和输出数据
- 识别功能之间的关系
- 确定功能是否可重用或独立
例如 - 考虑一个场景,您登录您的银行账户并向其他银行(第三方子系统)的另一个账户转账。
- 登录银行系统
- 检查账户余额
- 从您的账户向其他银行账户(第三方子系统)转账
- 检查您最新的账户余额
- 退出应用程序
基于用户功能构建条件
以下活动作为构建条件的一部分执行
- 为每个定义的用户功能构建一组条件
- 条件包括序列、时间和数据条件
例如 - 检查更多条件,如
登录页面
- 无效用户名和密码
- 使用有效用户名和密码检查
- 密码强度检查
- 错误消息检查
余额
- 24小时后检查当前余额。(如果转账发送到不同的银行)
- 如果转账金额大于当前余额,检查错误消息
构建测试场景
为定义的用户功能构建测试场景
在这种情况下,
- 登录系统
- 检查银行余额
- 转账银行余额
构建多个测试用例
为每个定义的场景构建一个或多个测试用例。测试用例可能包括每个条件作为一个单独的测试用例。
端到端测试的指标
以下是一些(众多)用作端到端测试示例的指标
- 测试用例准备状态:它显示测试用例准备进度与计划的对比
- 每周测试进度- 提供每周测试完成百分比的详细信息 - 失败、未执行和已执行与计划执行测试的对比。
- 缺陷状态和详细信息- 它显示每周开放和关闭缺陷的百分比。此外,按严重性和优先级分类的每周缺陷分布
- 环境可用性 –每日“正常运行”的总小时数 / 每日计划用于测试的总小时数
端到端测试与系统测试
端到端测试 | 系统测试 |
---|---|
验证软件系统以及互连的子系统 | 仅根据需求规范验证软件系统。 |
它检查完整的端到端流程。 | 它检查系统功能和特性。 |
所有接口、后端系统都将纳入测试范围 | 功能测试和非功能测试都将纳入测试范围 |
它在系统测试完成后执行。 | 它在集成测试之后执行。 |
端到端测试涉及检查外部接口,这可能难以自动化。因此,首选手动测试。 | 系统测试可以执行手动和自动化测试 |
结论
在软件工程中,软件测试中的端到端测试是验证软件系统及其子系统的过程。这种测试中最大的挑战是充分了解整个系统以及相互连接的子系统。