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

What's the difference between a UI test and an E2E Test? And What's the benefits of each?

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

搜索 UI test 会导致以下结果:

所以,我找到了这个

它说

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

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

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

端到端测试:需要识别系统依赖关系,确保正确的信息通过多个组件和系统。

我不明白 UI TestingE2E Testing 之间的区别。

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

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

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

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

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

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

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

I wrote UI Test Code in Android Studio. And I need to write a code for each and every click and view, etc. I feel why do we need this? I'd rather test with my finger directly and dynamically.

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

如果有任何您希望我扩展的观点,请发表评论。