The mabl blog: Testing in DevOps

QAチームのためのEメールテスト自動化ガイド | mabl

作成者: Andrew Horgan|2022/06/01 5:26:04

Eメールは、企業がユーザーや見込み客と接点を持つための最も重要なツールの一つです。マーケティングキャンペーン、アカウントの通知、ステータス更新など、金融機関からお気に入りのジーンズショップに至るまで、消費者はさまざまな企業からのEメールコミュニケーションを期待するようになりました。しかし、ウェブサイトでの顧客体験と密接に関係しているEメールのテストは、品質エンジニアリングのチームにとって長年の課題となっています。特にAPIやモバイルでのテスト、PDFなどを考慮すると、Eメールのシナリオはますます複雑化してしまい、必要なテストをすべて実行できるようなコーディングスキルを持つテスト担当者の数は限られてしまうのが現状です。 

幸いなことに、ローコードのテスト自動化プラットフォームはユーザー視点でのテストの専門知識を持つQAチームと、複雑なEメールテストとのギャップを埋めてくれています。今日は、これらのテストがmablのアプリケーションでどのように動作するかをご紹介します。

mablで実行するEメールテストの自動化

ローコードソリューションであるmablは、QAチームやテスト担当者が単純なシナリオにも複雑なシナリオにも柔軟に対応できるようにしています。
これからご紹介するテストケースでは、APIとJavascriptのステップを使用して、サードパーティAPIを介したメール送信を管理し、JS変数のステップを使用して、添付PDFとその他のファイルをBase64 文字列として構築することを検証しています。 

リアルなシナリオ

ユーザーのアプリケーションは、受信箱に届く様々ななEメールをフィルタリングしフラグを立てるために使用されます。このアプリケーションでは、一連のルールを使用して、Eメールにフラグを付けてブロックするかどうかを決定し、その場合、ユーザーがアプリケーション内で確認できるように隔離状態に置かれます。この機能をテストするためには、あらかじめ定義されたメールアドレスからメールを送信し、アプリケーション内でフラグを立ててブロックし、隔離された状態を確認することが不可欠です。 

mablのMailbox機能では、自動テスト内でアプリケーションからメー ルを受信できる固有のメールアドレスを生成し、メールの内容を検証することができます。mablのアプリケーションでは、受信した全てのEメールを検証し、アサートすることができます。また、APIとJavascriptのステップを活用し、スパムメール対策とアプリケーションへの送信を処理します。

テストのプロセス

まず、SendGrid APIを使用して、テストメールを送信します。これは、アプリケーション内のAPIステップとして定義しています。企業は、日常的に電子メールの添付ファイルを送信するので、SendGridへのAPIコールのJSONペイロードのファイルを添付する方法も必要です。このファイルはBase64形式である必要があるため、外部のツールを使用して、添付ファイルを標準のPDFからBase64文字列に変換することにします。

Base64文字列をJS変数として格納する

Base64文字列を取得したら、それをJavascriptの変数として指定することができます。これは、文字列パターンを持つ標準的な変数を使用して簡単に行うことができますが、Javascript エディタを使用すると、必要に応じてこの変数を後で編集する能力が向上します。これで、APIステップのJSONペイロード内でこの変数を参照し、content-type:application/JSONヘッダーを含め、認証方法をSendGridが生成したAPIキーを持つ、ベアラートークンに設定することができるようになりました。

SendGridをエンドポイントにしたAPIステップの作成

{   "personalizations": [     {       "to": [         {           "email": "",           "name": "John Doe"         }       ],       "dynamic_template_data": {         "verb": "",         "adjective": "",         "noun": "",         "currentDayofWeek": ""       },       "subject": "Hello, World!"     }   ],   "from": {     "email": "andrewh@mabl.com",     "name": "John Doe"   },   "reply_to": {     "email": "andrewh@mabl.com",     "name": "John Doe"   }, "attachments": [       {          "content": "",          "type": "application/pdf",          "filename": "mypdffile.pdf"       }    ],   "template_id": "d-81e0d440d59a490b94c687dd7567cde0" }

正しいフォーマットで生成されたファイルとAPIステップの構築により、フラグを立てたEメールアドレスをフィルターするように構成された、mablで生成されたメールアドレスへのメール送信を開始することができます。Eメールを作成するために使用したすべてのデータは、APIステップのJSONペイロードを構成する変数として格納することができるので、これらの変数を使用して、アプリケーションのセクション内で新しく送信したEメールの正しい状態を見つけて識別し、検証することができます。

mablアプリケーションでのテスト作成ステップ

再現可能で使いやすいEメールテストをmablで

従来のテスト自動化フレームワークでは、プログラミングのノウハウを持たずにこのプロセスを実行することは困難で、多くの組織が必要とする速度でメールとAPIのテストを拡張することは困難でした。上記のように、Eメールテストプロセスの各ステップは、mablアプリケーション内で追跡されるため、コーディング経験がほとんどない人でもこのようなテストを簡単に再現することができます。 

Eメールテストの自動化を試してみませんか?mablの2週間無料トライアルで体験いただけます。