如何自动处理具有大量请求有效负载的REST API测试

您如何在短短几秒钟内得到几十个REST API测试用例的套件,这些用例都具有非常大的请求负载?采用科学的测试方法有助于建立与REST API测试自动化的一致性,但即使是科学家,也时不时需要帮助。

如何自动处理具有大量请求有效负载的REST API测试

您如何在短短几秒钟内得到几十个REST API测试用例的套件,这些用例都具有非常大的请求负载用科学的测试方法有助于建立与REST API测试自动化的一致性,但即使是科学家,也时不时需要帮助。

测试人员是我们的应用程序与日益精通技术的受众之间的最后一道防线。如果我们将存在缺陷或性能问题的应用程序部署到市场中,那么我们的客户将无法忍受。结果,测试人员必须精明并且能够以最有影响力的方式测试现代应用程序。但是测试是一门科学,需要您采用系统的方法来验证应用程序。

测试是一门科学

但是,即使采用科学的测试方法,软件测试也并非如此简单。测试人员通常会经历以下过程:

  1. 提出一个问题,通常是关于应用程序的行为。(需要大量的创造力。)
  2. 做背景研究,以了解多个接口(Web、移动、API等),如何准确测试它们以及应用程序应如何运行。
  3. 构造一个假设(即断言和回归检验)。基于对应用程序“应如何工作”的理解,您可以设置表示期望的变量。
  4. 通过构建测试来测试您的假设(以最有意义的方式,以便您可以证明或反驳假设(主张/回归)。
  5. 分析您的结果并得出结论。在运行测试并接收结果之后,您可以手动解释以查看它们是否符合您的期望,或者可以自动执行测试以仅在测试失败时收到警报。
  6. 将结果传达给更大的软件交付渠道,以便组织可以就是否继续进行应用程序做出有意义的决定。

测试不是一件容易的事,因此我们需要获得构建这些有意义的实验所需的所有支持,这些实验可以提供有意义的反馈以确保我们的应用程序正确构建。作为测试人员,我们之间相互交流发现的任何方法都非常重要,这对使测试变得更加容易!在这里,这些方法之一。下面,我将解释我最近遇到的REST API测试挑战,并分享如何解决该问题。


具有大量请求有效负载的REST API测试

现代的Web应用程序将RESTful JSON API调用从浏览器发送到服务器,因为JSON数据易于被JavaScript代码使用。但是使用JSON数据创建测试自动化脚本并不总是那么容易。最近,由于我正在测试的服务中存在大量JSON请求有效负载,我遇到了测试上的头痛事,不过我能够使用Parasoft SOAtest的新Smart API Test Generator来提供帮助。

与大型请求有效负载不同,大型响应有效负载易于测试人员处理。致电服务,保存响应,然后与将来的响应进行比较。去除所有可能随时更改的值,例如日期或时间戳。冲洗并重复。但是,所有这些都首先要调用服务。对于较大的请求有效负载,您需要在进行每个服务调用之前配置大量数据,并且需要确保所有数据都是正确的。当然,您可以从浏览器开发人员工具中复制和粘贴,但是通过许多REST API调用,这意味着大量复制和粘贴。这就是为什么现在能够使用Smart API Test Generator令人兴奋。

我最近的项目涉及一个用于与LDAPActive Directory服务器集成的Web配置页面。这个概念很简单:配置设置,然后通过列出用户帐户和组帐户进行测试。问题在于LDAP配置中有很多设置,而测试这些设置需要在请求有效负载中发送所有设置。此外,需要额外的电话来测试每个组的成员资格。每个请求最终都是几百行JSON数据。

如何自动处理具有大量请求有效负载的REST API测试

我正在努力增加对新会员策略的支持。我关心的唯一JSON数据在第10行,但是仍然需要其他所有数据行才能使整个过程正常运行。因此,我将配置页面设置为指向具有测试数据的LDAP服务器,然后使用Parasoft SOAtest Smart API Test Generator扩展(适用于Chrome)打开了录制功能。我单击按钮来测试用户和组,然后展开每个组以查看成员。每次单击时,都会对Web服务器进行一些REST API调用。

如何自动处理具有大量请求有效负载的REST API测试

假设是,成员资格策略将影响预览中的组和成员。我在配置页面上更改了成员资格策略,然后再次单击测试数据。在视觉上,我可以在对话框中看到不同的组成员资格结果。我对手动测试感到满意,因此停止了记录并生成了一套非常智能的API测试:

如何自动处理具有大量请求有效负载的REST API测试

是这样——在几秒钟内,我进行了一套包含几十个REST API测试的套件,这些套件都具有非常大的请求有效负载。在请求之间仅更改了一些属性,例如组名和成员资格策略,但这足以获得响应的变化并为每个请求保存差异控件。它甚至足够聪明,可以从第一个组预览响应中提取组名并将其存储在数据库中,以便在以下测试中进行参数化使用。看到所有测试均通过,这使我有信心我的新会员策略功能可以正常工作。

所有这些都是使用带有测试数据的LDAP服务器而不是真实用户帐户完成的。我可以确保测试数据不会改变,但是真实的用户会随着时间的流逝而变化。更改数据会在自动测试回归控件中产生大量噪音。如果您的应用程序没有稳定的测试数据,建议您检查一下Parasoft Virtualize提供的Web服务或数据库虚拟化。

我的测试挑战已解决

正如我在本文开头所讨论的那样,采用科学的测试方法有助于建立一致性。但是,即使是最好的科学家,也时不时需要帮助!我上面描述的技术就像使用高倍显微镜而不是放大镜。这是一个非常复杂的过程,这是一个重大的飞跃,至少对我而言,这极大地帮助了我加快了测试挑战。希望对您也一样。测试愉快!

如何自动处理具有大量请求有效负载的REST API测试
标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐

发表回复

登录后才能评论