什么是 End-to-End 测试?

news2024/11/15 13:27:07

在这里插入图片描述

在使用 vue 的模板创建新项目的时候,有一个选项是问,是否添加“端到端”测试?说实在我不知道,而且三个选项一个都不认识。

? Add an End-to-End Testing Solution? › - Use arrow-keys. Return to submit.
❯   No
    Cypress
    Nightwatch
    Playwright

什么是“端到端”测试?(End-to-End)

端到端测试是一种软件测试技术,它通过模拟真实用户场景和复制实时数据,从开始到结束验证整个软件应用的功能和性能。其目的是在所有组件集成时识别出出现的bug,确保应用程序作为一个统一的整体提供预期的输出。

端到端测试也被称为E2E测试。得益于端到端测试,测试人员能够从最终用户的角度洞察应用程序的功能,从而在发布前对软件质量有一个更全面的了解。

端到端测试的重要性

端到端测试在现代软件中至关重要,因为现代软件已经变得复杂,有数十个系统同时相互交互。

即使这些组件单独运行时功能完美,但在集成时仍可能因为组件间的沟通失误而失败。端到端测试的目的是验证通过自动化测试对象(AUT)的信息流,包括所有可能的路径和依赖关系。如果在软件组件和/或子系统之间的任何“接触点”存在问题,测试人员可以轻松定位根本原因并立即进行故障排除。

测试人员希望在端到端测试中实现最高级别的覆盖。应用程序的所有子系统或组件,如用户界面、应用服务器、数据库,以及应用程序可能与之交互的任何外部系统,都应进行端到端测试。

端到端测试的例子

这里是一个电子商务网站端到端测试的例子。

在这个场景中,顾客从网站购买产品,进行支付,并收到确认邮件。为确保功能按预期工作,必须执行以下测试:

  1. 验证产品页面和产品选择功能的功能。
  2. 验证客户信息表单中的数据验证功能。
  3. 验证支付信息的有效性。
  4. 验证支付处理功能。
  5. 确认支付成功,并且网站显示了确认消息。
  6. 检查顾客的电子邮箱收件箱是否有确认邮件。
  7. 验证确认邮件包含购买的正确详细信息(例如,产品名称、数量、价格、订单号)。
  8. 检查顾客在网站上的账户,确认购买已列在订单历史中。

在这里,我们验证了整个购买过程,从选择产品到接收确认邮件。我们还检查了网站组件(购物车、支付系统、电子邮件通知)是否都在彼此之间顺畅地交互。

端到端测试的好处

端到端测试之所以更加可靠且被广泛采用,是因为它具有以下好处:

  1. 跨多个应用层面的质量管理:现代应用程序建立在复杂的架构之上,由多个相互连接的工作流层组成。这些层单独工作时可能运行良好,但一旦连接起来可能会相互冲突。端到端测试可以验证这些单独层和组件之间的交互。

  2. 后端质量保证:端到端测试首先验证后端层,特别是应用程序的数据库,它为其他层提供关键信息以使应用程序工作。

  3. 确保跨环境的一致应用质量:端到端测试验证前端,确保应用程序在广泛的浏览器、设备和平台上按预期工作。为此目的经常进行跨浏览器测试。

  4. 第三方应用程序测试:有外部系统集成到应用程序中以执行高度特定的任务。端到端测试确保外部系统与内部系统的兼容性,以及它们之间的数据通信。

端到端测试和功能测试的比较

功能测试端到端测试
范围测试局限于单段代码或应用测试跨越多个应用或者用户群组
目标保证测试软件满足接受条件保证变化发生后,一个过程持续工作
方法单个用户与应用交互多个用户与应用交互
验证验证每个测试的输入和输出验证一个过程的每一步是否完成

端到端测试和集成测试的比较

集成测试端到端测试
视角技术团队视角最终用户视角
目标确保应用组件在一起是工作的确保用户体检是一致的
范围应用内的多个组件可能会穿越应用整个的技术栈
成本较低实现成本较高实现成本,因为软硬件尽可能模拟真实
时间比端到端快一些比集成测试消耗更多时间

