API 已成为现代数字生态系统的支柱,实现了不同系统、应用程序和服务之间的无缝集成和交互。组织越来越依赖 API 来提供强大的功能、增强用户体验并提高运营效率。此外,API 在未来由 AI 驱动的系统中扮演着更重要的角色。新一波的 AI 就绪性和代理消费者推动了与 AI 相关的 API 创建量惊人的 800% 增长,这进一步强调了设计结构化、可互操作和 AI 就绪 API 的重要性。
然而,随着对 API 依赖的增长,确保其质量的重要性也随之增加。API 质量直接影响安全性、可靠性以及人工开发者和代理的体验(通常称为开发者体验和代理体验)。测试不充分的 API 不仅会使组织面临安全漏洞,还可能导致功能故障、服务中断和用户满意度下降。其中任何一项或所有这些都将对 API 生产者和消费者造成严重影响,并损害声誉和利润。
SmartBear 一直致力于整合我们 API 产品组合中各种一流的工具。今天,我们很高兴推出最新功能——SmartBear API Hub 中的集成功能和自动化测试能力API Hub for Test,它使团队能够在整个生命周期中提供 API 质量。
图 1 – SmartBear API Hub 现已包含测试功能
API 质量的重要性
随着 API 日益成为数字化转型和 AI 集成策略的核心,与 API 质量相关的风险显著上升。超过60% 的技术专业人士估计停机时间给他们的组织造成每小时至少 10 万美元的损失,其中三分之一表示每小时成本高达 50 万美元。随着 API 的普及,此类财务风险突显了彻底的 API 测试实践对于主动识别和缓解潜在故障的重要性。
API 安全问题仍然是一个长期存在的问题。最新的 OWASP API 安全十大报告强调了常见的漏洞,例如对象级别授权失效和用户身份验证失效,这强调了进行严格测试以防止代价高昂的数据泄露和未经授权访问事件的必要性。
另一个紧迫的问题是 API 漂移——API 文档或规范工件与实际实现之间的不一致。这种情况通常因 API 生命周期中最长的部分处于“生产”状态而加剧,这意味着变更非常可能且通常是必要的。如果未能建立确保测试与设计同步持续演进的流程,那么漂移就成为一个非常现实的问题。最近一项对超过 6.5 亿次 API 调用的行业分析发现,75% 的生产 API 偏离了其发布的 OpenAPI 规范。这种漂移会显著中断集成、降低功能并暴露漏洞,进一步突显了持续集成测试策略的必要性。
这些挑战是 SmartBear 持续构建内聚 API 生态系统过程中的核心焦点。我们正在集成 API 编目、探索、契约测试、与网关无关的 API 门户以及现在改进的测试功能。这种集成方法确保测试实践与不断发展的 API 设计保持一致,有效缓解 API 漂移。通过在提供者侧进行功能测试,在消费者侧进行契约测试,我们确保 API 保持可靠、安全和高性能,同时改善协作和团队工作流程。
图 2 – SmartBear API Hub – 实现 API 赋能的开放核心方法
推出 API Hub for Test
API Hub for Test 构建于 SmartBear API Hub 之内,它统一了 API 设计、治理、测试和文档。这种紧密结合的体验有助于消除架构、开发和质量保证团队之间的传统隔阂,从而简化协作并提高生产力。
质量保证团队通过直接从准确、最新的 API 设计工件(例如 OpenAPI 文档)启动测试而受益匪浅,从而最大程度地降低测试漂移和不必要返工的风险。API Hub 中的测试功能通过提供直观的低代码/无代码测试能力,支持现代敏捷和混合团队,促进质量保证人员和开发人员之间的实时协作。其易用性降低了对高技术自动化工程师的需求,并使手动测试人员能够获得与自动化相关的时间节省优势。
无论您是刚开始接触 API,还是拥有庞大的 API 组合,我们的新功能都能通过内置断言、可重用测试资产以及与持续集成和持续部署 (CI/CD) 工作流的无缝集成来简化功能测试、回归测试和集成测试。它旨在根据组织需求轻松扩展,支持顺序和并行执行,并与团队使用的更广泛工具集(如 GitHub、Jira 和 Slack)提供大量集成。
通过直接集成到现有工作流程中,API Hub for Test 将自身定位为寻求在整个 API 测试过程中实现清晰度、速度和一致性的现代团队的理想解决方案。
开始使用 API Hub for Test
为了展示集成测试体验的价值,我们来实践一下:
- 从 API 目录开始: 访问我们示例 Payees API 的 OpenAPI 描述。在标准化和治理检查的指导下,朝着设计候选方案进展。
- 手动探索: 使用探索功能手动探索 API 的表面区域,深入了解其功能。
- 自动测试用例创建: 过渡到新的测试功能,直接从 API 目录导入 OpenAPI 描述以自动生成测试用例。
- 测试用例设置: 创建覆盖三个主要 API 端点的测试用例,配置预期状态码的断言,并使用变量注入链接请求。
- 创建冒烟测试套件: 利用创建的测试用例组装一个冒烟测试套件。配置电子邮件和 Slack 通知,以便在发生任何测试失败时提醒您。
- 本地代码测试: 使用本地隧道对本地运行的代码执行冒烟测试。覆盖环境变量以指向本地运行的 Azure 函数,确保在云环境和本地环境之间进行稳健的测试。
您可以使用您的 API Hub 订阅或点击几下即可设置免费试用版,跟随操作。
步骤 1. 在 API 目录中导航到 API
图 3 – 使用治理标记导航和审查 OpenAPI
我们首先打开 API 目录(在 API Hub for Design 中),然后导航到我们的示例 Payees API。在这里,我们打开 OpenAPI 描述,并开始着手设计候选方案(或审查并熟悉 API 提供的功能)。标准化和治理检查会自动应用,以确保一致性和合规性。
步骤 2. 手动探索
图 4 – 使用探索功能与 API 端点交互
接下来,我们使用探索功能交互式地发现 API 的表面区域。这有助于我们更深入地了解其行为,并验证关于请求/响应模式的假设。
步骤 3. 从 OpenAPI 自动化创建测试
图 5 – 从目录导入 OpenAPI 并预览测试用例
导入 OpenAPI 描述后,我们启动 API Hub for Test,并直接从目录中导入规范。这将自动生成一组与 API 端点对齐的基线测试用例。
步骤 4. 测试用例设置
图 6 – 可视化设置断言和链式请求
一旦我们直接从 OpenAPI 描述创建了基本测试用例,我们就可以配置我们的测试——为预期状态码添加断言、使用变量注入链式请求以及自定义负载。这确保了每个端点都有有意义的、可重复的覆盖。在这里,我们创建了覆盖三个主要 API 端点的测试用例,配置了预期状态码的断言,并使用变量注入链式请求。测试用例创建中有一整套功能,请查看文档了解更多详情。
步骤 5. 创建测试套件以对我们的 API 进行冒烟测试
图 7 – 创建测试套件并配置警报
我们可以构建一个测试套件,它由一个或多个测试组成。在我们的示例中,我们利用测试套件作为冒烟测试,并通过电子邮件和 Slack 添加通知,以便让利益相关者了解故障情况。
步骤 6. 本地代码测试
图 8 – 设置本地隧道和环境覆盖
最后,我们通过启用安全的本地隧道并覆盖环境配置以指向本地托管的 Azure 函数,来针对我们服务的本地实例进行验证。这使我们能够在部署之前灵活地验证更改。
在将代码推送到共享或专用测试环境之前,能够针对本地运行的代码执行完整的冒烟测试套件,可以带来显著的生产力提升。开发人员获得快速反馈循环,减少后期调试时间,并有助于更早地发现问题。这还通过最大限度地减少上下文切换和缩短开发-测试周期来支持更敏捷、迭代的开发工作流程。
API 成功的核心是质量
当 API 相关停机的平均成本轻易超过每小时 10 万美元——在许多情况下甚至飙升至 50 万美元以上时,投资于稳健的集成质量实践不仅仅是一种保障。它是一种战略优势。像 API Hub for Test 这样注重质量的功能不仅能降低风险;它们还能为面临更快交付压力的团队带来时间、信心和成本节约。
API Hub for Test 不仅仅代表一个新的测试功能——它是 SmartBear 真正统一 API 生命周期愿景的关键延伸。通过将契约测试和功能测试功能直接嵌入到设计和探索阶段,我们正在减少摩擦,通过协作和上下文共享消除隔阂,并最终赋能团队更快地构建更好的 API。
团队现在可以在 API Hub 的上下文中,从设计到功能验证进行导航,从而显著缩短反馈循环并最大限度地减少返工。无论您是测试已部署的服务还是验证本地运行的代码,测试功能都能为您提供所需的灵活性、可扩展性和自动化,而无需引入不必要的开销。
更重要的是,这些功能并非独立存在——它们嵌入到更广泛的 API Hub 体验中,与编目、治理、探索、契约测试、我们开发者门户功能中的文档编写,乃至我们强大的 ReadyAPI 本地套件无缝集成。对于在快节奏、混合环境中工作的现代团队来说,这种集成模型确保了每个阶段的清晰度、一致性和协作。它仍然足够模块化,您不必局限于使用 API Hub 的所有功能,您可以灵活地与其他技术选择集成。
随着我们持续发展 SmartBear API Hub,测试仍将是我们使命的核心,即提供市场上最完整、对开发者和质量保证友好的 API 开发体验。我们才刚刚开始,并将继续提供以开发者为中心的工具,这些工具旨在在整个 SDLC 中交付质量,并促进团队之间的沟通——API 质量的未来正在形成!
API 领域未来激动人心,欢迎与我们携手同行——我们迫不及待地想看到您的作品!