当前位置: 首页 > 质量专栏 > 使用正确的工具使 e2e 测试更容易
使用正确的工具使 e2e 测试更容易
2022-08-22 浏览次数2585

端到端(在文本中进一步说明)测试非常重要,因为只有在测试整个系统时才能发现问题,从一端到另一端进行测试。

与范围较小的低级别测试相比,这也增加了 e2e 测试的更高级别的复杂性,使它们更长、执行更慢、潜在故障点更多,尤其是与微小且极快的单元测试相比。由于 e2e 测试带来了很多价值,我们不想忽视它们。我们还希望在进行 e2e 测试时让我们的生活更轻松,我们可以使用正确的工具来做到这一点。除了自动化我们的 e2e 测试之外,如果 e2e 测试没有自动化,我们还可以加快它们的速度。让我们更深入地了解我们可以做些什么来使 e2e 测试更容易和更快地执行。

如何使 e2e 测试更容易和更快地执行

分析e2e测试将带来的价值

考虑到前面提到的(e2e 昂贵且比其他测试慢),我们应该注意优先考虑我们被测应用程序的哪些部分需要覆盖 e2e 测试,以及哪些部分可以在较低的测试级别覆盖。在平衡成本和潜在的投资回报时,我们应该考虑到客户——对常见问题部分进行广泛的 e2e 测试不会像覆盖整个结帐或整个注册过程的 e2e 测试那样有价值。对最重要的客户旅程进行监控并使用 e2e 测试覆盖将增加显着级别的安全性——当旅程中的某些事情发生故障时会发出警报。这就是为什么需要定期运行这些类型的测试,例如夜间构建的一部分。还,

避免重复——在较低级别测试任何可能的内容

您实际上并不需要两个 e2e 测试来检查同一流程的各个部分——如果可能的话,应该避免这种情况。在单元级别检查所有业务逻辑并使用 API 自动检查涵盖更复杂的业务规则要便宜得多——这比使用 UI 检查相同的功能要快得多。保持少量的 e2e UI 测试,只检查给客户带来很多价值的东西。

利用云基础架构降低成本并提高速度

在本地使用云基础设施的优点是易于配置和资源可用性(几乎无限)。此外,云服务的价格一直在下降,因为云领域的竞争者越来越多。为此,您可以利用基于云的测试编排平台。

利用现有工具进行可视化测试

视觉回归测试可以捕捉到许多使用 Selenium 等工具很难检测到的问题,或者使用常规 UI 功能测试工具无法检测到的问题。如果通过视觉测试发现大量影响客户的问题,则可以避免。

诸如错误的元素颜色、各种尺寸检查、填充验证、布局问题(例如响应性)、文本相关问题和元素定位等问题可以很好地使用逐像素比较进行检查,可以运行跨越 3000 多种桌面和移动设备。自动视觉检查应该并行运行,以加快发布周期并加快测试执行速度,同时大大减少反馈循环。

视觉回归测试也是包含在 CI/CD 管道中的绝佳候选者。另一个有用的做法是利用扩展并将它们集成到您正在使用的其他工具中。

尽早将 e2e 测试包含到您的构建管道中

只要您有至少一个有效的 e2e 测试,您就应该将其包含到您的 CI/CD 管道中,或者如果您有计划的发布,请确保将测试执行作为构建过程的一部分。

将报告工具与您的 e2e 测试集成

鉴于 e2e 测试的成本高昂,拥有良好而详细的报告是从 e2e 测试中获得额外价值的好方法。有许多库允许您从自动化框架访问它们的报告功能(通常通过 API)。例如ReportNG、Allure报告、Report Portal等。这些库可以生成许多视觉上吸引人的报告,例如用于测试的饼图和状态栏,因此您可以直观地看到有多少测试通过、失败、被跳过, ETC。

对于失败的测试,您通常可以深入了解细节。但是,对于非测试人员来说,这些信息通常不是很有趣。请记住,它对测试人员、维护(以便他们可以调试失败的检查并修复它们或报告错误)自动化解决方案以及对开发人员非常有价值——如果你让他们参与自动化过程,这几乎总是一个好主意!

大多数现代测试管理工具还具有广泛的测试执行报告功能。

