まずはクリーンな基準となる記録を残しましょう
テスト環境、送信ログへのアクセス権、新しいテスト用メールアドレスを用意します。実際の顧客名、身分証明書情報、決済情報、本番用の認証コードは使用しないでください。登録処理でアカウントが作成される場合は、テスト後に削除できる権限があることも確認しましょう。
アドレスの有効期限が、今回のテストを終えるまで残っていることを確認します。対象サイトが一時メールアドレスを受け付けない場合は、この方法でのテストを中止し、管理下にある長期利用可能なメールアドレスか、プラットフォーム指定のテスト方法に切り替えてください。
アドレス全体をコピーして環境を確認
一時メールの受信トレイからアドレスをコピーし、@の前後やドメインに空白がないことを確認します。登録ページに入力したら、想定したテスト環境またはステージング環境で操作していることを確かめてください。
受信アドレスと今回のテスト開始時刻を記録します。複数のブラウザータブで同時にアドレスを切り替えると、確認していないメールアドレスに認証コードが送信されるおそれがあります。
送信は1回だけ実行し、送信側を確認
登録を送信するか認証コードの送信ボタンをクリックしたら、時刻と画面の表示を記録します。画面に「送信成功」と表示されても、タスクがキューに追加されたことを示すだけで、メールが届いたとは限りません。
ログを確認できる場合は、受信アドレス、タスクの状態、送信サービスから返されたメッセージID、SMTPの結果を確認します。リクエスト自体が失敗しているなら、まずリクエストや送信頻度制限の問題を解消しましょう。受信トレイの問題と決めつけないでください。
受信トレイで該当するメールを確認
受信メール一覧は自動で更新されますが、手動で再読み込みすることもできます。件名、送信者、受信時刻を照合し、以前に届いた古い認証コードではなく、直前に実行したリクエストのメールであることを確認してください。
メールが届かない場合は、アプリの接続先がメールサンドボックスのままか、配信ログに拒否、キュー待ち、バウンスが記録されていないか確認します。適切な時間待ってから、対象システムの再送ルールに従ってください。何度も続けて再送すると、複数のコードが混在するおそれがあります。
最新の認証コードを送信して状態の変化を確認
最新のリクエストに対応する有効な認証コードを使い、登録状態が「認証待ち」から「認証済み」に変わることを確認します。成功メッセージが表示されたら、セッションとユーザー情報も確認しましょう。画面が遷移しただけで成功と判断しないでください。
許可されたテストの範囲内で、誤ったコード、期限切れのコード、同じコードの再送信も確認します。想定される動作は、明確なエラーが表示され、アカウント情報が過剰に漏れず、使い捨てコードを再利用できないことです。
テストデータを整理し、個人情報を伏せた証跡を残す
チームの手順に従って、テストアカウントを削除または無効化し、キューとテスト記録を整理します。アカウントを引き続き使用する場合は、一時アドレスの期限が切れる前に、ご自身が長期的に管理できるメールアドレスへ変更し、新しいアドレスを認証してください。
不具合報告には、必要な時刻、エラーの種類、個人情報を伏せた識別情報だけを残します。ログインリンク全体、有効な認証コード、メールアカウントへのアクセス情報は記載しないでください。
次の担当者が再現できる記録を残す
1件の送信リクエストにつき1つの記録を作成し、送信、受信、認証を分けて記録します。下表は記録形式の例であり、実際にシステムで測定したデータや、メールの到着時間を示すものではありません。
| 記録項目 | 記入内容 | 確認できること |
|---|---|---|
| 環境・バージョン | ステージング / ビルド番号 / ページパス | 異なる環境の結果が混在するのを防ぐ |
| 送信リクエスト | 送信時刻、個人情報を伏せた受信アドレス、リクエストID | アプリが実際に送信処理を開始したか確認する |
| 配信結果 | キュー待ち / サービス受付 / 拒否 / バウンス | 送信側の失敗と処理待ちを区別する |
| 受信結果 | 受信時刻、件名、送信元ドメイン | 特定のリクエストに対応するメールを特定する |
| 認証結果 | 成功 / 無効 / 不一致。コードは記録しない | 認証の状態とメールの状態が一致しているか確認する |
テストメールが届かないときは3段階で確認
リクエストが送信されていない
フォームの入力チェック、APIエラー、送信頻度制限を確認します。アプリが送信タスクを作成していない場合、受信アドレスを変えても解決にはつながりません。
サービスからまだ配信されていない
キューとSMTPの応答を確認します。バウンスと一時的な拒否は別の状態です。エラーの種類を見てから再試行するか判断してください。
受信したのに認証できない
認証コードが対応するアカウント、リクエスト、有効期限を確認します。再送後は古いコードが無効になることがあります。業務上の認証エラーをメールの未着と混同しないでください。