API Sandbox Virtualizationの顧客教育

サンドボックス仮想化とは何ですか?

API Sandbox Virtualizationは、ライブサンドボックスインスタンスの動作をシミュレートするサービスです。当社の仮想化サービスは、お客様がお受け取りになるレスポンスが事前定義されており、ならびにお客様が提供される入力値に基づいて常に変化するわけではないため、一貫したエクスペリエンスを特徴とします。

例えば:テストごとに荷送人と荷受人の所在地を変更するももの、同じ料金リクエストを使用して複数回通話を行ったと仮定します。APIは、住所の変更に関係なく、同じ事前定義された料金のレスポンスを返します。値が一致しない場合もありますが、お客様が実環境で受信する内容を、レスポンスを返す際にシミュレートいたします。

また仮想化サービスは、ライブバックエンドシステムコンポーネントに影響を与えないため、お客様は適切なレスポンスを受け取ることができますし、統合テストはバックエンドの依存関係から保護されます。

FedEx Sandboxが仮想化されているのはなぜですか?

FedExといった複雑で相互依存するシステムでは、残念ながら依存リソースが利用できなくなり、システムの可用性が低下することがあります。このようなインシデントが発生すると、たとえリモートであっても、API統合テストに悪影響を及ぼす可能性があります。ライブインスタンスには他にも制約があり、それによって統合テストの範囲が制限される可能性があります。例としては以下が挙げられます。

  • 出荷アカウントに特定のシナリオをテストするために必要なアクセス権がない。
  • 利用可能なテストデータに制限がある。
  • 計画的または計画外のシステムダウンタイム。

仮想サンドボックスインスタンスをどのように利用できますか?

  • API文書、エンドポイント、認証方法について理解を深めてください。そうすることで、効果的なテストを設計することができます。
  • API文書で提供されているJSON APIコレクションをダウンロードして理解を深めてください。
  • 使用シナリオに合ったサンプルトランザクションを選択してテストします。一貫性を実現するには、仮想化されたレスポンスを受け取るためにリクエストペイロード構造を変更しないでください。
  • すべての入力値がレスポンスに影響を与えるわけではありません。代わりに、アプリケーションが一貫したレスポンスをどのように処理するかを理解することに重点を置いてください。
  • 文書に従って、すべてのAPIが正しい動作を行うかテストします。ポジティブとネガティブの両方のテストケースを含めます。
  • 提供されているネガティブテストケースを使用して、エラーメッセージとステータスコードがどのように返されるかを理解しましょう。そうすることで、アプリケーションがエラーをどのように管理するかを決定ことができます。JSON APIコレクションと「Negative」という接頭辞が追加されたテストケースを参照してください。

仮想化のメリット

  • リソースが利用できないことを少なくする。
  • テストデータの依存性を少なくする。
  • ライブサンドボックスインスタンスと比較して、レスポンスがより早くなる。
  • 特別サービスには明示的なアカウントレベルのアクセスがいらない。
  • 統合をシームレスに行うことができ、テストと認証のプロセスが容易になる。

よくある質問

  1. リクエストペイロードを仮想化されたレスポンスにヒットさせるにはどうすればよいでしょうか?
    各API文書には、JSON APIコレクションが提供されています。APIカタログにアクセスし、APIの文書を開きます。API文書の「JSON APIコレクション」のセクションを参照してください。このJSON APIコレクションには、仮想化されたレスポンスを取得するすべてのリクエストペイロードが記載されています。
  2. 仮想化サンドボックスインスタンスにアクセスするにはトークンを取得する必要がありますか?
    はい。トークンの生成と承認は引き続き継承されます。仮想化サンドボックスサービスと対話するすべてのトランザクションにトークンを渡すことが期待されます。
  3. レスポンスが仮想化サービスから返されたのかを確認するにはどうすればよいですか?
    仮想化されたレスポンスには、ペイロードの一部として以下のアラートが追加されます。

  4. 料金および配達所要時間APIで、リクエストペイロード内のアドレスが検証されないのはなぜですか?
    住所検証は、仮想化されたレートレスポンスを導き出すロジックの一部ではありません。国のみが検証されるため、残りの住所フィールドには任意の値をパスすることができます。
  5. すべてのAPIは仮想化されていますか?
    現在までに仮想化されているのは次のAPIのみです。残りのAPI機能を現在仮想化しています。
料金および配達所要時間API 仮想化
追跡API 仮想化
フレイトLTL API – 料金および集荷機能 仮想化
住所検証API 仮想化
郵便番号検証API 仮想化
集荷予約API 仮想化
利用可能サービスAPI 仮想化
Global Trade API 仮想化
Ground End of Day Close API 仮想化
オープンシップAPI 仮想化
出荷 API 仮想化
FedEx営業所検索API 仮想化