什么是端到端测试?

原创
🌻
陈哥聊测试
2025-11-10 17:00:00
294
摘要:端到端测试不是多此一举,而是一种全面把关的测试方法。

大家好,我是陈哥。


不知道大家有没有听过端到端测试


每个软件都应该进行端到端测试,以确保其按规定运行。这种测试方法建立了对系统的信心,并帮助开发团队确定软件是否已准备好进行生产部署。


在本文,我给大家简单分享一下端到端测试是什么,为什么它很重要,以及如何在软件项目中有效地实现它。

1.先搞懂,什么是端到端测试?

端到端测试的核心,是从最终用户视角出发,验证软件各模块在真实场景下能够正常运行,确保整体功能符合用户使用预期。


举个大家都熟悉的例子,线上订电影票。你打开小程序/APP搜电影,选影院、选位置,点提交订单,最后付款拿到预订凭证。这一套流程走下来,就是一次端到端测试要覆盖的。


这么测不仅能看出来订影票这个功能全不全,还能直观感受到用户体验怎么样。比如填信息时会不会老跳转,支付页面会不会加载半天,后续也有优化的方向。


在实际操作时,大家可以在禅道软件中先设计测试用例,这些用例就得照着真实用户的操作流程来做。


跑一遍全流程测试,既能精准找到软件哪里出了岔子,还能在上线前把那些藏得深的问题揪出来解决掉,避免软件真推到生产环境了,用户用的时候出麻烦。



扫码备注【用例】,进一步了解禅道用例场景功能👇


阿道微信

一般情况下,端到端测试会在功能测试、系统测试之后,软件的主要版本发布前完成。


大家可以按照70/20/10来划分,也就是70%的单元测试、20%的集成测试和10%的端到端测试。具体的组合可能因每个团队而异,但通常应保持金字塔的形状。
测试金字塔

2.端到端测试的不同阶段

我把端到端测试拆为三个阶段:规划、测试、收尾,接下来我们会逐一了解这些阶段。

(1)规划:把测什么想明白

规划没做好,后面测试很容易“东一榔头、西一棒槌”,我们要考虑以下3点:


  • 了解业务和功能需求:一个网购APP,用户从搜商品到确认收获的全流程里,我们不仅要知道哪些步骤是关键、哪些环节容易出问题,还要明白优惠券怎么叠加、退款流程怎么走等。后续,设计用例才不会偏。
  • 根据需求制定测试计划这里可以写清楚测试目标、测试节点、所需资源等,有了计划,大家做事才有方向。
  • 贴合用户场景的测试用例:设计用例时,一定要站在用户角度想:“如果我是用户,这一步我会怎么操作?我关心什么?”
给大家看一个例子,这就是一个个典型的测试网购APP软件的全流程:
端到端测试流程

(2)测试:先准备再执行

测试阶段可分两步走:先决条件和测试执行


【先决条件】


在此阶段,我们要确保:
  • 所有功能开发都应该完成;
  • 应用程序的所有子模块和组件都应该集成在一起,并作为一个系统正常工作;
  • 应用程序中所有相关子系统的系统测试都已经完成;
  • 设计用于复制生产设置的暂存环境应完全可操作。这种环境使我们能够模拟现实世界的场景,并有效地再现类似生产的条件。
完成先决条件后,我们可以继续进行测试执行阶段。


【测试执行】


在这个阶段,测试团队应该:
  • 执行测试用例;
  • 测试失败时报告错误;
  • 修复错误后重新测试;
  • 重新运行所有端到端测试,以确保所有测试都按预期工作。

端到端测试可以手动执行,也可以在CI/CD中使用自动化执行。比较推荐自动化执行端到端测试,因为这会为测试团队节省了时间和精力,同时确保在最短的时间内获得高质量的结果。

(3)收尾:做好总结

测试执行完并不意味着结束,收尾阶段也很重要。测试人员在测试完成后,可以在禅道中生成测试报告,包含报告详情、测试范围、测试轮次、关联的用例等。


通过测试报告,项目团队可以分析测试结果,识别潜在的质量问题和风险,为后续的开发和测试提供依据。

有些团队觉得:“单元测试和集成测试都做过了,没必要再做端到端测试了吧。


这其实是一个误区。单元测试和集成测试解决的是局部问题,而端到端测试解决的是用户实际使用时的问题。


所以说,端到端测试不是多此一举,而是一种全面把关的测试方法。


希望我的分享可以帮助到你,也欢迎给我留言与我讨论。


*参考文章:Faisal Khatri,What Is End-to-End Testing?
  • 封面.jpg

推荐阅读

趋势预测:2021年五大流行的编程语言

有一些情况下,一个问题可以用不同的语言解决。
Erin520 2021-01-18

如何选择合适的自动化测试工具?

在本文中,我们将详细讨论在选择自动化测试工具时如何进行选择。但在继续之前,让我们强调一下自动化测试工具的重要性。
🌻
陈哥
2024-02-28

TDD、BDD、ATDD都是什么、有什么区别?(下)

虽然TDD、BDD和ATDD都是软件开发中使用的测试方法,但它们在方法和重点上有所不同。TDD、BDD和ATDD之间的主要区别在于关注点、抽象层级和协作。
🍪
陈哥
2023-09-04

还不知道这个原则的程序员,要小心了

“无规矩不成方圆”,来了禅道以后才发现,其实小公司也应该有自己的代码规范。
🌻
陈哥聊测试
2024-09-27
返回顶部
客服头像
丁芝
高级客户经理
客服微信
17663906485
1481227768
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。