受信トレイ
開発者・QAへ戻る

メールQAは受信先の分離から始まる

一時受信箱でメールフローをテストし、テストノイズを増やさない方法

新しい受信先で実際のメールを観測し、送信、配信、本文、環境、最終状態を分けて検証することで原因を追えるテストにします。

読了目安 8分

良いメールテストは「何か届いた」で終わりません。クリーンな受信先を用意し、既知の操作を一度だけ起こし、その操作に対応するメールを待ち、最後にアプリ側の状態まで確認します。一時受信箱の価値は受信先を使い捨てにできる点にあり、全シナリオで共有すればその利点は失われます。

フローを診断可能な層に分ける

確認すること典型的な失敗
Trigger送信イベントが作られたかUI成功だがjobなし
Delivery正しい宛先に届いたか宛先・queue・routing違い
Message送信者、件名、本文、actionは正しいか古いtemplateやcode
Actionlink/codeで状態が変わるかmailは正しいがbackendが壊れる
Cleanup次のrunが独立しているか共有状態

再現可能な手動フロー

  1. 1

    新しい受信先を作る

    新規登録やrecencyが重要なら特に分離します。

  2. 2

    1つの操作だけ起こす

    観測前に複数メールを生成しません。

  3. 3

    文脈全体を確認する

    宛先、送信者、件名、locale、URL/code、時刻を見ます。

  4. 4

    ユーザー操作を完了する

    link/code使用後のアプリ状態までassertします。

ブラウザ分離だけでは受信箱は分離されない

PlaywrightとCypressはブラウザ状態を分離しますが、外部メールボックスは別の共有状態です。同じ宛先を使えば並列テストは衝突できます。

受信先もuserやbackend fixtureと同じテストデータとして所有させます。

手動QAとCI自動化を混同しない

Web受信箱は探索QAに向きます。CIが受信先作成やメッセージ取得をコードで必要とするなら、その機能を持つtest harnessを使い、存在しないMailOnce公開APIを前提にしません。

一時受信箱は共有状態を減らすときに最も役立ちます。1シナリオに1受信先、1trigger、1つの期待結果を持たせると失敗の説明が明確になります。

手動メールQA用のクリーンな受信先が必要ですか?

MailOnceで、個人の受信箱をテストデータとして使わずに、登録、OTP、マジックリンク、パスワード再設定、通知メールを確認できます。

使い捨てメールを作成

参考資料と追加情報

テスト指針の根拠として使用したセキュリティ資料とテストランナーの一次ドキュメントです。

次のテストへ

同じメールテスト領域にある次の境界を確認します。