- 障がいのある方を含め、誰にとってもアプリケーションはわかりやすく使いやすいものになっていますか?
- アプリケーションは、さまざまなブラウザーやデバイスで動作する必要がありますか?
- アプリケーションは、多国籍または国際的な環境で動作する必要がありますか?
- 想定外の本番負荷がかかった場合、アプリケーションのパフォーマンスはどうなりますか?
- アプリケーションをセキュリティ関連の脆弱性からどのように保護しますか?
単体テスト
統合テスト
- ルールでの変数の使用については、値を設定する方法を参照してください
- フックでの変数の使用については、エディターでシークレットを設定する方法を参照してください
- Actions での変数の使用については、Flows とトリガーを参照してください
- Custom DB スクリプトでの変数の使用については、構成パラメータを参照してください
ベストプラクティス
テナント固有の値に加え、カスタムコード内で公開すべきではない機密性の高いシークレットを保持するためにも、変数を使用することを推奨します。カスタムコードを GitHub で管理している場合、テナント固有の変数を使用することで、GitHub リポジトリを通じて機密値が公開されるのを防げます。テスト自動化
モックテスト
ペネトレーションテスト (任意)
負荷テスト (任意)
- アプリケーションのテスト実行時に HTTP trace を取得し、アプリケーションまたは予定しているテストで必要となるすべての呼び出しを特定してください。また、本番環境で実際に発生する内容を適切に反映できるよう、それらがテストに含まれていることを確認してください。
- Auth0 API のレート制限を考慮してテストを設計してください。
- Auth0 内のカスタムコード (Actions、ルール、フック、Custom DB スクリプト、カスタム 接続) を使用すると、Auth0 のカスタムコード sandbox が呼び出されるため、パフォーマンス面でコストが増える可能性があります。テストに不可欠でない限り、ルールはオフにしてください。オフにすると、オンの場合よりも高いスループットが得られます。
- 本番環境で想定される全体的な負荷と、各 endpoint への呼び出しの割合を見積もり、それに応じてパフォーマンステストを構成してください。そうすることで、現実的なテスト結果が得られます。endpoint ごとにパフォーマンスコストは異なります。実態を反映したテストを設計しないと、誤解を招く結果になります。
- 先行する呼び出しの結果に依存する呼び出しは、前提となる呼び出しや応答が完了したことを確認する前に実行しないでください。単に遅延を入れるだけでは不十分な場合があります。
- 十分なエラーハンドリングを実装してください。テスト中の問題でよくある原因は、カスタムコード (Actions、ルール、フック、Custom DB スクリプト、カスタム OAuth 接続スクリプト) 内の未処理例外によって発生するエラーです。
- 最も有用な結果を得るため、負荷テストは低いレベルから開始し、各レベルでデータを取得しながら徐々に負荷を増やすように作成してください。高いレベルから開始してすぐに失敗すると、システムがどの程度まで耐えられるかについて得られる情報は少なくなります。
- パフォーマンステストは複数回実行する必要があるのが普通で、その際にはテスト対象のコードやテストハーネス/構成を調整することもあります。複数回の反復に十分な時間を確保できるよう、早めにテストを開始してください。
- 独自のメールプロバイダーアカウントを使用し、十分なメール送信 quota を事前に確保するよう手配してください。そうしないと、メールプロバイダー側でレート制限を受ける可能性があります。メール送信を使用しない場合は、オフにしてください。
- すべてのソーシャル接続で、Auth0 の開発用キーではなく、必ず独自のアカウント資格情報を使用してください。 で、Connections -> Social -> {name of connection} に移動すると、接続に独自のソーシャルプロバイダーアカウントの資格情報を追加する方法を確認できます。注: 一部のソーシャルプロバイダーでは負荷テストが許可されていません。ポリシーについては各プロバイダーで確認してください
- レート制限を避け、実際の負荷をより正確に再現するために、テストでは同じユーザーに対するリクエストばかりではなく、異なるユーザーに対するリクエストを送る必要があります。1 人または少数のユーザーしか使用しない場合、キャッシュによって実効負荷が下がり、現実的な結果が得られないことがあります。
- テストについて合意されたパラメータと Auth0 の負荷テストポリシーの範囲内に必ずとどめてください。Auth0 は、合意されたパラメータの範囲を逸脱する、または予定されたテスト時間枠を超えるパフォーマンス/負荷テストを終了させる権利を留保します。