总结

端到端测试总体来说,是一种更关注终端用户体验,以最终体验一致性为目标的测试。测试要求贯穿多个应用,场景和用户群体,尽可能与真实环境一致的软硬件环境。会消耗相当的成本。但是也会给最终质量带来更多的保障。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1490468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QChart柱状图

//柱状图// 创建柱状图数据QBarSet *set0 new QBarSet("");*set0 << 1601 << 974 << 655 << 362;QBarSeries *series new QBarSeries();series->append(set0);set0->setColor(QColor("#F5834B"));// 创建柱状图QChart *ch…

基于springboot+vue的美食烹饪互动平台

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Anthropic

文章目录 关于 Anthropic公司产品anthropic-sdk-python 基本使用 关于 Anthropic 官网&#xff1a;https://www.anthropic.comhuggingface : http://huggingface.co/Anthropicgithub : https://github.com/anthropics https://github.com/anthropics/anthropic-sdk-python官方…

【MySQL】深入解析日志系统:undo log、redo log、bin log

文章目录 前言1、undo log1.1、undo log 是什么1.2、事务回滚 2、redo log2.1、redo log 是什么2.2、redo log 刷盘2.3、redo log 硬盘文件 3、bin log3.1、bin log 是什么3.2、bin log 和 redo log 区别3.3、bin log 刷盘3.4、两阶段提交 前言 MySQL数据库提供了功能强大的日…

6.3 业务分析方法 (15%)

一、业务分析方法 1、客户分析 用户从哪里来到哪里去&#xff1b;来源于各个渠道&#xff1b; 分析: 投入产出比&#xff1a;微博&#xff1e;公众号 展示量&#xff1a;微博低于公众号&#xff1b;若增加品牌曝光率&#xff0c;可用公众号渠道 跳失率&#xff1a;微博低于公…

C# Winform画图绘制圆形

一、因为绘制的圆形灯需要根据不同的状态切换颜色,所以就将圆形灯创建为用户控件 二、圆形灯用户控件 1、创建用户控件UCLight 2、设值用户控件大小(30,30)。放一个label标签,AutoSize为false(不自动调整大小),Dock为Fill(填充),textaglign为居中显示。 private Color R…

【leetcode】删除链接的倒数第N个节点

/*** Definition for singly-linked list.* function ListNode(val, next) {* this.val (valundefined ? 0 : val)* this.next (nextundefined ? null : next)* }*/ /*** param {ListNode} head* param {number} n* return {ListNode}*/ var removeNthFromEnd fun…

赋能中国制造,大道云行发布智能制造分布式存储解决方案

《中国制造2025》指出&#xff0c;“制造业是国民经济的主体&#xff0c;是立国之本、兴国之器、强国之基。” 智能制造引领产业提质增效 智能制造是一种利用先进的信息技术、自动化技术和智能技术来优化和升级制造业生产过程的方法。它将人工智能、大数据、物联网、机器学习等…

3DEXPERIENCE Works八大核心优势分析

云技术正在加速普及&#xff0c;助力各行各业数字化转型。根据IDC 2023年12月发布的报告&#xff0c;2023年全球云计算市场规模达到3329亿美元&#xff0c;同比增长19.4%。其中&#xff0c;公有云市场规模达到2587亿美元&#xff0c;同比增长21.5%;私有云市场规模达到742亿美元…

深度学习500问——Chapter02:机器学习基础(3)

文章目录 2.10 主成分分析&#xff08;PCA&#xff09; 2.10.1 主成分分析&#xff08;PCA&#xff09;思想总结 2.10.2 图解PCA核心思想 2.10.3 PCA算法推理 2.10.4 PCA算法流程总结 2.10.5 PCA算法主要优缺点 2.10.6 降维的必要性及目的 2.10.7 KPCA与PCA的区别 2.11 模型评估…

JavaScript基础2之运算符、函数

