掌握API建模:基本概念和实践
6款用于API测试与开发的AI工具
API 使软件系统之间的无缝交互成为可能。无论是简单的界面还是更复杂的界面,许多抽象细节都对用户隐藏。由于 API 设计、开发和测试需要投入大量精力和规划来确保其安全性、可靠性和性能,因此使用 AI 工具进行 API 测试和开发有时可能会更有效。
在本文中,我们将介绍六种这样的 AI 工具。首先,我们将比较手动为 API 编写测试与使用 AI 编写测试所需的时间。然后,我们将介绍 AI 如何加快 API 的编写和执行测试,以及如何防范 AI 的幻觉、虚假测试用例或其他有问题的结果。
手动测试与自动测试
为 API 编写测试所需的时间可能会有很大差异,具体取决于许多因素,包括所需的测试用例数量、API 复杂性以及测试人员或开发人员的经验。
对于具有众多端点、边缘情况和场景的复杂API,手动测试可能既耗时又容易出错。要创建一个涵盖所有场景的全面测试套件,可能需要数天甚至数周的时间。
自动化可以显著加快为 API 编写测试的过程。在许多情况下,AI 驱动的工具可以在几分钟或几小时内生成测试用例,而手动测试则需要几天或几周的时间。
Postbot 由 Postman 提供
Postbot 是 Postman 中 API 工作流的 AI 助手。借助 Postbot,您可以编写测试脚本和文档、可视化大量响应数据、排查 API 请求问题,并通过自然语言输入、对话交互和上下文建议提高工作流程效率。
Postbot 的最早版本于 2023 年 5 月发布,当时用户可以使用它添加基本的 Postman 测试并编写 FQL(Flows Query Language,流程查询语言)。随后,在 7 月,Postbot 迎来了重大更新版本。此次发布引入了多项新功能,包括自然语言支持、为集合生成测试套件、识别用户意图并将其映射到相关的应用内任务、可视化 API 响应以及生成测试脚本。
Postbot by Postman 作为附加组件免费提供,可以试用免费的 Postman 计划,每个用户每月的活动数量有限。
Postbot 功能
- 生成自动测试脚本:Postbot 使用生成式 AI 模型生成测试脚本和文档,为您节省工作时间并轻松保持文档最新状态
- 响应数据可视化:手动扫描或读取大型响应 (JSON) 数据集可能既乏味又耗时。使用 Postbot,您可以简单地提示或指示该工具将数据可视化为条形图、表格、图表等,以满足您的需求
- 应用内 AI 支持:当您在使用 Postbot 时遇到问题时,您可以轻松地向 Postbot 寻求应用内支持,而不是在线搜索可能的解决方案
Postbot 优点
- Postbot 与 Postman 无缝集成,它作为附加组件提供给所有 Postman 用户
- Postbot 使用智能推荐系统推荐提高 API 质量的方法
- 使用 Postbot 可以提高测试质量,同时涵盖各种场景和边缘情况
- 它适用于各种规模的团队,从个人到企业团队
Postbot 缺点
- Postbot 仅在 Postman 环境中可用,并且仅限于 Postman 用户
- Postbot 生成的测试脚本可能需要额外的验证以确保准确性
- 管理 AI 模型生成的相关误报和漏报可能具有挑战性
- 与任何 AI 测试工具一样,编写精心设计的提示是一项关键挑战
LintGPT by Optic
LintGPT 是一款强大的 AI 工具,旨在提升 API 规范的一致性和质量。它采用经过精细调整的 AI 算法来理解和应用您编写的规则和规范,这些规则和规范适用于 OpenAPI 定义文档。此外,LintGPT 还能使用自然语言自动编写 API 样式指南。
LintGPT 使用 AI 来自动化 linting 过程,确保 API 标准,并为组织内的 API 治理做出贡献。最终,LintGPT 通过简化 OpenAPI 的使用,帮助开发团队提供更好的 API(文档和设计)。
注:在撰写本文时,LintGPT 处于测试阶段,仅适用于 Optic 云客户。
LintGPT 的工作原理
LintGPT 支持 OpenAPI 及其他规范格式。通过使用 Optic CLI 工具,可以将规范文件导入 LintGPT。一旦导入后,LintGPT 会对文档进行扫描,检查语法和 API 结构、命名规范的一致性、HTTPS 方法的适当使用、参数描述的准确性、状态码的正确性等内容。
将标记这些问题,并在必要时提出更正建议。LintGPT 的一个关键功能是强制执行可自定义的 linting 规则。用户设置测试的 API 规范所依据的 linting 规则。例如,其中一条规则规定如下:Properties that sounds like they are dates should use “format: datetime or format: timestamp”
Properties that sounds like they are dates should use "format: datetime or format: timestamp"
由于此规则,Optic 将审查 OpenAPI 规范,每当它发现听起来像日期的属性(例如 )时,就会引发以下错误和建议:creationDate
⚠ [format-date] The property name 'creationDate' sounds like a date. Please use format: 'datetime' or 'timestamp'
分析成功后,LintGPT 会生成综合报告,其中包括 API 规范中发现的所有问题,每个问题都附有解决问题的建议。
LintGPT 功能
- LintGPT 检查 API 规范中的不一致
- 自动化规范检查:为确保 API 规范符合行业标准和最佳实践,LintGPT 使用 AI 分析 API 规范并确定需要改进的领域
- 提供有关已识别问题的准确和详细报告,并提供解决已识别问题和提高文档准确性的建议
- 允许用户编写 linting 规则以满足其项目要求
LintGPT 优点
- 通过自动检测不一致并提出可能的改进方法,确保高质量的 API 设计和文档
- 帮助 API 文档与 API 行为保持一致
- 允许用户编写 linting 规则
LintGPT 缺点
- 使用范围仅限于 API 文档和规范,因为它并不全面涵盖 API 测试和开发
- 使用 LintGPT 需要访问 Optic 平台
- LintGPT 提供的建议可能仍需要进一步的人工审核,作为确认准确性的额外步骤
- 在复杂的 API 中,LintGPT 可能无法捕获所有可能的 linting 不一致
IBM API 连接
IBM API Connect 是一种 API 管理解决方案,可帮助用户跨云和本地创建、运行、保护、社交化和管理 API。它适用于以下使用案例:
- 不断变化的安全要求
- API 生命周期管理或版本控制
- API 数量的显著增加将需要一个全面的 API 管理工具(如 IBM API Connect)来管理它们
IBM API Connect 由一套全面的工具组成,用户可以利用这些工具来管理整个 API 生命周期。它提供了有用的功能,包括 API 创建、测试、安全性和 API 分析仪表板。
使用 IBM API Connect,您可以在一个集成的平台上执行 API 生命周期的所有步骤,从而无需使用多个 API 管理平台来实现相同的功能。IBM API Connect 的目标是提供一个统一且可扩展的 API 管理平台,使企业能够推广其 API。
如何使用 IBM API Connect
以下是使用 IBM API Connect 的步骤:
- 创建 API:IBM API Connect 提供直观的图形用户界面,用户可以使用该界面设计 API 或从现有 OpenAPI 规范导入 API 定义。创建 API 后,需要对其进行测试。只需在 IBM API Connect 上单击几下按钮,用户就可以使用 AI 生成测试用例
- 管理 API:下一步是管理 API。IBM API Connect 使企业能够在整个 API 生命周期内轻松管理其 API。它允许开发人员更新和管理不同版本的 API,同时允许现有用户继续使用它。为了确保 API 以最佳方式执行,使用 IBM API Connect 的企业可以实施多种使用策略,例如 API 速率限制、CORS(跨域资源共享)和 IP 黑名单
- 安全 API:IBM API Connect 提供了一系列功能,以确保对 API 的安全访问。企业可以使用 OAuth、OpenID Connect 和第三方服务实施 API 安全措施,例如身份验证和授权
- 社交化 API:IBM API Connect 包括一个基于 Web 的内置开发人员门户,其他开发人员可以通过该门户与您的 API 进行交互、使用和社交化。开发人员或企业可以通过设置定价套餐或使用限制,通过开发人员门户通过其 API 获利
IBM API Connect 功能
AI 网关
使用 IBM API Connect 的企业可以通过 API 访问 AI 服务。它有助于组织在其应用程序与第三方 AI API 之间建立连接。AI 网关在这些系统之间流动的数据和指令方面充当管理和控制的角色。它提供了一个策略框架,用于管理如何在应用程序中使用 AI API。
API 网关
IBM API Connect API Gateway 是一个基于 IBM DataPower 设计的企业级网关,用于安全地公开本地或跨云的业务应用程序和数据。它提供了一套全面的流量管理、安全策略以及对非 HTTPS 协议的支持。此网关充当与其他与您的 API 交互的应用程序之间的守门员,并最终在运行时帮助保护您的 API。此外,它还会将 API 交互记录并报告到 IBM API Connect 分析仪表板,以便您深入了解。
API Manager
IBM API Connect 提供了一个 API Manager 用户界面,开发人员可以使用该界面在其整个生命周期内管理、组织、发布和分析 API。它使开发人员能够对其 API 进行版本控制,并完全控制使用者(包括内部和外部使用者)的 API 可见性。
API testing
为了确保 API 契约的效率、可靠性和可信度,IBM API Connect 为开发人员提供了强大的测试功能,该功能利用 AI 和自动化来测试 API,而无需手动编写测试。
现在我们已经了解了 IBM API Connect 的各种功能,让我们探讨一下它的优缺点。
IBM API Connect 优点
- 提供全面的 API 生命周期管理流程
- 帮助开发人员跨云和本地管理 API
- 提供内置的 API 分析仪表板,帮助企业做出明智的决策
- 提供一系列安全措施,以确保 API 安全可靠
- 为内部和外部用户公开 API
IBM API Connect 缺点
- IBM API Connect 对于预算有限的企业来说并不经济高效
- 虽然 IBM API Connect 平台功能强大且全面,但对于小型团队和缺乏经验的开发人员来说,导航起来可能很麻烦和复杂
- 刚接触 API 管理工具的初级开发人员可能会发现它很难使用
- 严重依赖 IBM 生态系统
Apigee
Apigee 是一个 Google Cloud 原生 API 管理平台,可用于构建、管理和保护 API。它成立于 2004 年,前身为 Sonoa Systems,然后于 2010 年更名为 Apigee。它在 2016 年被 Google 收购后并入 Google Cloud。
2023 年,Google Cloud Next 将 Duet-AI 引入 Apigee API 管理和应用集成,使开发者能够构建 API、集成流程和扩展程序,通过 API 将 Vertex AI 或 ChatGPT 连接到真实世界的数据。
Apigee 支持 REST、GraphQL、gRPC 和 SOAP,可灵活地轻松实现不同的 API 架构样式。Apigee 提供高性能 API 代理,为您的后端服务创建一致且可靠的接口。它通过提供对跨多个后端服务器实例的负载平衡和故障转移的内置支持来增强 API 的可用性。
Apigee 是一个完整的 API 管理平台,可供 API 的创建者和使用者使用。
Apigee 功能
- API 部署:Apigee 支持异步部署。部署后,使用 Apigee 开发的 API 可供内部和外部用户使用
- 环境组:Apigee 环境组是定义将请求路由到各个环境的方式的基本机制。您可以在环境组(而不是单个环境)上定义主机名,然后 Apigee 使用这些主机名定义将请求路由到组内的环境。这是在 Apigee 中创建和部署 API 代理的软件环境
- 策略制定:Apigee 允许组织在 API 产品上实施使用策略,例如速率限制、流量配额和请求/响应转换。此管理有助于确保按照既定准则使用 API 产品,从而阻止可预防的问题和未经授权的使用
- 变现:Apigee 支持 API 变现。作为 API 提供商,您需要一种易于使用且灵活的方式来通过 API 获利,以便在使用 API 时都能产生收入。使用 Apigee 的获利功能,您可以向 API 产品添加费率计划。通过费率计划,您可以向开发人员收取使用 API 的费用。您还可以配置费率计划以与开发人员分享您的 API 收入
- 安全性:Apigee 提供了先进的 API 安全功能,该功能会持续监控您的 API,以保护它们免受包括来自恶意客户端的攻击和滥用在内的安全威胁。此安全功能会分析您的 API 流量,以识别可疑的 API 请求,并为您提供工具来阻止或标记这些请求(如果您决定这样做的话)。此外,API 安全功能还会评估您的 API 配置,以确保它们符合安全标准,并在需要时为您提供改进建议。
Apigee 优点
- API 可发现性:Apigee 为 API 创建者提供了一个以开发人员为中心的门户,客户端应用开发者可以在其中发现您的 API,查找使用它们构建应用所需的文档,并注册为应用开发者,以便与任何更新或更改保持同步
- API 可靠性:Apigee 为 API 管理和使用提供了一致的接口。您可以在代理级别执行 API 的安全性、流量管理和效率策略。使用 Apigee 代理,您可以将 API 使用者与后端服务隔离开来。这意味着您可以更改后端,同时允许客户端应用程序不间断地使用您的服务
- API 洞察:Apigee 提供高级 API 安全、API 监控和分析功能,使 API 创建者能够保护对其服务的访问,通过警报监控正常运行时间和流量,并深入了解其 API 的使用情况
Apigee 缺点
- 成本: Apigee 可能很昂贵,尤其是对于中小型企业而言。它的定价是为企业量身定制的,并且成本会随着 API 流量和高级功能的增加而迅速上升
- 平台复杂性:该平台的广泛功能集可能会让小型团队或不熟悉 API 管理的组织不堪重负。除非仔细管理,否则添加的功能和安全层可能会带来性能开销,尤其是在高流量场景中
- 迁移成本:由于平台的复杂性和对大量配置的需求,从其他平台迁移到 Apigee 的组织可能会面临挑战
Testsigma
Testsigma 是一款可靠的基于 AI 的测试工具,它具备多种功能,可通过自然语言处理来创建自动化测试。它是基于云的,因此无需安装或设置,即可用于测试各种类型的软件应用程序。
Testsigma 以其无代码自动化方法而闻名,技术和非技术用户都可以使用它。凭借其 AI 功能,Testsigma 加快了创建、执行和维护 API 测试的过程,确保软件团队能够更快地交付高质量的应用程序。它还提供增强的安全性、广泛的测试实验室、项目和审查管理以及强大的报告功能。
Testsigma 功能
Testsigma 是一个基于云的低代码平台,用于端到端测试。它提供以下功能:
- NLP 支持的测试:使用自然语言处理以简单的英语编写测试,以解释和执行测试
- 用户和角色管理:轻松管理多个项目
- 版本控制:使用 Testsigma 的版本控制功能管理和迁移测试版本
- 报告和分析: Testsigma 提供全面的报告,可帮助您跟踪状态、识别故障、分析性能,并最终在必要时提供建议
- 多环境支持:Testsigma 支持跨各种环境和平台(包括 Web、移动和桌面)进行 API 测试,确保在不同的部署场景中实现一致的性能和功能
Testsigma 优点
- 无代码测试创建和自然语言处理使所有技能水平的用户都可以访问 Testsigma,从而缩短学习曲线
- Testsigma 的 AI 功能(包括智能测试建议和故障分析)可优化测试过程并提高整体测试覆盖率
- Testsigma 支持广泛的环境和平台,使其成为用于全面 API 测试的多功能工具
- 详细的实时报告和 AI 驱动的洞察可帮助团队快速识别和解决问题,确保高质量的软件交付
Testsigma 缺点
- Testsigma 可以熟练地管理测试执行。但是,处理复杂的测试数据场景有时会带来挑战
- 尽管 Testsigma 拥有多功能 API,但与鲜为人知的工具或特定版本的某些集成可能会遇到障碍
- 可能需要一些时间来学习平台,尤其是对于刚接触 API 测试的用户
- 虽然 Testsigma 提供免费计划,但更高级的功能被锁定在 Professional 和 Enterprise 计划之后,这对于较小的团队来说可能会很昂贵
- 该平台对 AI 的测试建议和故障分析的依赖可能并不总是符合特定的测试需求,并且可能仍需要人工干预以确保准确性
Katalon Studio
Katalon Studio 是由 Katalon Inc. 开发的一款多合一自动化测试软件工具。它于 2015 年 1 月首次发布供内部使用,到 2016 年 9 月,它已可供公众使用。
Katalon Studio 提供了一个平台,可解决 API 测试和开发中所需的复杂性和彻底性。它为用户提供了双脚本接口,以满足不同编程技能的需求。Katalon 直观的集成开发环境(IDE)功能有助于其易用性,因为它支持调试、代码建议和语法高亮。这意味着技术知识有限的测试人员可以使用无需编写代码的简化用户界面。它支持跨浏览器功能,可用于 Web、移动、Windows 桌面和 API 测试。
Katalon 定价计划范围从免费到付费(Premium 和 Ultimate)计划。在撰写本文时,其高级计划的费用为 175 美元/用户/月。
Katalon Studio 功能
以下是使 Katalon Studio 成为 API 测试强大工具的一些功能:
- 通过使用 AI,Katalon 以英语提供详细的缺陷分析。它为代码改进提供建议,确保在部署之前实现稳健的性能
- 跨浏览器支持:Katalon Studio 支持跨多个浏览器(包括 Chrome 和 Firefox)进行测试,从而提高 Web 测试效率,确保应用程序在不同环境中执行一致。
- 内置直观的 IDE:包含专用 IDE 使脚本创建和调试更加方便和量身定制,支持各种编程语言,适用于详细的测试场景
- Katalon Studio 的 Object Spy 功能通过实时捕获 Web 元素、生成其唯一选择器(如 XPath)和提高测试脚本精度来简化测试对象的创建
- 使用不同数据集运行参数化测试的能力增强了测试覆盖率,并确保 API 有效地处理各种场景
- Katalon Studio 的无代码自动化允许您使用简单的拖放界面创建 API 测试用例,而无需编写代码。此功能使具有不同技术专业知识水平的测试人员都可以使用
Katalon Studio 优点
- Katalon Studio 的无代码自动化和直观的界面使其可供所有技能水平的用户访问,从而缩短学习曲线
- 该工具能够与流行的 CI/CD 管道和其他平台(如 git 和 JIRA)顺利集成,从而增强了以 DevOps 为中心的工作流程,这是一个巨大的优势
- 多平台支持使其成为首选 API 测试工具的绝佳选择
Katalon Studio 缺点
- 由于 Katalon 的复杂性,初学者和绝对初学者可能难以使用并与其他外部服务集成
- 在测试执行期间,Katalon Studio 可能会占用大量资源,这可能会减慢同一台计算机上的并行任务
- 虽然无代码自动化是一项优势,但对于需要对复杂测试场景进行更多控制的高级用户来说,它可能会受到限制
AI 幻觉的担忧
基于 AI 的工具可以显著加快编写 API 测试的速度,但重要的是要意识到可能出现幻觉的潜在风险。当 AI 模型生成错误的输出时,就会发生幻觉。这些幻觉可能由多种原因引起,比如 AI 误解 API 规范、过度泛化模式,或者仅仅生成了看似正确但缺乏准确性的输出。
以下是防止幻觉的策略:
- 始终查看 AI 生成的测试用例
- 使用经过适当教育、测试和训练的 AI 模型
- 持续监控和跟踪 AI 模型随时间推移的性能,以了解其结果的一致性或不一致性
结论
人工智能工具为开发人员和测试人员提供了广泛的选项来开发和测试他们的 API。每个工具都有其独特的主张。
在本文中,我们讨论了一些用于 API 测试和开发的最佳 AI 工具,探讨了它们的功能、优缺点和定价计划。我们还探讨了 AI 幻觉的概念以及如何防范它。
原文来源:https://blog.logrocket.com/6-ai-tools-api-testing-development/