最初に私たちの推奨を述べます。 私たちは Proxy Mail QA の開発元なので、中立ではありません。銀行、融資、投資、保険、決済のサインアップについては、レビューの限られた部分での利用をおすすめします。メール(確認、メールでのコード、パスワードリセット)、適格性ルールのための正確な年齢と国のテストアカウント、フォームの欄のための扱いにくい名前とパスワードです。金融サービスのサインアップを難しくしている部分、つまり SMS コード、本人確認(KYC)、決済、銀行口座連携には対応できません。コンプライアンスレビューや法的助言ではなく、SOC 2 などの独立監査もまだ受けていません。ステージング環境で、架空のテストデータだけを使ってください。
金融サービスのサインアップの違い
- 適格性。 通常は 18 歳以上で、ライセンスを持つ国に限られます。
- 実名。 アカウントの名前は後で身分証明書と一致する必要があるため、フォームは人々の実際の名前をそのまま受け付ける必要があります。
- より強いサインイン。 長いパスワード、二要素目、地域によっては法律による強力な顧客認証。
- 偽装されやすいメール。 あなたのブランドはフィッシングの標的になるため、メールが本物だと明確に分かり、リンクがあなたのドメインだけに向いている必要があります。
- 情報を漏らさない。 フォームは、誰かがすでにアカウントを持っているかどうかを確認させてはいけません。
- 記録。 サインアップをどうテストしたか、誰かに尋ねられます。
Proxy Mail QA で確認できること
年齢と国のルール
create_address は、正確な年齢(under18、turns18tomorrow、turned18today、adult、over21)と country(GB、DE、US など)のテストペルソナを、一致する生年月日と国で作成します。確認すること:
- 18 歳未満は、明確な理由とともに拒否され、作りかけのアカウントが残らない。
- 明日 18 歳になる人は今日は拒否され、今日 18 歳になった人は受け付けられる。
- サービス対象外の各国は拒否され、対象国にはそれぞれ正しい規約が表示される。
Proxy Mail QA プラグインの age-and-region-testing スキルはこれらを実行し、次回のために各アカウントにタグを付けます。
人々の実際の名前
get_name_variants は、受け付けるべき名前(O'Brien、Smith-Jones、Søren、Łukasz、李、محمد、प्रिया)、拒否すべき名前(空、空白のみ、最大長超過)、テキストとして保存されるべき HTML や SQL を提供します。D'Angelo を拒否するフォームは、実際の顧客を断るか、後で身分証明書と一致しない名前を入力させることになります。
パスワードポリシー
選んだルールを get_password_variants でテストします。最小と最大ちょうど、1 文字少ない、1 文字多い、各種記号、途中の空白、そして最大が 72 を超える場合は先頭 72 バイトが同じ 2 つのパスワード(bcrypt でハッシュするアプリは先頭 72 バイトしか読まないため、2 つ目で 1 つ目としてサインインできてはいけません)。どのルールを選ぶかは、登録フォームのパスワードはどのくらいの長さにすべき? をご覧ください。
本物だと明確に分かるメール
check_email は届いた各メールを確認します:
- SPF、DKIM、DMARC が合格し、受信側があなたのメールと偽物を区別できる。
- 確認やリセットのリンクがあなたのドメイン(
expect_host)に向いている。 ステージングから本番に向いておらず、localhostやプレーンなhttpへのリンクもない。 - 有効期限の記載。 コードやリンクのメールに有効期限が書かれていないと警告します。サーバーが記載どおりに動くかはご自身でテストしてください。期限を過ぎるまで待ってから、コードを試します。
情報を漏らさない文言
- 登録済みのアドレスでサインアップする:ページは新しいアドレスの場合と同じ内容(「メールを確認してください」など)を表示すべきです。
- アカウントのないアドレスでパスワードリセットを依頼する:ページはアカウントがある場合と同じ内容を表示すべきです。
expect_no_emailまたはcount_emailsで、何が送信されたか(送信されたかどうか)が分かります。
再利用できないリンクとコード
auth-regression-pack スキル(または auth_regression_pack プロンプト)は、確認またはリセットのリンクを 2 回開き、新しいリセットリンクの送信後に古いリンクを開きます。どちらも失敗すべきです。wait_for_code に unused: true を付けると、1 つ目を再取得せずに 2 つ目のコードを取得できます。
テストの記録
start_run と finish_run は、プルリクエストや変更記録のために各セッションの Markdown レポートを出力します。アプリの QA レポートは CSV でダウンロードしたり、PDF に印刷したりできます。
Proxy Mail QA にできないこと
| サインアップの部分 | 代わりに使うもの |
|---|---|
| SMS コード、認証アプリ、パスキー | SMS プロバイダーのテスト番号やテストモード、認証ライブラリのテストヘルパー |
| 本人確認(KYC) | KYC プロバイダーのサンドボックスと、そのテスト書類やテスト人物 |
| カード、決済、銀行口座連携 | 決済またはオープンバンキングのプロバイダーのテストモードとテストアカウント。Proxy Mail QA はカード、銀行、身分証明の欄を入力しません |
| コンプライアンス(AML、消費者保護義務、ライセンス) | コンプライアンスチームまたは弁護士。ここに法的助言は含まれません |
| セキュリティテスト | ペネトレーションテスト。HTML がテキストとして保存されるかの確認は目安であり、テストではありません |
| 不正・悪用対策のルール | 不正対策ツールのテストモード |
金融企業で使う前に
- テストデータのみ。 ペルソナは架空です。実際の顧客の名前、生年月日、住所をテストアカウントに入れないでください。
- データの保存場所。 テストメールとアカウントは米国(AWS us-east-2)に保存され、ホストにより保存時に暗号化されますが、エンドツーエンドではありません。テスト用の受信トレイはテストデータとして扱ってください。
- まだないもの。 Proxy Mail QA アカウントの二要素サインインと、SOC 2 などの独立したセキュリティ監査や認証。セキュリティチームがテストツールにどちらかを求める場合は、まず セキュリティページ で現状を確認してください。
- 本番ではなくステージング。 自分で作ったアプリか、テストを許可されたアプリ向けです。PayPal、Coinbase、Binance など一部の大手サービスは完全にブロックされています。
- メールプロバイダーがステージングで任意のアドレスに送信できる必要があります。 本番アクセス前の Amazon SES などのサンドボックスやテストモードでは、確認済みのアドレスにしか送信されません。
エージェント用のプロンプト
Qoder で Proxy Mail QA を接続している場合(Marketplace):
Review the sign-up at https://staging.acme-bank.dev/open-account with Proxy Mail QA,for an account that must be 18 or over and in GB or IE. Start a run.1. Sign up as an adult in GB and finish the email verification. check_email with expect_host: staging.acme-bank.dev.2. Try ages under18, turns18tomorrow and turned18today, and country DE. Each should be refused before an account exists, except turned18today.3. Try get_name_variants in the name fields and get_password_variants with the password field's limits. Use a plus tag on the address for each new account.4. Sign up again with the first address, and request a reset for a new address that has no account: the page should say the same as for a real one.5. Open the verification link a second time: it should fail.Stop at any SMS, ID or payment step and tell me it's there. Finish the run and give methe report.