JavaScript基础 运算符一元操作符递增/递减一元加和减 布尔操作符逻辑非逻辑与逻辑或 乘性操作符乘法操作符除法操作符取模操作符 加性操作符加法操作符减法操作符 比较操作符相等操作符关系操作符 函数函数声明函数表达式箭头函数函数的实参和形参arguments 默认参数参数的拓展…

vue 使用vue-scroller 列表滑动到底部加载更多数据

安装插件 npm install vue-scroller -dmain.js import VueScroller from vue-scroller Vue.use(VueScroller)<template><div class"wrap"><div class"footer"><div class"btn" click"open true">新增</d…

1.2计算机体系结构与存储系统-2

1.编址的相关计算 存1个1或1个0的单位是位&#xff08;bit&#xff09;&#xff1b; 内存是按字节&#xff08;byte&#xff09;编址的&#xff1b; 1byte8bit&#xff1b; 如果有4096个字节的内存&#xff0c;想要表示内存地址的话需要多少位&#xff1f; 0-4095&#xff08;…

项目总体测试计划word

1. 引言 1.1 目的 1.2 适用范围 2. 测试类型 2.1 集成测试 2.2 系统测试 2.3 验收测试 2.4 回归测试 3. 测试环境 4. 测试工具 5. 测试内容 5.1 集成测试 5.1.1 集成测试角色与职责 5.1.2 集成测试产生的工作产品清单 5.2 系统测试 5.2.1 系统测试的角色与职责 5.2.2 系统测试产…

双缝实验是量子力学的重要基石之一

双缝实验是物理学界的基石&#xff0c;特别是对于量子力学来讲。理解这个实验需要结合直觉、数学以及对量子理论抽象且奇异的现实的接受。 一、双缝实验的基础知识 双缝实验证明了波粒二象性的概念&#xff0c;这是量子粒子的基本属性。量子粒子同时具有粒子和波的性质。 在这…

【鸿蒙 HarmonyOS 4.0】登录流程

一、背景 登录功能在应用中是一个常用模块&#xff0c;此次使用 HarmonyOS 实现登录流程&#xff0c;包含页面呈现与网络请求。 二、页面呈现 三、实现流程 3.1、创建项目 构建一个ArkTS应用项目(Stage模型)&#xff0c;今天创建流程可查看官网教程&#xff1a;文档中心 目…

BUUCTF crypto做题记录(13)新手向

一、[MRCTF2020]vigenere 这是一道维吉尼亚密码&#xff0c;但由于不知道密钥&#xff0c;所以我们需要采用爆破的方式。Vigenere Solver | guballa.de 答案&#xff1a;flag{vigenere_crypto_crack_man} 二、[MRCTF2020]keyboard 之前做过一个类似的题目&#xff0c;用九宫格…

一文掌握:教务管理系统该如何设计?

hello&#xff0c;我是贝格前端工场&#xff0c;本期给大家分享教务管理系统的知识点&#xff0c;欢迎老铁们点赞、关注&#xff0c;如有需求可以私信我们。 一、什么是教务管理系统 教务管理系统是一种用于管理学校或教育机构的学生、课程和教学活动的软件系统。它提供了一种…

基于SpringBoot+Apache POI的前后端分离外卖项目-苍穹外卖(十九)

数据导出 1. 工作台1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.2.1 Controller层1.2.2 Service层接口1.2.3 Service层实现类1.2.4 Mapper层 1.3 功能测试 2. Apache POI2.1 介绍2.2 入门案例2.2.1 将数据写入Excel文件2.2.2 读取Excel文件中的数据 3. 导出运营数据Excel…

K8s+ArgoCD,低投入构建内部开发者平台

01 简介 许多人认为&#xff0c;要建立内部开发人员平台&#xff0c;就必须使用像 Spotify Backstage 这样的工具。其实未必&#xff0c;如果将 Kubernetes label 等更原生的方法与 Argo CD 等工具和 GitOps 原则相结合&#xff0c;也可以有效地为开发人员和平台团队提供自助服…