email validation testing
今日のチュートリアルは、あらゆるアプリケーションのメール機能をテストすることに関するものです。
ほとんどのWebおよびモバイルアプリケーションでは、電子メール機能の検証は、システムの他のコンポーネントと同様に電子メールコンポーネントの品質を保証するために、テストの最も重要な部分の1つと見なされています。
さまざまなシナリオでトリガーされた電子メールは、電子メールのテンプレート、電子メールのリンク/ボタン、差出人、宛先、CC、Bccフィールド、添付ファイル、電子メール通知ごとのコンテンツなどを含むすべてのコンポーネントをチェックすることによって検証されたと見なされます。
学習内容:
無料のシンプルなyoutubeからmp3へのコンバーター
なぜ電子メールテストが必要なのですか?
システム内の各コンポーネント(Web /モバイルアプリケーション)には、電子メールを送信する目的が異なる場合があります。 コンポーネント間の統合 電子メールは、適切な通知でエンドユーザーに到達する上で重要な役割を果たします。この機能を検証する際の過失は、誤解、顧客の悪名、ハッキングなどにつながります。
例えば 、ユーザーがパスワードをリセットするための電子メールを受信した状況を想像してみてください。ブラウザでコピー&ペーストするために提供された(パスワードのリセット)リンク/ボタンまたはURLが機能しない場合はどうなりますか?ここに残された唯一のオプションは、カスタマーサポートに連絡することです。これは、面倒なことになるか、ユーザーが10〜15日前から請求書の支払い期日に関するメールを毎日受信し続ける、または期日が過ぎた後にリマインダーを受け取る状況を想像する可能性があります合格しました。 –イライラしませんか?
電子メールは、ユーザーを正確な情報で最新の状態に保つことを目的としているため、私たちの生活の不可欠な部分になっているシナリオはたくさんあります。
電子メールの一般的なリアルタイムシナリオと検証ポイント
電子メールをテストする際の検証ポイントは、タイプごとに異なり、アプリケーションごとにも異なります。通常、すべての電子メールは、テンプレート(アプリケーションのロゴ、アプリケーション名、ユーザーのアドレス指定、フッターの内容–著作権、カスタマーサポートの詳細を含む)、さまざまなタイムゾーンの日付とタイムスタンプについて検証する必要があります。
ここでは、ほとんどすべての人が知っているいくつかの一般的なタイプの電子メールについて説明します(以下に示すすべての検証ポイントは、アプリケーションの電子メールをテストするときにテスターが実行する必要のある基本的なチェックです)。
#1)アクティベーションメール
ユーザーが初めてアプリケーションに登録するときは、電子メールで送信されたアクティブ化リンクをクリックしてアカウントをアクティブ化する必要があります。これにより、ユーザーが指定したメールアドレスが有効でアクセス可能であることも確認されます。
検証ポイントは以下のとおりです。
- アクティベーションリンクまたはボタン–クリックすると次のようになります。
- ユーザーアカウントがログインしているユーザーをそれぞれのアプリケーションのページに移動します
- メールで申し込みページにアクセスすると、ユーザーのメールアカウントが自動的に確認されます。
- 期間–リンクをクリックして確認する必要がある期間を確認します。
- 指定された期間内に確認する
- 期間が経過した後に確認してみてください–アカウントをアクティブ化せず、電子メールを未確認のままにする必要があります

