实用云,提供最全最实时的云市场资讯

手机站:/m

大带宽_艳照门百度云_企业级

时间:2020-10-31 09:59编辑:实用云来源:实用云当前位置:主页 > 服务器 >

创建端到端测试的最佳实践

针尖/合成纤维/浏览器测试/datadogBrowser(或UI)测试是端到端(E2E)测试的关键部分。它们对于监视关键应用程序工作流(如创建新帐户或将项目添加到购物车中)以及确保使用您的应用程序的客户不会遇到损坏的功能。但是浏览器测试很难创建和维护。它们需要时间来实现,并且执行测试的配置随着您的基础架构而变得更加复杂成长。就像在开发应用程序时,创建一个构建测试套件的计划非常重要,这些测试套件提供了适当的覆盖范围,并且易于长期采用和维护。在本指南中,我们将介绍一些创建测试的最佳实践,包括:定义测试覆盖构建高效、有意义的测试设计连贯且易于导航的测试套件创建通知,使团队能够快速响应问题。接下来,我们将向您展示Datadog如何帮助您遵循这些最佳实践使您能够轻松地创建和组织测试。定义测试覆盖率在开始创建测试之前,考虑应该测试哪些应用程序工作流非常重要。团队通常从目标开始,为每个特性创建测试,以达到100%的测试覆盖率。这就产生了常常太大而无法有效维护的套件;并不是每个工作流都适合E2E测试套房。测试覆盖率应该代表您的用户以及他们如何与您的应用程序交互。这需要识别常用的应用程序工作流与不太流行的应用程序工作流,因此您可以确定测试套件的范围,以便只包括为您的业务带来最大价值的工作流。这种方法将帮助您在测试覆盖率和可维护性。取决于就行业而言,其中一些关键的应用程序工作流可以包括:创建或登录帐户预订航班将项目添加到购物车并查看查看您公司的员工列表将直接存款添加到内部薪资系统中的帐户若要捕获有关应用程序常见工作流的数据,可以使用real等工具用户监视(RUM)。例如,您可以使用Datadog的RUM产品对您的应用程序执行分析,并确定应该将测试重点放在哪里。这可能包括您的应用程序的访问量最高的url,以及访问者使用的浏览器和设备。这为您提供了一个起点,您应该在E2E测试套件中包含哪些用户旅程。除了测试更流行的工作流外,还必须为不经常使用但对用户体验仍然至关重要的流创建测试。这可能包括恢复帐户密码或编辑配置文件。由于这些流的使用频率不高,在客户报告之前,您可能不会意识到功能损坏。为这些流创建测试使您能够在客户之前识别出损坏的功能是的。一次您知道哪些应用程序工作流需要覆盖,就可以开始构建高效的测试套件。下一步我们会告诉你怎么做的章节.构建对关键应用程序工作流进行有意义的测试显示您创建新的端到端测试的方法将决定它们是否能够充分测试您的关键应用程序工作流。这个过程需要合并正确的DOM元素(例如,输入字段或按钮)和执行必要工作流步骤的命令,以及确认应用程序预期行为的断言。如果没有一个明确的计划来概述如何处理一个特定的工作流,测试很容易变得复杂,有大量不必要的步骤、依赖关系和断言。这增加了测试的片状性和执行时间,使得及时排除故障和响应问题变得更加困难态度。那里您可以遵循以下几个最佳实践,这些实践将确保测试套件高效、易于新团队成员理解,并将减少团队的平均平均修复时间(MTTR):分解工作流使用较小的测试创建有意义的断言以验证预期的行为或适应您无法控制的因素的内置测试创建等幂测试来维护应用程序的状态我们将更详细地介绍这些最佳实践下一个。休息有重点测试的工作流对于创建不需要的测试很重要重复步骤并保持在正在测试的应用程序工作流的范围内。将工作流分割成更小的、集中的测试有助于您保持在范围内,减少维护点,并更快地解决问题。例如,用于验证签出工作流功能的测试不应包括创建新帐户的步骤。如果该测试失败,您不希望花费时间来排除故障是发生在签出还是在帐户上创造。确保测试用例的每一个步骤都严格遵循被测试工作流的步骤,最大限度地减少不相关步骤的数量,添加正确的断言来验证行为是创建集中测试的关键。即使是简单的测试,包含一些有意义的步骤和断言,也可以为测试应用程序。你在创建新的测试以保持在范围内并最小化步骤重复时,可以结合DRY原则(即"不要重复自己")。在Datadog中可以这样做的一种方法是使用子测试创建可重用组件。子测试将可重用步骤组合在一起,以便您可以跨多个测试使用它们。例如,您可以创建一个"login"子测试,其中包含登录到应用程序并在其他测试中使用它所需的步骤。上面的登录页测试使用登录子测试首先登录到站点自动。你还可以创建子测试来覆盖其他关键工作流,例如向购物车添加多个项目,或在继续签出之前从购物车中删除一个项目。创建更多可重用组件的另一个好处是可以将多个子测试合并到单个测试中。这样,当工作流更改时,您只需更新一个子测试,而不必更新多个测试。这也大大减少了为测试创建新步骤所需的时间,使您能够集中精力捕捉新的或更新的步骤功能。创建验证预期行为的有意义的断言或者构建高效测试套件的另一个方面是确保测试可以断言(或验证)重要的应用程序行为。测试断言是描述工作流逻辑的表达式(或步骤)。它们通过模拟用户在与应用程序交互时期望看到的内容,为测试增加价值。例如,断言可以确认用户被重定向到主页,并在用户登录到应用程序。那里是常用于测试:元素具有(或不具有)特定内容页面上存在(或不存在)元素或文本URL包含特定字符串、数字,或者常规表达式下载了一个文件发送了一封电子邮件并包含了某些文本这一点很重要,那就是只包含模拟用户在测试工作流中会做什么或预期会发生什么的断言。例如,对签出功能的测试只需要包含与签出相关的断言,例如验证购买确认。在上面的简单示例中,我们使用Datadog的开箱即用断言来验证用户在从电子商务网站购买商品后是否会看到确认。使用此断言,测试将在页面上查找特定的元素,并验证它是否包含预期的文本。对于这个例子,如果Datadog找不到元素,或者文本不存在,测试将失败。构建自动适应不可控因素的测试如果应用程序加载时间过长,测试通常会超时并失败。加载时间可能会受到一些因素的影响,例如意外的网络故障或使应用程序服务器过载的异常流量激增。这些不一致性可能会导致测试产生误报,降低它们可靠地将合法问题通知团队的能力。而硬编码测试等待步骤(一种常见的故障排除方法)会使测试变得更加不可靠。确保测试能够适应负载时间波动的最佳做法是将其设计为在执行(或重试)测试步骤之前自动等待页面准备好与之交互。通过这样做,测试将只在需要时执行或重试一个步骤(例如,当应用程序已加载时)。这不仅消除了手动添加等待步骤的需要,而且还允许您专注于合法的生产问题。为了例如,Datadog合成浏览器测试旨在定期检查页面是否准备好进行交互,然后再尝试完成该步骤(例如,定位元素、单击按钮等)。默认情况下,此验证过程将持续60秒,但您可以调整此值。如果Datadog无法在此期间内完成该步骤,则将其标记为失败并触发警报。添加这些类型的测试步骤有助于将通常由网络故障引起的故障降到最低,但是还有其他因素会导致测试产生误报。接下来,我们将简要介绍数据如何影响测试准确验证应用程序的能力行为。保持具有幂等测试测试的应用程序的状态依赖于干净的数据,以便在每次测试执行时重新创建相同的步骤,因此构建专用配置(例如,登录凭据,环境,cookies)仅用于测试套房。部分构建这些配置的过程之一是创建幂等的测试,这意味着测试在测试运行前后保持应用程序和测试环境的状态不变。例如,一个侧重于将多个项目添加到购物车的测试,应该有一个机制,以便在以后从购物车中删除这些项目。这减少了y中待处理测试订单的数量

上一篇文件存储_计算机数据库考试_12月免费

下一篇云服务器_mysql数据库怎么优化_免费

世界之最排行

世界之最精选