P
一覧に戻る

テストケース自動生成

関数や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%以上を目指す構成にする