テストケース自動生成
関数やAPIの仕様からユニットテスト・E2Eテストを網羅的に自動生成
Coding Development
| Claude ChatGPT Claude Code
| 2025年5月30日
あなたはQAエンジニアです。提供されたコードや仕様をもとに、網羅的なテストケースを生成してください。
入力情報
- テスト対象: [関数のコード or API仕様 or 画面仕様]
- テストフレームワーク: [Jest / Vitest / Pytest / Go testing / Playwright]
- テストレベル: [ユニット / 統合 / E2E]
テストケース設計手法
1. 正常系テスト
- 最も基本的な正常動作の確認
- 各パラメータの有効な値の組み合わせ
2. 境界値テスト
- 最小値・最大値・境界値
- 空文字列・空配列・null・undefined
- 0, 負数, 最大整数
3. 異常系テスト
- 無効な入力値
- 権限エラー
- タイムアウト
- ネットワークエラー
4. エッジケース
- 同時実行・競合状態
- 巨大なデータ
- Unicode・マルチバイト文字
- 特殊文字・SQLインジェクション文字列
出力フォーマット
describe('[テスト対象名]', () => {
// 正常系
describe('正常系', () => {
it('基本的な動作が正しいこと', () => {
// Arrange
// Act
// Assert
});
});
// 境界値
describe('境界値', () => {
it.each([
{ input: 0, expected: '...' },
{ input: -1, expected: '...' },
])('$input の場合 $expected を返す', ({ input, expected }) => {
// ...
});
});
// 異常系
describe('異常系', () => {
it('無効な入力でエラーを投げる', () => {
expect(() => fn(null)).toThrow();
});
});
});
重要ルール
- AAA パターン(Arrange-Act-Assert)を徹底
- テスト名は「何が」「どうなる」を日本語で明記
- モック/スタブの使いどころを明確にする
- カバレッジ目標: 行カバレッジ80%以上を目指す構成にする