什么是端到端测试?

陈哥聊测试
• 阅读 3

大家好,我是陈哥。

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

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

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

什么是端到端测试?

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?

点赞
收藏
评论区
推荐文章
美凌格栋栋酱 美凌格栋栋酱
10个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
亚瑟 亚瑟
4年前
React之集成测试 – 测试概览
你可以用像测试其他JavaScript代码类似的方式测试React组件。现在有许多种测试React组件的方法。大体上可以被分为两类:渲染组件树在一个简化的测试环境中渲染组件树并对它们的输出做断言检查。运行完整应用在一个真实的浏览器环境中运行整个应用(也被称为“端到端(endtoend)”测试)。本章节主要专
Stella981 Stella981
4年前
Flink Kafka 端到端 Exactly
摘要:本文基于Flink1.9.0和Kafka2.3版本,对Flinkkafka端到端ExactlyOnce进行分析及 notifyCheckpointComplete顺序,主要内容分为以下两部分:1.Flinkkafka两阶段提交源码分析TwoPhaseCommitSinkFuncti
Stella981 Stella981
4年前
NIO系列六:流行 NIO Framework netty 和 mina 性能测评与分析
NIO系列6:流行NIOFrameworknetty和mina性能测评与分析测试方法采用mina和netty各实现一个基于nio的EchoServer,测试在不同大小网络报文下的性能表现测试环境客户端服务端:modelname:Int
Stella981 Stella981
4年前
Golang注册Eureka的工具包goeureka发布
1.简介提供Go微服务客户端注册到Eureka中心。点击:github地址(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fgithub.com%2FSimonWang00%2Fgoeureka),欢迎各位多多star!(已通过测试验证,用于正式生产部署)2.原理
Wesley13 Wesley13
4年前
360手机卫士测试职位招聘
360手机卫士测试职位描述:有意向者请发简历到cuijun@360.cnand317764294@qq.com职位名称:手卫移动端测试工程师岗位描述:1\.负责手机卫士产品线的功能测试;严谨的测试用例设计思路。
Stella981 Stella981
4年前
SAP Spartacus cypress集成测试执行失败的一些常见原因
SAPSpartacus端到端的集成测试代码实现,位于下列文件夹内:!(https://oscimg.oschina.net/oscnet/up2acea647e0aa6d18674c3967f2be8019.png)错误消息:CypressError:cy.routecannotbeinvokedbeforestartin
以数据思维和技能提升数据应用测试实践 | 京东云技术团队
作者:京东零售周雪梅以数据思维和技能提高测试覆盖率和效率。数据应用测试,功能测试主要聚焦在数据流向(输入和输出)。一、背景数据质量组当前主要承接黄金眼和商智中的供应链模块,商智包括PC(品牌版:商家端,运营端)和M端。各模块的产品特征和测试范围和策略的通用
API 小达人 API 小达人
2年前
【接口自动化测试】Eolink Apilkit 安装部署,支持 Windows、Mac、Linux 等系统
EolinkApikit有三种客户端,可以依据自己的情况选择。三种客户端的数据是共用的,因此可以随时切换不同的客户端。我们推荐使用新推出的ApikitPC客户端,PC端拥有线上产品所有的功能,并且针对本地测试、自动化测试以及使用体验等方面进行了强化,可以提供最佳的使用感受。