最初に、私たちのおすすめを書いておきます。 私たちは Proxy Mail QA を作っているので、中立ではありません。この記事では、ひとつの用途にこれをおすすめします。AI エージェントに本物のテスト用の受信トレイと用意済みのテスト値を渡し、登録ページのすべての項目を確認して、メールを通じて登録を完了させる用途です。Proxy Mail QA は、ページのデザイン、文言、アクセシビリティ、速度、セキュリティはレビューしません。また、フォームへの入力や送信もしません。それはエージェントが自分のブラウザツールで行います。それ以外については、検出できないことを参照してください。
Qoder のような AI コーディングエージェントは、登録ページを開き、項目を読み取り、値を試すことができます。ただし、通常は次の 2 つの理由で、きちんとしたレビューができません。
- 受信トレイがありません。 ページに「メールを確認してください」と表示された時点で、レビューは終わります。メールが届くか、リンクが機能するかは、誰にも分かりません。
- いつも同じいくつかの値しか試しません。
test@example.com、John Smith、Password123!はほぼどのフォームでも通ります。フォームを壊すのは、実際の人が入力する名前やパスワードです。
この記事では、項目ごとのレビューで何を確認すべきか、そしてそれを確認するためにエージェントに何を渡せばよいかを説明します。
項目ごとのレビューで確認すること
| 項目 | 試す値 | 期待される動作 |
|---|---|---|
| メール | 大文字、プラスタグ、アポストロフィ(o'brien)、最大の 64 文字。また、@ が 2 つあるものなどの無効な値 |
有効な値は受け付けられ、メールが届きます。無効な値は、何も送信される前に拒否されます |
| 名前 | O'Brien、Smith-Jones、José、李、محمد、1 文字、項目の最大文字数ちょうど、最大より 1 文字多いもの |
実在の名前は入力どおりに受け付けられます。最大より 1 文字多いものは、分かりやすいメッセージとともに拒否されます |
| コードとしての名前 | <b>Jane</b>, <script>alert(1)</script> |
プレーンテキストとして保存・表示され、実行されることはありません |
| パスワード | 最小ちょうど、最大ちょうど、最小より 1 文字少ないもの、最大より 1 文字多いもの、各種記号、途中にスペースを含むもの | ルールに合うパスワードは受け付けられ、その後のサインインにも使えます。ルールに合わないものは、項目の位置でルールとともに拒否されます |
| 生年月日 | 成人、18 歳未満の人、明日 18 歳になる人 | 年齢のルールが正しい日に適用されます |
| 国 | ルール上の扱いが異なる各国 | 正しい規約、コンテンツ、または拒否 |
| 確認用の項目 | 一致しない確認用のメールアドレスやパスワード | 項目の位置でのエラー |
| フォーム全体 | 2 回送信すること、すでに登録済みのアドレス | アカウントが 1 つ、メールが 1 通。アプリにとって重要なら、アカウントの有無が分からない文言 |
Proxy Mail QA がエージェントに渡すもの
- 実行ごとに本物のテスト用アドレス。 確認メールは、受信専用の非公開の受信トレイに届きます。エージェントは
wait_for_codeまたはwait_for_linkでメールを待ち、コードかリンクだけを受け取ります。メールの本文は受け取りません。そのため、「メールを確認してください」で止まらず、登録を完了できます。 - 各項目に合う値。
form_valuesは、ページが示す各項目の情報(タイプ、ラベル、名前、プレースホルダー、autocomplete、pattern、最小・最大の長さ、ドロップダウンの選択肢)を受け取り、入力または選択する値を返します。メールアドレス、名前、ユーザー名、項目のルールに合うパスワード、項目の形式に合った生年月日、ドロップダウンにある国などです。利用規約のチェックボックスなど、認識できない項目は空のまま注記付きで返され、どう扱うかはエージェントが決めます。 - 扱いにくい値を、期待される動作ごとに分けて。
get_name_variantsは値を 4 つのグループで返します。accept、reject、store_as_text、decideです(アプリによって妥当な動作は異なるので、自分のアプリの動作を記録してください)。get_password_variantsもstore_as_textを除いて同じグループを使います。get_address_variantsはアドレスをdelivered(メールは受信トレイに届きます)、undeliverable、invalidに分けます。項目の最大の長さと、パスワードの最小・最大の長さを渡すと、境界値がフォームに合います。 - 正確な年齢や国のアカウント。
create_addressはage(under13、under15、under18、turns18tomorrow、turned18today、adult、over21)とcountry(GBやDEなど)を受け取り、テスト用ペルソナの生年月日と国がそれに合わせられます。 - レポート。
start_runとfinish_runがセッションを記録し、Markdown として返します。そのままプルリクエストに貼り付けられます。
アドレスを毎回作らずに多くの名前やパスワードを試すには、試行ごとに別のプラスタグを付けます。k7f2x9ab12cd+name1@mailclub.dev、+name2 のようにします。アプリにとってはそれぞれが新しいアカウントになり、メールは 1 つの受信トレイに届きます。アプリがプラスタグを拒否するなら、それ自体が発見事項です。
Qoder で接続する
- Qoder Marketplace の Connectors タブで Proxy Mail QA を開き(グローバルサイト、中国サイト)、接続します。または Proxy Mail QA プラグインをインストールします。同じツールと 8 つのスキルが追加されます。
- Qoder に求められたらブラウザで Proxy Mail QA にサインインし、エージェントが使ってよいプロジェクトを選びます。無料アカウントで十分です。
- Qoder の権限レベルを Auto approve ではなく Ask every time に設定し、求められたら Proxy Mail QA の各ステップを承認します。
このレビューに合うプラグインのスキルは 2 つです。signup-form-email-validation(アドレス、名前、パスワード)と age-and-region-testing(年齢制限と国ごとのルール)です。
レビューを依頼する
Review the registration page at https://staging.acme.dev/register with Proxy Mail QA.Start a run. Use form_values for the fields, register once and finish the verificationwith the code or link from the email.Then try the values from get_address_variants, get_name_variants (with each name field'smaximum length) and get_password_variants (with the password field's minimum and maximum)in their fields. Use a plus tag on the address for each new attempt.Make one account with age under18 and one with age turns18tomorrow, and check what theform does with each.Finish the run and give me a table: field, value, what it tests, what the app did, andwhat to fix.値を入力してボタンを押すのはエージェントです。Proxy Mail QA がページ上で何かを押すことはありません。
結果の読み方
- 拒否された
acceptの値(およびdeliveredのアドレス) は、実際の人がぶつかるバグです。O'Brienやプラスタグを拒否するフォームは、実際の顧客を追い返します。 - 受け付けられた
rejectの値(およびinvalidのアドレス) は、項目の制限が守られていないことを意味します。ページだけでなく、サーバーでも制限しているか確認してください。 - ページを変化させた
store_as_textの値(太字、アラートなど)は、何より先に修正が必要です。 decideの値 には正解がありません。アプリがどう動くべきかを決め、その動作を保ってください。- 受け付けられたパスワード は、それでサインインしてみてください。入力時に前後が削られたり途中で切られたりしたパスワードでは、入力どおりにサインインできません。
検出できないこと
- デザインと文言。 エージェントはラベルや文章について意見を述べられますが、Proxy Mail QA はそこに何も加えません。ページは自分でも確認してください。スマートフォンでも確認してください。
- アクセシビリティ。 axe DevTools、WAVE、Lighthouse を使い、スクリーンリーダーやキーボードだけでもフォームを試してください。
- 速度。 Lighthouse や PageSpeed Insights を使ってください。
- セキュリティ。 HTML や SQL がテキストとして保存されるかの確認は有用な目安ですが、セキュリティテストではありません。それにはスキャナーやペネトレーションテストを使ってください。
- SMS コード、CAPTCHA、ソーシャルサインイン。 Proxy Mail QA はメール専用です。ステージングでは CAPTCHA をオフにするか、プロバイダーのテスト用キーを使ってください。
- 会社の規模や「どこで知りましたか?」など、アプリ独自の項目。
form_valuesはこれらを空のままにするので、エージェントがページの表示をもとに自分で入力します。
始める前に
- レビューは、自分が開発している、またはテストを許可されているアプリのステージング環境かローカル環境で行ってください。受け付けられた値ごとにアプリに本物のアカウントが作られるので、後で削除してください。
- メールプロバイダーは、任意のアドレスに送信できる必要があります。サンドボックスやテストモード(本番アクセス前の Amazon SES、ドメイン未認証の Resend、Mailgun のサンドボックス、承認前の Postmark、Supabase の組み込みメール)では、認証済みのアドレスにしか送信されないため、何も届きません。それが原因と思われる場合、
check_deliveryがエージェントに伝えます。 - Proxy Mail QA は、Google、Instagram、TikTok、Amazon、PayPal など、一部の大手消費者向けサービスでは使えません。自分のアプリのテスト用です。
詳しくは、珍しいアドレス、珍しい名前とパスワード、MCP server を参照してください。