UI测试和E2E测试有什么区别?各自的好处是什么?

12

我们的团队正在考虑基于用户场景进行测试,因此我们选择了一个 E2E 框架。

搜索“UI 测试”得到以下结果:

于是我找到了这个链接

它说:

UI 测试:用户界面测试。换句话说,您必须确保屏幕上的所有按钮、字段、标签和其他元素按照规范的要求正常工作。

GUI 测试:图形用户界面测试。您必须确保屏幕上的所有元素都按照规范的要求正常工作,并且颜色、字体、元素大小和其他类似的东西与设计相匹配。

功能测试: 产品质量保证过程,假定按照规格要求对组件或系统的功能进行测试。

E2E 测试:用于识别系统依赖关系并确保正确的信息通过多个组件和系统传递。

我不明白 UI 测试和 E2E 测试之间的区别。

我在 Android Studio 中编写了 UI 测试代码。我需要为每次点击和查看等编写代码。我觉得这样做有点多余,我宁愿直接用手指动态测试。

1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
23

让我们先看看E2E(端对端)测试和UI测试的区别:

  • E2E测试是检查整个系统/产品在部署时使用的方式下是否正确行为。
  • UI测试是确保UI正常工作。

本质上,UI测试聚焦于产品的UI组件。使用模拟后端进行此类测试完全是适当的,以避免需要运行整个系统来检查UI。

UI测试和E2E测试之间存在一定程度的重叠。例如,在UI测试中测试一个表单,我也会期望该表单在E2E场景中进行测试。主要区别在于覆盖范围:E2E测试将尝试覆盖场景,这可能是表单的一种用途,而UI测试将涵盖用户可以使用表单完成的所有事情,包括输入错误数据。

E2E测试的一个问题通常在测试失败时,你需要花费一些时间找出哪个组件导致了失败。通过为每个组件(包括UI测试)编写测试,应该会在其中一个组件的测试中发现相应的失败。

假设你的端到端测试失败了,因为登录按钮从UI界面消失了。你的端到端测试会显示用户无法登录。这是因为UI、API、凭据存储(例如数据库)、使用SSO时连接到外部服务(例如LDAP)的原因吗?当查看UI测试时,它也会显示用户无法登录,但现在你知道是一个UI问题。 我在Android Studio中编写了UI测试代码。我需要为每个点击和视图编写代码等。我感觉为什么我们需要这样做呢?我宁愿直接用手指进行动态测试。 与所有测试一样,你深入进行每种类型的测试的程度是基于你的需求而作出的决策。在许多情况下,你所描述的手动测试完全足够,通常是因为系统不是安全关键性的,修复问题的成本较低。但是,如果修复问题的成本较高或系统具有安全关键性,你可能希望投资编写每个点击或视图的测试代码。 如果您有任何想要我扩展的地方,请留下评论。

如果您能详细描述每个工具或服务以及示例或样本,那将是非常好的。 - c-an

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,