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%以上のテクノロジー専門家は、ダウンタイムが組織に1時間あたり少なくとも100,000ドルのコストを要し、3分の1は1時間あたり最大500,000ドルのコストを指摘しています。APIが普及するにつれて、このような財政的リスクは、潜在的な障害を事前に特定し、軽減するための徹底したAPIテストプラクティスの重要性を強調しています。
APIセキュリティの問題も引き続き根強く残っています。最新のOWASP APIセキュリティTop 10レポートは、Broken Object Level AuthorizationやBroken User Authenticationなどの一般的な脆弱性を強調しており、高額なデータ漏洩や不正アクセス事件を防ぐための厳格なテストの必要性を強調しています。
もう一つの差し迫った問題は、APIドリフトです。これは、APIドキュメントまたは仕様成果物と実際の実装との間の不整合です。これは、APIのライフサイクルで最も長い部分が「本番」にあるという事実によって悪化することがよくあります。つまり、変更は非常に起こりやすく、しばしば必要です。テストが設計と同期して継続的に進化するようにプロセスが確立されていない場合、ドリフトは非常に現実的な問題になります。6億5000万を超えるAPIコールに関する最近の業界分析では、本番APIの75%が公開されているOpenAPI仕様から逸脱していることが判明しました。このドリフトは、統合を大幅に中断させ、機能を低下させ、脆弱性を露呈させる可能性があり、継続的で統合されたテスト戦略の必要性をさらに強調しています。
これらの課題は、APIカタログ化、探索、コントラクトテスト、ゲートウェイにとらわれないAPIポータル、そして今回、改善されたテスト機能を統合した、まとまりのあるAPIエコシステムを提供するというSmartBearの取り組みにおいて、私たちにとって最優先事項です。この統合されたアプローチは、テストプラクティスが進化するAPI設計と常に連携し、プロバイダー側の機能テストとコンシューマー側のコントラクトテストを通じてAPIドリフトを効果的に軽減し、APIが信頼性、安全性、パフォーマンスを維持しながら、コラボレーションとチームワークフローを改善することを保証します。
図2 – SmartBear API Hub – APIイネーブルメントのためのオープンコアアプローチ
API Hub for Testのご紹介
SmartBear API Hub内に構築されたAPI Hub for Testは、API設計、ガバナンス、テスト、ドキュメントを統合します。この一貫したエクスペリエンスは、アーキテクチャ、開発、QAチーム間の従来のサイロを排除し、コラボレーションを合理化し、生産性を向上させます。
QAチームは、正確で最新のAPI設計成果物(OpenAPIドキュメントなど)から直接テストを開始することで、テストドリフトや不要な手戻りのリスクを最小限に抑え、大きなメリットを得られます。API Hubのテスト機能は、直感的なローコード/ノーコードテスト機能を提供することで、現代のアジャイルチームとハイブリッドチームをサポートし、QAと開発者のリアルタイムコラボレーションを促進します。使いやすさにより、高度な技術を持つ自動化エンジニアの必要性が減り、手動テスターも自動化による時間節約のメリットを享受できます。
APIを使い始めたばかりのチームでも、大規模なAPIポートフォリオを持つチームでも、当社の新機能は、組み込みのアサーション、再利用可能なテスト資産、継続的インテグレーションおよび継続的デプロイメント(CI/CD)ワークフローへのシームレスな統合を通じて、機能テスト、回帰テスト、統合テストを簡素化します。組織のニーズに合わせて簡単に拡張できるように設計されており、シーケンシャル実行と並列実行の両方をサポートし、GitHub、Jira、Slackなどのチームが使用する幅広いツールとの統合も多数備えています。
既存のワークフローに直接統合することで、API Hub for Testは、APIテストプロセス全体で明確さ、スピード、整合性を求める現代のチームにとって理想的なソリューションとして位置付けられています。
API Hub for Testの開始
統合テストエクスペリエンスの価値を実証するために、実践的なウォークスルーを見てみましょう。
- APIカタログから始める: サンプルPayees APIのOpenAPI記述にアクセスします。標準化とガバナンスチェックに導かれながら、設計候補に進みます。
- 手動探索: 探索機能を使用して、APIの表面領域を手動で探索し、その機能をしっかり理解します。
- 自動テストケース作成: 新しいテスト機能に移行して、APIカタログから直接OpenAPI記述をインポートすることで、テストケースを自動生成します。
- テストケース設定: 3つの主要なAPIエンドポイントをカバーするテストケースを作成し、予想されるステータスコードのアサーションを設定し、変数インジェクションを使用してリクエストを連鎖させます。
- スモークテストスイートの作成: 作成したテストケースを利用してスモークテストスイートを組み立てます。テストの失敗を警告するためのメールとSlack通知を設定します。
- ローカルコードテスト: ローカルトンネルを使用して、ローカルで実行されているコードに対してスモークテストを実行します。環境パラメータをオーバーライドして、ローカルで実行されているAzure関数を指すようにし、クラウド環境とローカル環境の両方で堅牢なテストを保証します。
API Hubサブスクリプションを使用してフォローするか、数回クリックするだけで無料トライアルをセットアップできます。
ステップ1. APIカタログ内のAPIに移動します
図 3 – ガバナンスマーカー付きOpenAPIのナビゲーションとレビュー
まず、APIカタログ(API Hub for Design内)を開き、サンプルPayees APIに移動します。ここから、OpenAPI記述を開き、設計候補に向けて作業を開始します(またはAPIが提供する機能をレビューし、慣れ親しみます)。一貫性とコンプライアンスを確保するために、標準化およびガバナンスチェックが自動的に適用されます。
ステップ2. 手動探索
図 4 – Explorerを使用したAPIエンドポイントとの対話
次に、探索機能を使用して、APIの表面領域をインタラクティブに発見します。これにより、APIの動作をより深く理解し、リクエスト/レスポンスパターンに関する仮定を確認できます。
ステップ3. OpenAPIからのテスト作成を自動化
図 5 – カタログからのOpenAPIのインポートとテストケースのプレビュー
OpenAPI記述が用意できたら、API Hub for Testを起動し、カタログから直接仕様をインポートします。これにより、APIエンドポイントに合わせたテストケースのベースラインセットが自動的に生成されます。
ステップ4. テストケース設定
図 6 – アサーションの設定とリクエストの視覚的な連鎖
OpenAPI記述から直接基本テストケースが作成されたら、テストを設定できます。予想されるステータスコードのアサーションを追加し、変数インジェクションを使用してリクエストを連鎖させ、ペイロードをカスタマイズします。これにより、各エンドポイントの有意義で再現可能なカバレッジが保証されます。ここでは、3つの主要なAPIエンドポイントをカバーするテストケースを作成し、予想されるステータスコードのアサーションを設定し、変数インジェクションを使用してリクエストを連鎖させます。テストケース作成には多くの機能があります。詳細については、ドキュメントを確認してください。
ステップ5. APIをスモークテストするためのテストスイートを作成します
図 7 – テストスイートの作成とアラートの設定
1つ以上のテストで構成されるテストスイートを構築できます。この例では、テストスイートをスモークテストとして活用し、メールとSlackを介して通知を追加して、利害関係者に失敗を知らせます。
ステップ6. ローカルコードテスト
図 8 – ローカルトンネルと環境オーバーライドの設定
最後に、セキュアなローカルトンネルを有効にし、環境設定をオーバーライドしてローカルでホストされているAzure関数を指すようにすることで、サービスのローカルインスタンスに対して検証します。これにより、デプロイ前に変更を柔軟に検証できます。
共有または専用のテスト環境にプッシュする前に、ローカルで実行されているコードに対して完全なスモークテストスイートを実行できることは、測定可能な生産性向上をもたらします。開発者は迅速なフィードバックループを得て、後の段階でのデバッグに費やす時間を短縮し、ソースに近い場所で問題を捕捉するのに役立ちます。これは、コンテキストスイッチングを最小限に抑え、開発-テストサイクルを短縮することで、よりアジャイルで反復的な開発ワークフローもサポートします。
APIの成功には品質が不可欠です
API関連のダウンタイムの平均コストが1時間あたり100,000ドルを簡単に超え、多くの場合500,000ドルを超える可能性がある場合、堅牢で統合された品質プラクティスへの投資は単なる安全策ではありません。それは戦略的な優位性です。API Hub for Testのような品質重視の機能は、リスクを軽減するだけでなく、より多く、より速く提供するというプレッシャーにさらされているチームに、時間、信頼、コスト削減をもたらします。
API Hub for Testは、単なる新しいテスト機能以上のものです。それは、SmartBearが真に統合されたAPIライフサイクルを実現するというビジョンを拡張する重要なものです。契約テスト機能と機能テスト機能の両方を設計および探索フェーズに直接組み込むことで、摩擦を減らし、コラボレーションとコンテキスト共有を通じてサイロを排除し、最終的にチームがより優れたAPIをより速く構築できるようにしています。
チームは、API Hubのコンテキスト内で設計から機能検証までをすべて行うことができ、フィードバックループを大幅に短縮し、手戻りを最小限に抑えます。デプロイされたサービスをテストしている場合でも、ローカルで実行されているコードを検証している場合でも、テスト機能は不要なオーバーヘッドを導入することなく、必要な柔軟性、スケーラビリティ、自動化を提供します。
さらに、これらの機能はスタンドアロンではありません。カタログ化、ガバナンス、探索、契約テスト、開発者ポータル機能内のドキュメント作成、さらには堅牢なReadyAPIオンプレミススイートともスムーズに統合され、より広範なAPI Hubエクスペリエンスに組み込まれています。ペースの速いハイブリッド環境で作業する現代のチームにとって、この統合モデルは、すべての段階で明確さ、一貫性、コラボレーションを保証します。それでも十分にモジュール化されており、すべての機能にAPI Hubを使用する必要はなく、自由に他の技術選択肢と統合できます。
SmartBear API Hubを進化させ続ける中で、テストは、市場で最も完全で、開発者とQAに優しいAPI開発エクスペリエンスを提供するという当社の使命の中心であり続けます。私たちはまだ始まったばかりであり、SDLC全体で品質を提供し、チーム間のコミュニケーションを促進することに焦点を当てた開発者ベースのツールを提供し続けます。API品質の未来はすでに形作られています!
APIの分野はエキサイティングな時代を迎えています。私たちと一緒に旅に出ましょう。皆さんが何を構築するのか、楽しみです!