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

问题描述 投票:0回答:1

我们的团队正在考虑根据用户场景开始测试。所以,我们正在选择一个E2E框架。

搜索

UI test
会导致以下结果:

所以,我找到了这个这个

它说

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

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

功能测试:产品质量保证过程,根据规范要求对组件或系统的功能/功能进行总体测试。

E2E测试:需要识别系统依赖性并确保正确的信息通过多个组件和系统。

我不明白

UI Testing
E2E Testing
之间的区别。

我在Android Studio中编写了UI测试代码。我需要为每次点击和查看等编写代码。我觉得为什么我们需要这个?我宁愿用手指直接动态地进行测试。

android unit-testing e2e-testing ui-testing gui-testing
1个回答
23
投票

让我们首先看看 E2E(端到端)测试和 UI 测试之间的区别:

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

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

UI 测试和 E2E 测试之间存在大量重叠。 IE。如果您在 UI 测试中测试表单,我也希望在 E2E 场景中测试该表单。主要区别在于覆盖范围,E2E 测试将尝试覆盖可能是表单的一种用途的场景。 UI 测试将涵盖用户可以使用表单执行的所有操作,包括输入错误数据。

E2E 测试的问题之一通常是,当测试失败时,您需要花一些时间找出哪个组件导致了失败。通过对每个组件进行测试(包括 UI 测试),其中一个组件的测试应该会出现相应的失败。

想象一下,由于登录按钮从 UI 中消失,您的 E2E 测试失败了。您的 E2E 测试会显示用户无法登录。这是因为 UI、API、凭证存储(例如数据库)、使用 SSO 时与外部服务的连接(例如 LDAP)吗?查看 UI 测试时,它还会显示用户无法登录,但现在您知道这是 UI 问题。

我在Android Studio中编写了UI测试代码。我需要为每次点击和查看等编写代码。我觉得为什么我们需要这个?我宁愿直接用手指动态测试。

与所有测试一样,每种类型测试的深度很大程度上取决于您的需求。在许多情况下,您描述的手动测试完全足够,通常是因为系统对安全性不敏感并且解决问题的成本很低。但是,如果解决问题的成本很高,或者系统对安全至关重要,您可能希望投资为每次点击或查看编写测试,这可能会很有用。

© www.soinside.com 2019 - 2024. All rights reserved.