API 評価では、サンプル リクエストが HTTP 200 を返すかどうかではなく、顧客が目的の証拠を確実に取得できるかどうかを判断する必要があります。最初にワークフローを定義します。たとえば、ある顧客が受け取ったメッセージをエクスポートします。 集計レポート ページを失ったり、テナントを混在させたりすることなく、プライベート証拠ストアに保存できます。現在の契約が確認されるまでは、指定された製品がこのインターフェイスを提供すると想定しないでください。
契約と境界線を確定する
プロバイダー、エンドポイント、API バージョン、認証方法、テナント境界、フィールド、ページネーション ルール、および文書化された制限を記録します。レポートの身元と、レポートが到着した時間および対象期間を区別します。 API が生のレポート、正規化された行、または派生した結果を返すかどうかを指定します。これらは異なる証拠母集団であり、異なる調整ルールが必要です。
GitHub の API バージョンのドキュメント は、X-GitHub-Api-Version を使用した明示的なバージョンの選択を示しています。これはバージョン管理の実践の具体例であり、GitHub がエクスポートするという証拠ではありません。 DMARC 報告します。実際の評価については、テスト前に確認可能な契約メモに詳細を記録してください。このガイドでは、ベンダー契約、エンドポイント、または製品の機能については説明しません。
フィールドだけでなく出所もテストする
正規化された行の場合、レポーター、レポート ID、元の期間、受信時刻、およびソース フィンガープリントが利用可能な場合は保持します。承認された保持管理の下で元の成果物を保存します。 RFC 9990 は、集計レポートの構造に関する主なリファレンスです。便利な JSON スキーマでは、報告されたカウントを配信されたメッセージの証拠に変えたり、受信者が提供しなかった情報を回復したりすることはできません。
サービスが部分的な取り込み、不正な形式のレポート、修正されたデータ、収集期間の欠落をどのように表現するかを尋ねてください。何も言わずにページをスキップすると、もっともらしい指標が間違ってしまう可能性があります。既知のエラーを含むサンプルをリクエストし、同じエクスポートを利用した別の画面ではなく、個別にカウントされた入力と比較します。
失敗パスを意図的に実行する
複数ページの結果、空の結果、重複入力、タイムスタンプを共有する 2 つのレコード、取り消された資格情報、クロステナント要求、および一時的エラーをテストします。文書化された継続リンクまたはカーソルに従ってください。レート制限、レコードのステータス、関連するヘッダー、および再試行ポリシーについて。 GitHub のベスト プラクティス レート制限シグナルを尊重し、制御されない同時実行を避けることを推奨します。正確な制限は実際のサービス契約に属します。
ページ 1 は保存されたが、ページ 2 が失敗したとします。最初のリクエストの HTTP 200 では、完全なエクスポートを正当化できません。部分的なステータスを保持し、プロバイダーがサポートする継続または再起動プロセスを使用します。これとは別に、呼び出し元にその許可がない場合、別の承認されたテスト テナントに対する正常に認証された要求も拒否する必要があります。これらの仮説的なケースでは、完全性と承認というさまざまな要件をテストします。
再試行テストの場合は、文書化されたレート制限応答と永続的なアクセス許可の失敗を区別してください。 GitHub のレート制限に関するドキュメント は、403 または 429 でレート制限を報告できるため、エラー コンテキストと文書化されたヘッダーを読み取らずに、すべての 403 を永続的に再試行不可能として分類しないでくださいと説明しています。実際のプロバイダーの制限付き待機ルールと再試行ルールを適用します。ここでは、仮想クロック、再起動テスト、ベンダーコール、またはライブアクセス制御チェックは実行されませんでした。
何が受け入れられるかを決める
それぞれの必要な動作、得られた証拠、および残っている不確実性をリストした評価記録を作成します。テナントの分離の欠落または回復不能なデータ損失を停止条件として扱います。本番環境の認証情報が不足していても、文書による評価が妨げられるわけではありませんが、実際のアクセス制御がテストされたと主張することはできなくなります。
次のステップについてサービス所有者と合意します。サンドボックスを取得するか、保護されたアダプターを実装するか、サポートされているエクスポートにワークフローを絞り込みます。後でプロバイダーの変更を評価できるように、ピン留めされた契約とテスト フィクスチャを保持します。製品固有の主張は、文書化され観察された機能に限定してください。このガイドではEmailAuth API 統合は検証されていません。