#2)パスワードを忘れたメール
ユーザーがアプリケーションにログインするためにパスワードを忘れた場合、パスワードを忘れたフローを実行して、パスワードをリセットするためのリンクが記載された電子メールを受信できます(機能はアプリケーションごとに異なります。これは一般的なものです)。
検証ポイントは以下のとおりです。
- パスワードリンクのリセット:
- それをクリックすると、ユーザーはそれぞれのアプリケーションのページに移動してパスワードをリセットする必要があります
- 一部のアプリケーションは、パスワードのリセットページを表示する前にセキュリティの質問に答えるようにユーザーに求めます。また、パスワードのリセットページ自体と統合されたセキュリティの質問があるアプリケーションもあれば、この機能がまったくないアプリケーションもあります。
- ユーザーがパスワードを正常にリセットすると、受信したパスワードを忘れた場合の電子メールのリンクが非アクティブになり、機能しなくなるはずです。
- ユーザーがパスワードのリセットフローをキャンセルした場合、受信したパスワードを忘れた場合の電子メールのリンクはアクティブ化されたままになります。
- 期間–パスワードをリセットするためにリンクをクリックする必要がある期間を確認します
- リンクをクリックして、指定した期間内にパスワードを正常にリセットします
- 期間が経過した後、リンクをクリックしてみてください–リンクを非アクティブ化して期限切れにする必要があります

#3)期日の通知
これは、特定の日数で実行するアクションについてユーザーに通知するためです。これは通常、請求書の支払いであり、保留中のアイテムに対してアクションを実行します(例:特定の日数のイベントへの招待の承認または拒否、フォームの送信など)。
検証ポイントは以下のとおりです。
- 期日数/期日
- 電子メールが期日数について通知する場合、その数はゼロ以上である必要があります。ゼロ日は期日が現在の日付であることを意味します。負の数であってはなりません。電子メールが期日(カレンダーの日付)について通知する場合、日付は現在または将来のいずれかである必要があります。
- アクションの種類
- 必要なアクションのタイプを確認してください。ユーザーが実行する必要のあるアクションの種類を非常に明確に示す必要があります。請求書の支払い、提出、フィードバックなどです。


#4)期限切れの通知
これは、期日が過ぎたことをユーザーに通知するためのものです。これは通常、ユーザーが期日内にアイテムに対してアクションを実行していないことをユーザーに通知するためのものです。
- 延滞日数
- 延滞日数が1日以上であることを確認してください。ゼロまたは負の数であってはなりません
- 周波数
- ユーザーがアクションを完了するまで、期日が過ぎたら、毎日/毎週/毎月送信される期限切れの電子メールをカスタマイズするためのプロビジョニングを備えているアプリケーションはほとんどありません。期日が過ぎた後に一度だけ送信される標準通知を持つアプリケーションはほとんどありません。
#5)サブスクリプション
これは、ユーザーの要件によって異なります。ユーザーは、次の日次、週次、隔月、または月次のサブスクリプションから1つを選択できます。これは通常、ニュースレター、アップデート、オファーなどに使用されます。
- 周波数
- サブスクリプションのユーザー選択に従って、電子メールを送信する必要があります。毎日の場合、サブスクリプションメールは1日に1回だけ送信する必要があります。毎週の場合は、週に1回。そして続けます…
- リンク
- メール内のリンクはすべて、アプリケーションのそれぞれのページに移動する必要があります。電子メールが更新用である場合、リンクは更新が表示される予定のページにリダイレクトする必要があります。電子メールがオファー用である場合、リンクはアプリケーションのオファーページにリダイレクトする必要があります。これは、ユーザーが選択したサブスクリプションのタイプによって異なります。


#6)フォーム
ここでの電子メールは、ユーザーがフォーム/フォームへのリンクを通じてフィードバックを提供することを目的としています。検証ポイントは以下のとおりです。
- リンク
- 電子メール内のリンクは、ユーザーが送信する必要のあるフォームのタイプに応じて、ユーザーをアプリケーションのフォーム送信ページにリダイレクトする必要があります
- 送信したら、リンクをもう一度クリックすると、フォームがすでに送信されていることがユーザーに通知されます。ユーザーがフォームを再送信できないようにする必要があります


