slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
运用人工智能测试工具,提升API开发质量
17611538698
webmaster@21cto.com

运用人工智能测试工具,提升API开发质量

人工智能 0 1269 2024-08-29 04:05:02


现今,无论是企业还是个人,谈及人工智能都能引发热议。尤其是以ChatGPT、Bard为代表的大型语言模型(LLM),已经成为人工智能领域的热门话题。对于从事API产品开发的企业来说,运用人工智能可以提升其可靠性、效率、安全性与盈利能力。而实现这一目标的第一步就是开展API测试工作。

在AI旅程中,从API测试出发

API测试一贯被视作API构建流程中的终点,但是为何将其作为AI旅途的起点呢?这是因为这样做不仅允许探索AI的基本原理和实验操作,同时又不会影响到API的质量和性能。

何谓基本原理?

API测试的基本原则强调了测试的重要性,即测试越充分,API产品的质量越高。然而,测试也常常成为企业的瓶颈和成本中心。许多API团队深知应加强测试力度,但往往面临资源不足的困境。此时,人工智能的引入便显得尤为重要。

如何利用AI进行API测试? 

初涉AI领域,可能会感到迷茫,不清楚该选用哪种适当的工具和最佳实践。这时,唯有通过实验才能找到答案。从明确的API测试领域入手,无疑是明智之举。尽管AI可能对您来说是全新的概念,但测试方面的挑战却是熟悉的。因此,您可以清晰地感知到AI在测试过程中所起的积极作用。

借助“4P”框架进行AI实验


斯科特·贝尔斯基(Scott Belsky),一位知名的高管、作家、投资者和企业家,曾参与创立Behance,近期在LinkedIn上分享了他的团队如何开始使用人工智能的经验。他提出了一种名为“4P”的框架,适用于企业内所有团队,包括API测试团队:

发挥 - 让API测试团队能够接触和试用新的AI技术和工具,无需担心潜在风险。同时,也要保持开放心态,让团队自行探索。

试点 - 从小规模的试点项目开始,将AI应用于API测试的某个环节,以便团队成员积累经验。待试点项目取得成功后,再逐步扩大AI的应用范围。

保护 - 确保试点项目的目标或关键绩效指标(KPI)侧重于学习和探索,而非单纯追求收益增长。

激发 - 邀请API利益相关方提出关于在测试过程中使用AI的疑虑和问题。他们可能会关注AI在API测试中的伦理问题或者投资回报。解答这些疑问有助于在创新过程中规避重大失误。


“4P”框架有助于理解如何在API测试中最优地运用AI。对于大部分企业来说,AI的终极目标在于提升人力效率,而API测试正是实现这一目标的理想起点。接下来,我们将探讨AI在API测试中可能产生的多种助力。


提升现有的 API 测试实践

AI 是一个很棒的工具,但您的 API 测试流程中仍需要人为干预。API 团队可以先使用 AI 来提升现有的测试实践。尝试使用 AI 来改进用于 API 测试不同领域的数据:

  • API 测试规划 —您可以使用 LLM 来帮助您创建 API 测试计划。OpenAPI 已使用大量网络数据对 ChatGPT 进行了训练 — 您可以利用这些数据来制定更好的 API 测试计划。您可以输入一些 API 测试要求和 API 组件的一些详细信息,让 ChatGPT 生成包含设置说明和多个测试用例的测试计划。
  • 测试用例 —将一些示例测试用例输入 LLM,并要求其创建更多。向 ChatGPT 或 Bard 提供一些带有防护栏的提示,它可以生成更真实的 API 测试用例和复杂测试用例。LLM 还可以找到您的 API 团队可能没有考虑到的极端情况。
  • API 测试 —借助 AI,您可以根据数据格式和真实场景的叙述性描述动态生成 API 测试。您可以使用 LLM 创建基于领域专家知识的测试。基于 NLP 的 AI 可以理解自然语言测试要求并将其转换为可执行的测试脚本,从而使非技术利益相关者更容易参与 API 测试工作。

一旦您开始将 AI 融入到一些现有的 API 测试实践中,您就可以开始利用 AI 来更大规模地自动化一些测试流程。

自动化 API 测试流程以获得更好的覆盖率

