当今敏捷流行时代,大多数应用程序架构都是采用面向服务的体系结构设计的。因而,应用程序与可以在应用程序环境之外的许多子系统或者服务互连。如果任何子系统出现故障,都可能导致整个应用程序陷入瘫痪。

为了确保一切正常,我们需要从头到尾(端到端)测试应用程序的整个流程。

端到端测试主要用于两个目的:

为什么需要端到端测试

在每个冲刺中,开发团队和测试团队都专注于应用程序中使用的所有集成服务中的单个服务。大量微服务和子系统的功能和较短的测试时间会让他们有可能错过了子系统或服务中存在的隐患。

因此,质量检查小组必须确保单个服务中的特定更改不会影响整个工作流程。

端到端测试与传统测试

传统测试包括单元测试、集成测试、系统测试、验收测试。但是端到端测试是在系统测试之后开始的。有时系统/单元/集成测试端到端测试之间区别不大,有时候很难界定,但是这些完全不同。

这是一个简单的例子,设我们有一个包含三个子系统的应用程序:搜索订购支付

在当前的冲刺中,支付子系统中的需求规范更改如下:添加新的支付选项。因此,根据要求,系统测试将仅处理与新添加的付款选项相关的功能。

但是端到端测试将具有从搜索到付款(带有新添加的付款选项)以及订单确认的场景。端到端测试的范围,复杂性和维护性高于单元和集成测试。

因此,在准备测试用例和自动化测试脚本,测试人员最好先了解与完整的应用架构,这样它会很容易界定的覆盖范围。

谁进行端到端测试

端到端测试应由对应用程序有深入了解并了解产品架构的测试人员执行。除了测试人员外,业务人员、营销人员、内测用户甚至技术经理都是进行端到端测试的理想人选。

端到端测试方法

水平端到端测试

它贯穿业务工作流程的每个阶段,并确保功能需求文档与开发的应用程序相对应。

水平的端到端测试从头到尾通过各个应用程序验证每个工作流,以确保每个相互关联的过程正常工作。通常这种类型的测试会在发布周期结束时并在稳定的环境中进行。通过这种方法,测试可以在功能部分获得更多的覆盖,但是只有在所有版本更改都完全实现后才能执行。

垂直端到端测试

此方法是指分层测试,测试按分层的顺序进行。垂直测试用于分别彻底地测试每个组件,它是测试生命周期的一部分。执行此操作的最常见方法是BDDTDDCI/CD

实现此目标的最佳方法是对每个组件执行单元测试,然后对API 集成UI 层执行测试。通过这些工作,我们可以对核心代码进行大量测试。由于可以分阶段实施,因此很容易找到每个阶段的BUG

端到端测试步骤

这些是端到端测试必不可少的步骤:

提高端到端测试效率

结论

端到端的目标是验证系统与功能流程的集成。因此在测试任何应用程序时,必须注意用户界面或表示层不是唯一要关注的领域,但应用程序行为背后的基础数据、流程和逻辑也需要进行验证。连接的系统和集成在前端、后端、功能和集成方面均同等重要。


公众号FunTester首发,原创分享爱好者,腾讯云和掘金社区首页推荐,知乎七级原创作者,欢迎关注、交流,禁止第三方擅自转载。

FunTester 热文精选


↙↙↙阅读原文可查看相关链接,并与作者交流