ChatGPTでテストケースを作るときは、いきなり「全部作って」と頼むのではなく、仕様を短いカードに整理し、正常・境界・異常の3観点で候補を出し、期待結果を人が仕様と照合するのが安全です。
ChatGPTは観点の洗い出しと表の整形に役立ちますが、仕様に書かれていない挙動を正解として決めることはできません。この記事では、ログイン画面を例に、初心者でも実行できる5ステップを紹介します。
ChatGPTに任せる範囲
| 任せやすい作業 | 人が決める作業 |
|---|---|
| 仕様文の整理 | 正式な仕様と優先順位 |
| 正常・境界・異常の候補出し | 期待結果が正しいかの承認 |
| テスト表の整形 | 実行環境とテストデータ |
| 抜けている観点の質問 | 合否判定とリリース判断 |
AIの出力は完成版ではなく、レビューするためのたたき台です。コード自体の問題を調べたい場合は、ChatGPTでエラー原因を調べる方法も参考にしてください。
最初に「仕様カード」を作る
テストケースの質は、ChatGPTへ渡す仕様で大きく変わります。最低限、次の5項目を1枚のカードとして用意します。
- 対象機能:何をテストするか
- 入力ルール:必須、文字数、形式、上限・下限
- 成功条件:どの状態なら成功か
- 除外範囲:今回は何をテストしないか
- 実行環境:ブラウザー、端末、権限、前提状態
機密情報や本番用のアカウント、実在する個人情報は貼り付けず、架空の値に置き換えてください。
正常・境界・異常の3観点で分ける
| 観点 | 確認すること | ログイン画面の例 |
|---|---|---|
| 正常 | 正しい入力で目的を達成できるか | 正しいメールとパスワードでログイン |
| 境界 | 上限・下限の直前、値そのもの、直後 | パスワード7・8・9文字 |
| 異常 | 空欄、形式違い、誤操作で安全に止まるか | 空欄、誤パスワード、連続失敗 |
正常系だけでは「使える」ことしか分かりません。境界と異常を分けると、文字数制限やエラー表示の漏れを見つけやすくなります。

ChatGPTでテストケースを作る5ステップ
1. 対象と仕様を1機能に絞る
画面全体を一度に頼まず、「ログイン」「パスワード再設定」のように1機能へ絞ります。仕様に不明点があれば、ChatGPTに推測させず質問として出させます。
2. 仕様カードを渡す
対象、入力ルール、成功条件、除外、環境を貼ります。仕様書が長い場合も、関係する部分だけを抜き出します。
3. 正常・境界・異常の観点を先に出す
すぐテスト表を作らせず、まず観点一覧を確認します。重複を削り、必要な観点だけ残してからケース化すると読みやすくなります。
4. 実行できる表へ変換する
列は「ID、分類、前提条件、操作、入力値、期待結果、根拠、実行結果」にします。1行に複数の確認を混ぜず、失敗した理由を追える単位に分けます。
5. 期待結果を仕様と照合して小さく試す
AIが書いた期待結果を仕様書と照合し、根拠がない行は保留にします。最初は代表的な5〜10件だけ実行し、手順や判定が曖昧なら直してから増やします。

コピペ用プロンプト
あなたはテスト設計の補助者です。
次の仕様だけを根拠に、テストケースのたたき台を作ってください。
【仕様カード】
対象機能:(ここに対象機能を入力する)
入力ルール:(ここに必須・形式・上限下限を入力する)
成功条件:(ここに成功時の状態を入力する)
除外範囲:(ここに今回扱わない範囲を入力する)
実行環境:(ここにブラウザーや前提状態を入力する)
【手順】
1. 仕様の不明点を質問として列挙する
2. 正常・境界・異常の観点を分ける
3. ID、分類、前提条件、操作、入力値、期待結果、根拠、実行結果の表にする
4. 仕様に根拠がない期待結果は「要確認」と書く
5. 1行では1つの確認だけを行う
OpenAIも、明確で具体的な指示と、出力を確認しながら反復して改善する方法を案内しています。最初の回答をそのまま採用せず、仕様と不足情報を追加して直しましょう。
ログイン画面の出力例
仕様を「メール形式、パスワード8文字以上、成功時はマイページ、失敗時はエラー表示」とした場合、たたき台は次のようになります。
| ID | 分類 | 操作・入力 | 期待結果 | 根拠 |
|---|---|---|---|---|
| L-01 | 正常 | 正しいメール、8文字以上の正しいパスワード | マイページへ移動 | 成功条件 |
| L-02 | 境界 | 7文字のパスワード | 要確認:入力時または送信時に拒否 | 8文字以上 |
| L-03 | 境界 | 8文字の正しいパスワード | ログインできる | 8文字以上 |
| L-04 | 異常 | メール欄を空にして送信 | 要確認:必須エラーを表示 | メール必須の記載が必要 |
| L-05 | 異常 | 誤ったパスワードで送信 | エラーを表示しログインさせない | 失敗条件 |
「要確認」が残るのは失敗ではありません。仕様不足を発見できた状態です。担当者へ確認し、正式な文言や表示位置を決めてから期待結果を更新します。
よくある失敗と直し方
ケース数だけ増えて重複する
「50件作って」ではなく、観点一覧を先に出し、同じ原因を確認する行をまとめます。重要度やリスクで優先順位を付けます。
期待結果をAIが推測する
根拠列を必須にし、仕様に書かれていない場合は「要確認」と出力させます。AIの自然な文章を正式仕様と取り違えないでください。
一つの行で複数を確認する
入力、画面遷移、メール送信などを1行に詰めると、どこで失敗したか分かりません。判定したい内容ごとに分割します。
テストデータが本番情報になる
架空アカウントとテスト環境を使います。APIキーや顧客データを貼らないための確認は、ChatGPTでコードレビューする方法でも解説しています。
実行前チェックリスト
- 対象機能が1つに絞られている
- 仕様カードの5項目が埋まっている
- 正常・境界・異常が区別されている
- 期待結果に根拠がある
- 1行で1つの確認になっている
- 個人情報や本番用認証情報を使っていない
- 代表ケースを小さく実行してから増やす
コードを作りながら確認する場合は、ChatGPTでPythonコードを作る方法と、ChatGPTでプログラミングする基本もあわせて確認してください。
まとめ
ChatGPTでテストケースを作るときは、仕様カード→3観点→実行表→期待結果の根拠確認→小さく実行の順で進めます。
AIは観点の候補と表作りを助けますが、正しい期待結果と合否を決めるのは人です。まず1機能、5〜10件から試し、仕様不足を見つける道具として活用しましょう。


コメント