如果您希望获得更好的测试覆盖率和扩展能力,您将需要自动化一些测试流程 — 而这正是 AI 的闪光点!AI 使您能够自动执行各种任务,从测试脚本的创建和执行到测试报告和测试环境管理。

  • 测试用例生成 — AI 可以比人类更快、更准确地分析用户行为、API 流程和代码结构。AI 收集和分析数据,为各种场景和边缘情况生成测试用例。使用 AI 算法分析 API 规范(例如OpenAPI 文档),并根据预期的输入、输出和端点自动生成测试用例。这可以显著减少创建测试用例所需的手动工作量,并且与手动生成测试用例相比,您可以获得更广泛的可能场景。
  • 测试执行和报告——人工智能驱动的测试自动化框架可以执行测试用例、监控响应并将其与预期结果进行比较。人工智能可以检测与预期行为的偏差并报告异常,从而让团队能够相应地测试 API。人工智能非常适合生成包含图表和图形的测试报告。报告可帮助团队成员和其他利益相关者了解 API 测试工作的影响。
  • 测试脚本维护 —您可以使用基于 AI 的 API 测试解决方案进行智能测试脚本维护。当 API 代码发生变化时,AI 辅助测试脚本维护工具将编辑和完善现有测试脚本,确保您的测试脚本随 API 一起发展。这减少了使测试适应不断发展的 API 所需的工作量。
  • 测试环境管理——AI可以通过配置资源、配置数据库和自动化 API 测试部署流程来帮助设置和管理测试环境。它可以确保测试环境具有真实的数据,并允许您随着需求的增长自动扩展 API 测试。一些基于 AI 的 API 测试工具还将自动安排、请求和预订测试环境。

当您准备将更多工作委托给 AI 或想要进行更大规模的测试时,这些商业和开源 AI 驱动的工具可能有助于实现 API 测试的自动化:

  • Functionize – 商业
  • Katalon——商业版,免费计划
  • Loadmill——商业版,免费试用
  • Mabl——商业
  • Postman – 商业版,免费计划
  • ReadyAPI(由 Stoplight 的新母公司 SmartBear 提供)– 商业版,免费试用
  • SoapUI(由 SmartBear 支持)– 开源
  • Testim – 商业、无社区计划
  • Testsigma – 商业、开源

因此,您已经应用了 4P,升级了现有流程,并自动化了一些 API 测试实践。不要止步于此!吸取您学到的 AI 经验教训,并利用它们来确保所有 API 的安全性和可靠性。

使用 AI 预测 API 故障点和漏洞

测试属于安全性和可靠性范畴,因此您应该使用 AI 加强 API 测试工作。使用 AI 可以从不同的角度了解问题所在。您可以使用 AI 进行测试以增强 API 安全性和可靠性,方法包括:

  • 预测分析——AI可以分析来自各种来源的数据(历史测试结果、API 日志、代码更改、用户反馈、错误报告),以识别 API 性能的模式或趋势。此分析可帮助测试人员预测潜在的 API 问题并确定测试工作的优先级,从而提供更安全、更可靠的 API。
  • 安全测试 —您可以使用 AI 通过分析 API 请求和响应数据中是否存在可疑模式或行为来识别 API 中的安全漏洞,例如SQL 注入或 XSS 攻击。LLM 可以提供真实场景作为 API 渗透测试的基础,而 AI 可以帮助您自动创建这些测试。
  • 负载测试 —基于 AI 的负载测试工具可以模拟数千个并发 API 请求,并根据系统行为动态调整负载级别。这有助于识别性能瓶颈和可扩展性问题。对许多不同的 API(包括 REST、RPC、SOAP 和超媒体)使用 AI 驱动的负载测试。
  • 异常检测 —使用 AI 持续监控生产中的 API 行为,并识别异常模式或与预期行为的偏差,帮助实时检测问题。AI 还可以检测 API 测试结果中的异常,从而发现错误或错误。

AI 非常适合分析数据和预测模式,因此使用它来查找潜在的 API 安全漏洞和故障点是有意义的。

AI + API 测试=为每个人提供更好的 API

AI 并非全是炒作——它是一种强大的工具,可以帮助您构建更好的 API。跟随 Martin Fowler 等行业专家的脚步,他们大胆展示了 AI 在编程中的可能性,例如自我测试代码。当您将 AI 纳入测试流程时,您可以确保您制作的每个 API 产品的安全性、性能和可靠性。


评论