如今,似乎每个人都在谈论人工智能,很多讨论都围绕着大型语言模型 (llm),例如 和 bard。如果您的公司开发 api 产品,那么人工智能可以使它们更可靠、更高效、更安全、更有利可图。如果您想使用人工智能开发更好的 api,那么 api 测试是一个很好的起点。
通过 api 测试开始您的 ai 之旅
测试通常发生在 api 构建过程的{banned}最佳后阶段,那么为什么要从那里开始您的 ai 之旅呢?这样,您就可以将 ai 的使用重点放在基础知识和实验上,而不会损害 api 的质量或性能。
基本面是什么?
api 测试的基本原理强化了这一理念——测试必不可少,测试越多意味着 越好。然而,测试也会给许多公司带来瓶颈和成本中心。许多 api 团队知道他们应该进行更多测试,但却很难投入资源。api 测试是提高效率的主要目标——而 ai 可以提供帮助!
你需要尝试什么
当您开始使用 ai 时,您不会知道要使用哪些正确的工具以及要遵循哪些{banned}最佳佳实践。ai 对您和 团队的每个人来说都是新事物,因此实验是唯一的出路。从 api 测试等范围明确的领域开始是有意义的。虽然ai 对您来说可能是新事物,但测试的挑战却并非如此,因此您会知道 ai 何时在过程中发挥良好作用。鼓励使用 ai 进行实验的一个好方法是使用“4p”。
应用4p框架
斯科特·贝尔斯基 (scott belsky) 是一位高管、作家、投资者和企业家,因共同创办 behance 而闻名,他{banned}最佳近在 linkedin 上发布了他的团队如何开始使用人工智能的文章。他的策略是一个他称之为“4p”的框架,你可以将它应用于整个企业的团队,包括 api 测试团队:
-
发挥 —让您的 api 测试团队能够使用新的 ai 技术和工具,让他们可以尝试这些技术和工具,尽管存在任何潜在风险。另外,不要指望天高地厚。让您的团队自己摸索。
-
试点 —从试点项目开始,团队可以将 ai 应用于 api 测试的一个领域并从中学习。试点项目成功后,让团队将 ai 应用于更多测试领域。
-
保护 —确保试点项目的目标或 kpi 鼓励试验。增加收入或转化率不是这里的目标。目标是学习。
-
激发 —邀请 api 利益相关者提出有关在测试过程中使用 ai 的棘手问题。他们可能会质疑 ai 在 api 测试中的道德性或投资回报率。回答棘手的问题可以帮助您在创新时避免代价高昂的错误。
4p 框架可以帮助您了解如何在 api 测试中{banned}最佳佳地使用 ai。对于大多数公司而言,ai 的{banned}最佳终目标是提高人类效率,而 api 测试是开始学习如何做到这一点的绝佳起点。让我们来看看 ai 可以提供帮助的几种方式。
提升现有的 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 测试凯发app官方网站的解决方案进行智能测试脚本维护。当 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。
-
安全测试 —您可以使用 ai 通过分析 api 请求和响应数据中是否存在可疑模式或行为来识别 api 中的安全漏洞,例如或 xss 攻击。llm 可以提供真实场景作为 api 渗透测试的基础,而 ai 可以帮助您自动创建这些测试。
-
负载测试 —基于 ai 的负载测试工具可以模拟数千个并发 api 请求,并根据系统行为动态调整负载级别。这有助于识别性能瓶颈和可扩展性问题。对许多不同的 api(包括 rest、rpc、和超媒体)使用 ai 驱动的负载测试。
-
异常检测 —使用 ai 持续监控生产中的 api 行为,并识别异常模式或与预期行为的偏差,帮助实时检测问题。ai 还可以检测 api 测试结果中的异常,从而发现错误或错误。
ai 非常适合分析数据和预测模式,因此使用它来查找潜在的 api 安全漏洞和故障点是有意义的。
ai api 测试=为每个人提供更好的 api
ai 并非全是炒作——它是一种强大的工具,可以帮助您构建更好的 api。跟随 martin fowler 等行业专家的脚步,他们大胆展示了 ai 在编程中的可能性,例如自我测试代码。当您将 ai 纳入测试流程时,您可以确保您制作的每个 api 产品的安全性、性能和可靠性。
文章来源:https://www.explinks.com/blog/build-better-apis-with-ai-powered-testing-tools/