#7)確認メール
ここでの電子メールは、実行されたアクションの確認についてユーザーに通知するためのものです。これは通常、予約確認、注文確認、クエリ確認などです。
検証ポイントは以下のとおりです。
- 確認の詳細:
- 注文番号/予約番号は正しく、アプリケーションUIに表示される番号と一致している必要があります。注文/予約を追跡するための識別子であるため、アプリケーション全体で一意である必要があります(バックエンド– DBで検証される)。注文/予約で同じ識別子を共有することはできません。
- 番号に加えて、注文の種類、ユーザー情報、請求先住所、配送先住所、価格についても検証する必要があります。すべての情報は、ユーザーがアプリケーションUIで提供したものとまったく同じである必要があります。
- リンク:
- メール内のリンクをクリックすると、ユーザーはアプリケーションUIの注文の詳細ページに移動します。電子メールの情報とアプリケーションUIは完全に一致している必要があります

経験豊富なplsqlインタビューの質問と回答
#8)チャットトランスクリプト
ここで、ユーザーはチャットのトランスクリプト全体を電子メールとして受信します。これは通常、カスタマーサポートとのライブチャットが終了した後です。
検証ポイントは以下の通りです
- 詳細
- オンラインサポートを提供した人の名前を確認してください。チャット全体が、各チャットエントリの送信者の詳細(人名、チャットメッセージが送信された日時など)とともに電子メールに含まれていることを確認します。
#9)添付ファイル付きのメール
ユーザーは添付ファイル付きの電子メールを受信します。添付ファイルはパスワードで保護/非保護にすることができます。これは通常、金融ドメイン、参照用のエンドユーザー使用許諾契約、参照用の契約条件などからのステートメントであり、これもアプリケーションごとに異なります。
検証ポイントは以下のとおりです。
- 添付ファイルの種類
- 有効なファイルタイプは添付ファイルとして送信する必要があります。開くすべての添付ファイルは、ダウンロード/開く前にウイルススキャンする必要があります。これもバックエンドでアプリケーションレベルでカスタマイズできます。たとえば、ダウンロード時のみ、ダウンロード時のみ、ダウンロード時とオープン時の両方でウイルススキャンを実行できます。
- パスワードで保護された添付ファイルは、パスワードを要求せずにダウンロードする必要があります。ただし、電子メール自体から開くか、ダウンロードしたコピーを開くときは、常にパスワードを要求する必要があります。ローカルコピーをオンラインで追跡して添付ファイルをロックすることはできないため、ここでの誤ったパスワード入力は無期限になります


