自動統合テスト

自動統合テストでは、フルフィルメント エンドポイントに対して一連のテスト条件を実行します。テスト結果には、成功率と、トラブルシューティングが必要な特定のテストケースが示されます。

各テストケースは最大 250 個のエンティティを処理し、一度に 1 つのテストのみを実行する必要があります。テストが完了するまで待ってから、別のテストを開始します。

Prerequisites

フルフィルメント エンドポイントのテストを開始する前に、次の前提条件を満たす必要があります。

  1. エンドツーエンドの注文データフィードを作成してホストします。
  2. フルフィルメント エンドポイントに購入手続きと注文の送信アクションを実装します。

自動テストツールを使用してテストする

アクション センターには、「購入手続き」リクエストと「注文送信」リクエストをフルフィルメント エンドポイントに送信するツールが用意されています。この自動テストプロセスにより時間を節約でき、ハッピーパス シナリオとエッジケースのシナリオを含む再現可能なテストセットが提供されます。

自動テストツールを使用してテストする手順は次のとおりです。

  1. メイン ナビゲーションから、[Inventory] > [Integration Testing] に移動します。
  2. [新しいテスト] をクリックします。
  3. [データフィード] プルダウン リストで、テストするフィードを選択します。テストを実行するには、フィードがすでに取り込まれている必要があります。
    • サンドボックス: サンドボックス データフィードからの在庫。
    • 本番: 本番データフィードの在庫。
  4. [Fulfillment endpoint] フィールドに、フルフィルメント エンドポイントの URL を入力します。
  5. [Test Cases] で、実行する「購入手続き」と「注文の送信」のテストケースを選択します。
  6. テストを開始するには、[Run] をクリックします。

自動テスト実行は、完了するまでに最大 20 分かかることがあります。これは、選択したエンティティとテストケースの数によって異なります。テストの進行状況を確認するには、ページを更新します。

結果を確認して、フィードとフルフィルメントが想定どおりに機能していることを確認します。すべてのテストケースで成功率が 95% 以上である必要があります。テストケースをクリックすると、関連する失敗の詳細が表示されます。

統合テストケース

テストケースごとに、コンソールがデータフィードを読み取り、エンドポイントに対する Checkout リクエストと SubmitOrder リクエストを生成します。これらのリクエストは、カートの検証、注文の作成、エラー処理の実装をチェックします。

Checkout の場合、統合テストは次のテストシナリオを実行します。

Checkout 件のテストシナリオ
対象となるカート - オプションのない商品 このテストでは、シンプル メニュー アイテムが入った有効なカートを確認します。
対象となるカート - オプションがある商品 メニュー アイテムのカスタマイズが複雑である対象カートをチェックアウトします。
配送先住所が圏外である 配送先住所がサービス提供地域外のカートの購入手続きを行おうとしました。
最低注文額に達していない 最低注文額を満たしていないカートの精算を試行します。
レストランが閉業している レストランが閉まっているときにカートのチェックアウトを試行します。
購入できない商品 スペシャル ランチなど、購入できないアイテムがあるカートの精算を試みる。
購入できない商品 - 最低注文額に達していない 購入できないアイテム(ランチスペシャルなど)や、最低注文額を満たしていないその他の有効なアイテムがあるカートの精算を試みる。
商品アイテムの価格が古い 商品アイテムの価格を人為的に変更したカートの精算を試みます。
商品の価格が古い - 最低注文額に達していない 商品アイテムの価格を人為的に変更し、カートの実際の値が最低注文額を満たしていないカートの精算を試行する。
古いオプション価格 オプション価格を人為的に修正したカートのチェックアウトを試行すること。
オプション価格が古い - 最低注文額に達していない オプション価格を人為的に修正したカートの精算を試み、カートの実際の値が最低注文額を満たしていない場合。
購入手続きの際に無効なプロモーション コードが送信されました 無効なプロモーション コードで決済を試みました。
認証トークンが無効です このシナリオでは、無効な認証トークンを受け取った場合の統合の動作をテストします。フルフィルメント API が購入手続きリクエストを拒否する。
対象となるカート - 対象となるプロモーション ID がある このテストは、プロモーション対象のレストランに対してのみ実施され、カートで正しい割引アイテムが提示されます。

SubmitOrder の場合、統合テストは次のテストシナリオを実行します。

SubmitOrder 件のテストシナリオ
有効なカート テストにより、有効なカートを含む注文が送信されます。
お支払いの不承認 無効な支払いトークンを含む注文の送信を試みる。
対象外のユーザー ユーザー情報が不完全な注文の送信を試みる。