【ChatGPT】テストデータを作成するプロンプト
asoacasio
アプリ開発中は、動作確認するためのテストデータが必要になるケースがあります。
その際にChatGPTにデータを作ってもらうと作業が捗ります。
効果的に利用されるシナリオ
ログイン機能のテスト
- ユーザー名とパスワードの組み合わせを含むテストデータを用意し、正しい組み合わせでログインできるかを確認します。
- 間違ったユーザー名やパスワードを含むデータを用いて、認証エラーが正しく発生するかを確認します。
フォーム入力のテスト
- フォームに入力されたデータが適切に検証されるかどうかを確認するために、有効なデータと無効なデータを含むテストケースを用意します。
- 例えば、必須フィールドが空のまま送信された場合や、入力形式が正しくない場合などをテストします。
プロンプトのサンプル
次のようにプロンプトを作成します。
フォームに入力されたデータが仕様通りに動作するか検証します。
有効なデータと無効なデータを含むサンプルデータを20件用意してください。
# フォームの仕様
・フォームに入力するデータは"メールアドレス"、"パスワード"とする。
・"メールアドレス"は30文字以内であること。
・"パスワード"は8文字ジャストであること。
・"メールアドレス"は英数字のみが許可される。
・"メールアドレス"はメールアドレスの形式を満たしている必要がある。
・"パスワード"は英大文字、英小文字、数字、特殊文字(! @ # $ % ^ & *)のいずれかを含む必要がある。
# テストケースの仕様。
・Dart言語のList<Map<String, String>> 形式で作成する。
すると、回答として次のような結果が返ってきました。
List<Map<String, String>> testCases = [
// 有効なデータ
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "Abcd123!"},
{"ユーザ名": "testuser", "メールアドレス": "test@example.com", "パスワード": "Test123!"},
{"ユーザ名": "john_doe", "メールアドレス": "john.doe@example.com", "パスワード": "Passwo1!"},
{"ユーザ名": "alice", "メールアドレス": "alice@example.com", "パスワード": "Alice12!"},
{"ユーザ名": "bob", "メールアドレス": "bob@example.com", "パスワード": "Bssrd1!q"},
{"ユーザ名": "charlie", "メールアドレス": "charlie@example.com", "パスワード": "Charl23!"},
{"ユーザ名": "david", "メールアドレス": "david@example.com", "パスワード": "David1!r"},
{"ユーザ名": "eve", "メールアドレス": "eve@example.com", "パスワード": "EvPard1!"},
{"ユーザ名": "frank", "メールアドレス": "frank@example.com", "パスワード": "Frandk1!"},
{"ユーザ名": "grace", "メールアドレス": "grace@example.com", "パスワード": "aGre123!"},
// 無効なデータ
{"ユーザ名": "longusername123", "メールアドレス": "user@example.com", "パスワード": "Abcd123!"}, // ユーザ名が10文字を超えている
{"ユーザ名": "user123", "メールアドレス": "toolongemailaddress@example.com", "パスワード": "Abcd123!"}, // メールアドレスが30文字を超えている
{"ユーザ名": "user123", "メールアドレス": "invalidemail", "パスワード": "Abcd123!"}, // 不正なメールアドレス形式
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "pass"}, // パスワードが8文字でない
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "onlylowercase"}, // パスワードが要件を満たしていない
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "ONLYUPPERCASE"}, // パスワードが要件を満たしていない
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "12345678"}, // パスワードが要件を満たしていない
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "!@#$%^&*"}, // パスワードが要件を満たしていない
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "abcdefg!"}, // パスワードが要件を満たしていない
{"ユーザ名": "user123", "メールアドレス": "user@example.com", "パスワード": "ABCDEFG!"}, // パスワードが要件を満たしていない
];
1つ1つ自分でテストケースを考えなくて済むので、作業効率はアップします。
- 何の目的のために(プログラムの動作確認のために)
- どんなデータを(仕様に対して有効なデータと無効なデータを)
- どれくらい(20件)
作成してほしいかを明示的に伝えることが大切です。
ABOUT ME