メールの種類
メールの種類は、HTML(カラフルでユーザーにとって魅力的で、ユーザーがメールを完全に読むことに関心がある)またはプレーンテキスト(テキストのみ)のいずれかです。
HTMLが最も好まれており、通常、バックエンドのほとんどすべてのアプリケーションでデフォルトとして設定されています。必要に応じて、アプリケーションはプレーンテキストの電子メールをユーザーに送信することを選択できます。これもバックエンドでの変更が必要です。
メールトリガーポイント:
電子メールは、すぐに送信することも、要約/バッチとして送信することもできます。即時メールは、ユーザーのアクションによってトリガーされます。これらは通常、アクティベーションメール、パスワードのリセットメール、チャットの文字起こし、確認メールなどです。つまり、概要/バッチメールは、アプリケーションのバックエンドの設定に基づいてトリガーされます。
電子メールトリガーポイントは、特定の時点でトリガーするように定義されます( 例えば 3rd毎週曜日の午前12:00)。これらは通常、金融ドメインからの明細書(銀行取引明細書)、請求書の期日通知、延滞通知、サブスクリプションなどになります。
バウンスバック:
最高の無料のyoutubeからmp3へのコンバーター
無効な電子メールアドレスに送信されたときに電子メールが返送されるのは、非常に一般的なシナリオです。通常、非アクティブ化されている/使用されていない、まったく存在しない電子メールアドレスが、跳ね返る候補です。
サーバーは通常、指定された回数だけ、目的のアドレスに電子メールを送信しようとします。目的の電子メールアドレスに到達しない場合、バウンスされ、サーバーに障害のエントリを作成します。これらのタイプのアクティビティを維持するために別のサーバーがあり、通常はバウンスバックサーバーと呼ばれます。メールがユーザーに届いて失敗する理由はいくつか考えられます。
以下は、失敗のその他のいくつかのポイントです。
- メールサーバーが長時間ダウンしている
- ユーザーに到達するための短いルートを見つけるアルゴリズムは正しく機能しておらず、ユーザーに到達するまでに非常に長い時間がかかります。その時間までに、ユーザーに到達するために設定された指定時間を超えていた可能性があります。これは通常、ホップ数の増加と呼ばれます
- ユーザーのメールドメインが長期間ダウンしている
- アプリケーションのユーザーアカウントは、メールを受信するためにアクティブ化されていません
電子メールテストのローカリゼーションスコープ
アプリケーションが複数の言語をサポートしている場合、サポートは電子メールにも拡張する必要があります。
送信されるすべての電子メールは、ユーザープロファイル言語である必要があります。ユーザーがプロファイル言語として英語を設定している場合、ユーザーに送信されるすべての電子メールは英語である必要があります。ユーザーのプロフィール言語がフランス語の場合、ユーザーに送信されるすべてのメールはフランス語である必要があります。ユーザープロファイルの言語は、アプリケーションの設定に応じて、1回限りの設定にすることも、必要に応じて変更することもできます。
電子メールは、トリガーされた時点でユーザーが使用している言語で送信する必要があります。
電子メールのローカリゼーションテストの一般的な検証ポイントは次のとおりです。
- 件名
- メールの本文
- 内容–本文のテキスト
- リンク名/ボタン名
- 著作権情報
- カスタマーサポートの詳細
Eメールの標準/カスタマイズ
メールはバックエンドでカスタマイズできます。
例えば 、送信時にユーザーがメールをカスタマイズできるようにするアプリケーションはほとんどありません。ユーザーはここで、電子メールの件名や本文を自分の都合のよいものに、または簡単に認識できるように変更できます。この場合、侵入の可能性が高いため、テストチームが徹底的なテストを行う必要があります。
インジェクションのテストを実行する必要があります– HTMLコード、Javaコード、SQLなどを送信します。セキュリティレベルを上げるには、これらすべてが失敗するはずです。アプリケーションが電子メールのカスタマイズをサポートしていない場合、送信されるすべての電子メールは、アプリケーションによって設定された標準の件名/本文に従います。
結論
アプリケーションのほとんどのコンポーネントがこの機能と統合されているため、電子メールのテストは重要なアクティビティです。
アプリケーションの電子メール機能を完全にテストすることは、チーム全体のサポートと努力である必要があります。これは、実際のテストを開始するかなり前に十分に計画する必要があり、各コンポーネント/関連コンポーネントのテスト中に密接に関連している必要があります。
電子メールテストでは、テストするすべての側面をカバーする電子メールタイプごとに個別のテストケースを作成する必要があります。これは、すべてのタイプのテストで実行する必要があります。回帰テスト、アドホックテスト、ローカリゼーションテスト、UATテスト、および本番テスト。
電子メールでリアルタイムに問題が発生すると、アプリケーションや顧客に悪い印象を残し、最終的にはそのアプリケーションのテスターに引き継がれます。したがって、電子メールの検証は、ソフトウェアテストにおいて非常に重要で非常に必要なアクティビティです。
著者について: この投稿は、STHの作成者であるNandini Kによって書かれています。彼女は、主にWebアプリケーションテストでのソフトウェアテストに7年以上の経験があります。
ご質問/ご提案がございましたらお知らせください。
推奨読書
- あなたの次の成功したEメールキャンペーンのための10の最高のEメールテストツール
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- デスクトップ、クライアントサーバーテスト、およびWebテストの違い
- Webアプリケーションセキュリティテストガイド
- 2021年のトップ10の電子メール検証および妥当性確認サービス
- アプリケーションテスト–ソフトウェアテストの基本に!
- アプリケーションをデバイスにインストールし、Eclipseからテストを開始します
- PrimereBookダウンロードのテスト