另一个很好的做法是将自动化报告连接到最常用的通信渠道,例如 Slack 通知、Teams 消息或类似渠道。它将帮助您了解诸如构建管道中的测试何时失败,测试执行的状态是什么等。从这个意义上说,您的 e2e 测试(尤其是如果您将它们配置为,例如,重复执行——就像作为夜间构建的一部分)可以充当警报——当重要功能停止工作或行为不端时及时警告您。在内部找到问题并解决它总是比让客户向您的支持部门报告要好,因为这可能意味着失去该客户以及许多其他有同样问题的人。众所周知,由于当今市场上有许多竞争对手,客户有很多选择,这意味着如果他们在使用您的应用时遇到问题,他们中的很多人甚至不会告诉您,他们只会转向竞争对手。因此,始终以客户的满意为首要任务!

e2e 测试的常用方法

以下是进行 e2e 测试时需要考虑的一些最重要的事情。

1、确保您的应用程序已正确部署并且可测试这将加快测试速度并防止发生某些问题,例如测试环境问题。对于这些事情,您可以使用云服务让您的生活更轻松一些。

2、确保完成其他测试活动——所有功能都已经单独测试过,集成点已经过测试,所有单元测试都通过了。这样做是为了确保系统运行良好,并且所有独特的部分都连接在一起并按应有的方式进行交互。在所有其他测试阶段都已完成后进行 e2e 测试。这意味着您应该等到所有单独的组件都经过测试。

3、牢记最终用户的体验。如果可能的话,与客户交谈,并与产品所有者和技术支持人员联系,以了解更多关于真实用户如何使用您的应用程序的信息。考虑到这些知识,您的 e2e 测试将更加有价值和成功。

4、当需要进行 e2e 测试时,请确保您有一个所有人都接受的流程。避免与测试过程发生重大偏差,因为这可能会导致发布速度变慢,并且可能会花费额外的时间和金钱。

结论

为了进行端到端测试,遵循商定的一套实践至关重要——以确保测试可行且具有成本效益。

e2e 测试背后的目标是什么?试着像用户一样思考,想象你是第一次使用这个应用,然后问一些问题。该应用程序是否易于导航,所有重要的用户选项是否都易于使用和访问?旅程对用户来说是显而易见的吗?这些功能的使用非常不言自明。用户能否从 a 点到达 b 点——比如完成注册或结帐流程?牢记测试的接受方面,并据此创建测试。

尝试使用 e2e 测试来覆盖应用程序中预期会出现很多问题的部分,以及对客户来说最重要的部分。尝试在此处使用基于风险的方法来确定要涵盖的内容。您可以使用决策表直观地确定某个功能的风险程度。

在进行 e2e 测试时不要测试异常,这可以在较低的测试级别覆盖,以节省资源并更快地测试。

定期维护您的 e2e 测试集——因为 e2e 测试覆盖了应用程序的大部分,它们通常比其他测试更长且更复杂。如果一个 e2e 测试在逻辑上可以分为两个或多个测试,那么您应该这样做,因为随着测试中的每一个新的大步骤(如应用程序中的整个屏幕或页面),测试的复杂性将显着增加,并且调试起来会更加困难,因为它会有多个故障点——这是进行 e2e 测试的最大痛点之一。

确保您的测试井井有条并使用一致的命名 - 最好通过阅读测试标题来了解它的作用,使其显而易见。

具有预定义的测试设置和拆卸 - e2e 测试将需要测试数据,并且通常也会写入数据库。请确保进行清理,因为您可能会冒重复数据的风险,这可能会导致错误避免。例如,如果您尝试使用同一电子邮件注册测试用户两次,例如主键违规。

尽早计划好您的 e2e 测试。您自动化的 e2e 测试也应该由真人手动检查,因为自动化会忽略很多问题 - 它只会检查您告诉它的内容。

此外,使用您的 e2e 测试来加快您的探索性测试——如果您有一个填写冗长表格的 e2e 测试,您应该使用它来节省时间。

根据项目的性质,您可能希望将端到端测试视为构建管道的重要组成部分。尽早准备 e2e 测试,在其中投入时间,并确保您拥有所需的资源,甚至在功能投入生产之前就能够进行 e2e 测试。祝你好运!

卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价

部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲       电话:4006070568


文章标签: 测试工具
咨询软件测试