ChatGPT

【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
なっとう
なっとう
Fluttter開発 プログラマー
噛み砕いて説明できるようになれば、プログラマーとしての質が上がるのではないかと思い、ブログを始めました。 このノウハウが誰かのお役に立てば嬉しいです。
記事URLをコピーしました