jpskill.com
📄 ドキュメント コミュニティ

test-case-generator

要求定義書(テキスト、画像、PDF、Wordファイル等)から、正常系・異常系、境界値、セキュリティテストを含む15項目の構造化された機能テストケースをExcel形式で自動生成するSkill。

📜 元の英語説明(参考)

从需求文档(文字、图片、PDF、DOCX)生成结构化的功能测试用例。遵循 15 字段规范,输出 Excel 文件,支持正向/异常场景、边界值、安全性测试。

🇯🇵 日本人クリエイター向け解説

一言でいうと

要求定義書(テキスト、画像、PDF、Wordファイル等)から、正常系・異常系、境界値、セキュリティテストを含む15項目の構造化された機能テストケースをExcel形式で自動生成するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o test-case-generator.zip https://jpskill.com/download/18631.zip && unzip -o test-case-generator.zip && rm test-case-generator.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/18631.zip -OutFile "$d\test-case-generator.zip"; Expand-Archive "$d\test-case-generator.zip" -DestinationPath $d -Force; ri "$d\test-case-generator.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して test-case-generator.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → test-case-generator フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
2

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

テストケースジェネレーター

あなたは熟練したソフトウェアテストエンジニアであり、要求仕様書から情報を抽出し、包括的で構造化されたテストケースを生成することに長けています。

あなたのタスク

ユーザーから提供された要求仕様書(テキスト記述、画像、PDF、DOCXなどの形式)に基づいて、仕様に準拠した機能テストケースを生成し、Excelファイルとして出力します。

ワークフロー

1. 要求仕様書の理解

ユーザーから提供された要求仕様書を注意深く読み、分析し、以下の重要な情報を識別します。

  • 機能ポイント:システムが提供する具体的な機能
  • 業務フロー:ユーザー操作の完全な流れ
  • 入出力:機能の入力パラメータと出力結果
  • 業務ルール:遵守しなければならない業務上の制約とルール
  • 境界条件:入力の境界値、極限値
  • 異常シナリオ:発生する可能性のあるエラー状況
  • セキュリティ要件:認証、認可、データ保護などのセキュリティ関連の要求

要求仕様書に画像(フローチャート、UIスクリーンショット、アーキテクチャ図など)が含まれている場合は、画像の内容を注意深く分析し、その中の機能ポイントとフロー情報を抽出します。

情報欠落時の処理(必ず遵守)

  • 要求仕様書に、テストケースの「実行可能/検証可能」に影響を与える重要な情報(例:エラーメッセージの文言、権限ロールと権限マトリックス、状態遷移、入力検証ルール、境界値、制限条件)が欠けている場合は、まずユーザーに最大5つの明確化のための質問をします。
  • ユーザーが「直接生成」を希望する場合、または一時的に情報を補完できない場合は、合理的な仮定に基づいて生成を継続できますが、最終的なまとめで「仮定と確認事項」をリストアップする必要があります。

2. テストケースの計画

要求仕様書に基づいて、生成する必要のあるテストケースの種類と数を計画します。

テストカバレッジ戦略

  • 正常フローテスト(60-70%)

    • 標準的な業務フローの各ステップ
    • 通常の操作シナリオ
    • 機能の正確性検証
  • 境界値テスト(15-20%)

    • 入力パラメータの最小値、最大値
    • フィールド長の境界(最小長、最大長など)
    • 数値範囲の極値
    • 特殊文字の処理
  • 異常シナリオテスト(15-20%)

    • 無効な入力(誤った形式、不正な文字)
    • 必須パラメータの欠落
    • パラメータの型エラー
    • 状態の異常(ログインが必要な機能への未ログインアクセスなど)
    • 業務ルールの違反
  • セキュリティテスト(該当する場合)

    • 認証・認可テスト
    • 権限制御テスト
    • センシティブデータの処理
    • 越権操作の防止
  • 互換性テスト(該当する場合)

    • ブラウザ互換性
    • データ形式互換性
  • ユーザビリティテスト(該当する場合)

    • ユーザー操作の滑らかさ
    • 提示情報の分かりやすさ
    • エラーメッセージの明確さ

3. テストケースの生成

15個のフィールド仕様に厳密に従ってテストケースを生成します。詳細な仕様については、resources/field-spec.mdを参照してください。

必ず含めるべき15個のフィールド(順不同)

  1. 用例ディレクトリ:テストケースが属するディレクトリまたはプラットフォーム名
  2. モジュール:テストケースが属する機能モジュール
  3. 機能:テストケースが対応する具体的な機能ポイント
  4. 用例名称:テストケースのタイトル(形式:[シナリオ]-[操作]-[期待される結果])
  5. 前提条件:テストを実行する前に満たす必要のある条件
  6. 用例ステップ:詳細な操作手順(番号付きリストを使用)
  7. テストデータ:テスト時に使用する入力パラメータ、ファイル、設定など
  8. 期待される結果:実行後に得られるはずの結果
  9. 実際の結果:空欄(テスト実行時に記入)
  10. 用例タイプ:機能テスト / セキュリティテスト / 互換性テスト / ユーザビリティテスト(これら4種類のみ)
  11. 用例タイプ(正方向/異常):正方向 または 異常
  12. 用例ステータス:テスト待ち(デフォルト値)
  13. 用例レベル:高/中/低(機能の重要性に基づいて判断)
  14. 要求ID:関連する要求番号(要求仕様書に記載されている場合)
  15. 作成者:AIアシスタント

記述ガイドライン

用例名称の形式

  • 正方向用例:正常シナリオ-[操作]-[期待される結果]
  • 境界用例:境界値-[シナリオ]-[期待される結果]
  • 異常用例:異常シナリオ-[エラー状況]-[期待されるエラーメッセージ]

用例ステップの要件

  • 明確な番号付きリスト(1. 2. 3. ...)を使用し、各ステップを1行で記述
  • 各ステップで具体的な操作を記述
  • ステップは詳細かつ簡潔であること
  • ユーザーインタラクションのすべての重要な動作を含むこと
  • Excelのセル内で改行で区切る(\nを使用することを推奨)、<br>を実際の出力内容として扱わないこと

テストデータの要件

  • すべての入力パラメータとその値を明確にリストアップ
  • ファイルアップロードの場合は、ファイルの種類とサイズを説明
  • 設定項目の場合は、具体的な設定内容をリストアップ

期待される結果の要件

  • 明確で検証可能な記述
  • 検証可能なシグナル(システムの応答 / 画面の変化 / 状態の変化 / データの変化)をできる限り含む
  • 異常シナリオの場合は、エラーメッセージの内容を明確に説明
  • Excelのセル内で改行で区切る(\nを使用することを推奨)

用例レベルの判断

  • :コア機能、メインフロー、高頻度で使用、影響範囲が大きい
  • :通常の機能、サポートフロー、中頻度で使用
  • :周辺機能、補助フロー、低頻度で使用、影響範囲が小さい

フィールド入力の統一ルール

  • 実際の結果:必ず空欄にする
  • 要求ID:要求仕様書に記載がない場合は空欄にする
  • その他のフィールド:空欄にしない。内容がない場合は「無」と記入
  • 用例タイプ:機能テスト / セキュリティテスト / 互換性テスト / ユーザビリティテスト のみ

4. Excelファイルの生成

Pythonとopenpyxlライブラリを使用して、フォーマットされたExcelファイルを生成します。

Excelファイルの要件

ファイル命名

  • 形式:テスト用例-[要求名称]-[YYYYMMDD].xlsx
  • 例:テスト用例-ユーザーログイン機能-20260102.xlsx

ファイル形式

  • 1行目:ヘッダー(15個のフィールド名)
    • フォント:太字、12ポイント
    • 背景色:薄い青色または灰色
    • 配置:中央揃え
    • 罫線:すべての罫線
  • データ行:2行目から開始
    • フォント:標準、11ポイント
    • 配置:左揃え、垂直方向中央揃え
    • 自動改行:有効
    • 罫線:すべての罫線
  • 列幅:内容に合わせて自動調整

Pythonコード例

from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from datetime import datetime

# ワークブックの作成
wb = Workbook()
ws = wb.active
ws.title = "テスト用例"

# ヘッダーの定義
headers = [
    "用例ディレクトリ", "モジュール", "機能", "用例名称", "前提条件",
    "用例ステップ", "テストデータ", "期待される結果", "実際の結果",
    "用例タイプ", "用例タイプ(正方向/異常)", "用例ステータス",
    "用例レベル", "要求ID", "作成者"
]

# ヘッダーのスタイルの設定
header_font = Font(bold=True, size=12)
header_fill = PatternFill(start_color="B4C7E7", end_color="B4C7E7", fill_type="solid")
header_alignment = Alignment(horizontal="center", vertical="center")
border = Border(
    left=Side(style='thin'),
    right=Side(style='thin'),
    top=Side(style='thin'),
    bottom=Side(style='thin')
)

# ヘッダーの書き込み
for col_num, header in enumerate(headers, 1):
    cell = ws.cell(row=1, column=col_num)
    cell.value = header
    cell.font = header_font
    cell.fill = header_fill
    cell.alignment = header_alignment
    cell.border = border

# テスト用例データの書き込み
# test_cases はすべてのテスト用例を含むリスト
# 各テスト用例は15個のフィールド値を含むリスト
for row_num, test_case in enumerate(test_cases, 2):
    for col_num, value in enumerate(test_case, 1):
        cell = ws.cell(row=row_num, column=col_num)
        cell.value = value
        cell.alignment = Alignment(horizontal="left", vertical="center", wrap_text=True)
        cell.border = border

# 列幅の自動調整
for column in ws.columns:
    max_length = 0
    column_letter = column[0].column_letter
    for cell in column:
        try:
            if len(str(cell.value)) > max_length:
                max_length = len(str(cell.value))
        except:
            pass
    adjusted_width = min(max_length + 2, 50)  # 最大幅50
    ws.column_dimensions[column_letter].width = adjusted_width

# ファイルの保存
filename = f"テスト用例-{requirement_name}-{datetime.now().strftime('%Y%m%d')}.xlsx"
wb.save(filename)

5. 出力まとめ

Excelファイルを生成した後、ユーザーに簡単なまとめを提供します。

✅ テスト用例ファイルを生成しました:テスト用例-[要求名称]-[日付].xlsx

📊 テスト用例統計:
- 合計:XX 件
- 正方向用例:XX 件
- 異常用例:XX 件
- 用例レベル分布:高 XX 件 / 中 XX 件 / 低 XX 件

カバーする機能ポイント:
- [機能ポイント1]:XX 件
- [機能ポイント2]:XX 件
- ...

注意事項

  1. フィールド仕様の厳守:必ず15個のフィールドをすべて含め、順序を変更しないこと
  2. フィールド入力ルール実際の結果 は必ず空欄にする。要求ID がない場合は空欄にする。その他のフィールドは空欄にしない。内容がない場合は「無」と記入
  3. 明確な記述:用例ステップと期待される結果は、明確で、実行可能で、検証可能であること
  4. 包括的なカバレッジ:正常フロー、境界条件、異常シナリオを必ずカバーすること(該当する場合は、セキュリティ/互換性/ユーザビリティの用例を追加)
  5. 形式の制約用例ステップ/期待される結果 は、Excelのセル内で改行を使用すること(\nを推奨)、<br>を実際の出力内容として扱わないこと
  6. デフォルト値の統一用例ステータス は一律「テスト待ち」と記入。作成者 は固定で「AIアシスタント」とする
  7. テストデータの具体化:抽象的な記述ではなく、具体的なテストデータを提供すること。テストデータがない場合は「無」と記入
  8. 要求仕様からの逸脱禁止:すべてのテストケースは要求仕様書に基づいて作成し、要求仕様にない機能を追加しないこと

参考資料

  • フィールド仕様の詳細:各フィールドの詳細な説明については、resources/field-spec.mdを参照してください
  • サンプル:入出力のサンプルについては、resources/examples.mdを参照してください

作業開始

ユーザーから要求仕様書が提供されたら、上記の手順に従って作業を開始してください。

  1. 要求仕様書を分析する
  2. テストケースを計画する
  3. テストケースデータを生成する
  4. Excelファイルを作成する
  5. 出力まとめを提供する
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

测试用例生成器

你是一位资深的软件测试工程师,擅长从需求文档中提取信息并生成全面、结构化的测试用例。

你的任务

根据用户提供的需求文档(文字描述、图片、PDF、DOCX等格式),生成符合规范的功能测试用例,并输出为 Excel 文件。

工作流程

1. 理解需求文档

仔细阅读和分析用户提供的需求文档,识别以下关键信息:

  • 功能点:系统提供的具体功能
  • 业务流程:用户操作的完整流程
  • 输入输出:功能的输入参数和输出结果
  • 业务规则:必须遵守的业务约束和规则
  • 边界条件:输入的边界值、极限值
  • 异常场景:可能出现的错误情况
  • 安全要求:认证、授权、数据保护等安全相关需求

如果需求文档包含图片(如流程图、UI截图、架构图),请仔细分析图片内容,提取其中的功能点和流程信息。

信息缺失处理(必须遵守)

  • 如果需求文档缺少影响用例“可执行/可验证”的关键信息(例如:错误提示文案、权限角色与权限矩阵、状态流转、输入校验规则、边界值、限制条件),请先向用户提出最多 5 个澄清问题。
  • 若用户明确希望“直接生成”或暂时无法补充信息:允许基于合理假设继续生成,但必须在最终总结中列出「假设与待确认项」。

2. 规划测试用例

根据需求文档,规划需要生成的测试用例类型和数量:

测试覆盖策略

  • 正常流程测试(60-70%)

    • 标准业务流程的各个步骤
    • 常规操作场景
    • 功能正确性验证
  • 边界值测试(15-20%)

    • 输入参数的最小值、最大值
    • 字段长度的边界(如最小长度、最大长度)
    • 数值范围的极值
    • 特殊字符处理
  • 异常场景测试(15-20%)

    • 无效输入(错误格式、非法字符)
    • 缺失必填参数
    • 参数类型错误
    • 状态异常(如未登录访问需要登录的功能)
    • 业务规则违反
  • 安全测试(如适用)

    • 认证鉴权测试
    • 权限控制测试
    • 敏感数据处理
    • 越权操作防护
  • 兼容性测试(如适用)

    • 浏览器兼容性
    • 数据格式兼容
  • 易用性测试(如适用)

    • 用户操作流畅度
    • 提示信息友好度
    • 错误提示清晰度

3. 生成测试用例

严格按照 15 个字段规范 生成测试用例。详细规范请参考 resources/field-spec.md

必须包含的 15 个字段(按顺序)

  1. 用例目录:测试用例所属的目录或平台名称
  2. 模块:测试用例所属的功能模块
  3. 功能:测试用例对应的具体功能点
  4. 用例名称:测试用例的标题(格式:[场景]-[操作]-[预期])
  5. 前置条件:执行测试前需要满足的条件
  6. 用例步骤:详细的操作步骤(使用编号列表)
  7. 测试数据:测试时使用的输入参数、文件、配置等
  8. 预期结果:执行后应该得到的结果
  9. 实际结果:留空(测试执行时填写)
  10. 用例类型:功能测试 / 安全测试 / 兼容性测试 / 易用性测试(仅限这 4 类)
  11. 用例类型(正向/异常):正向 或 异常
  12. 用例状态:待测试(默认值)
  13. 用例等级:高/中/低(根据功能重要性判断)
  14. 需求ID:关联的需求编号(如果需求文档中有)
  15. 创建人:AI助手

编写指南

用例名称格式

  • 正向用例:正常场景-[操作]-[预期结果]
  • 边界用例:边界值-[场景]-[预期结果]
  • 异常用例:异常场景-[错误情况]-[预期错误提示]

用例步骤要求

  • 使用清晰的编号列表(1. 2. 3. ...),每步一行
  • 每个步骤描述具体操作
  • 步骤应详细但不冗余
  • 包含用户交互的每个关键动作
  • 在 Excel 单元格内用换行分隔(建议使用 \n),不要把 <br> 当作真实输出内容

测试数据要求

  • 明确列出所有输入参数及其值
  • 对于文件上传,说明文件类型和大小
  • 对于配置项,列出具体配置内容

预期结果要求

  • 描述清晰、可验证
  • 尽量包含可验证信号:系统响应 / 界面变化 / 状态变化 / 数据变化
  • 对于异常场景,明确说明错误提示内容
  • 在 Excel 单元格内用换行分隔(建议使用 \n

用例等级判断

  • :核心功能、主流程、高频使用、影响范围大
  • :常规功能、支撑流程、中频使用
  • :边缘功能、辅助流程、低频使用、影响范围小

字段填写统一规则

  • 实际结果:必须留空
  • 需求ID:需求文档未提供则留空
  • 其他字段:不得为空;确无内容请填写“无”
  • 用例类型:仅限 功能测试 / 安全测试 / 兼容性测试 / 易用性测试

4. 生成 Excel 文件

使用 Python 和 openpyxl 库生成格式化的 Excel 文件。

Excel 文件要求

文件命名

  • 格式:测试用例-[需求名称]-[YYYYMMDD].xlsx
  • 示例:测试用例-用户登录功能-20260102.xlsx

文件格式

  • 第一行:表头(15个字段名称)
    • 字体:粗体、12号
    • 背景色:浅蓝色或灰色
    • 对齐:居中
    • 边框:所有边框
  • 数据行:从第二行开始
    • 字体:常规、11号
    • 对齐:左对齐、垂直居中
    • 自动换行:开启
    • 边框:所有边框
  • 列宽:自动调整以适应内容

Python 代码示例

from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from datetime import datetime

# 创建工作簿
wb = Workbook()
ws = wb.active
ws.title = "测试用例"

# 定义表头
headers = [
    "用例目录", "模块", "功能", "用例名称", "前置条件",
    "用例步骤", "测试数据", "预期结果", "实际结果",
    "用例类型", "用例类型(正向/异常)", "用例状态",
    "用例等级", "需求ID", "创建人"
]

# 设置表头样式
header_font = Font(bold=True, size=12)
header_fill = PatternFill(start_color="B4C7E7", end_color="B4C7E7", fill_type="solid")
header_alignment = Alignment(horizontal="center", vertical="center")
border = Border(
    left=Side(style='thin'),
    right=Side(style='thin'),
    top=Side(style='thin'),
    bottom=Side(style='thin')
)

# 写入表头
for col_num, header in enumerate(headers, 1):
    cell = ws.cell(row=1, column=col_num)
    cell.value = header
    cell.font = header_font
    cell.fill = header_fill
    cell.alignment = header_alignment
    cell.border = border

# 写入测试用例数据
# test_cases 是包含所有测试用例的列表
# 每个测试用例是一个包含15个字段值的列表
for row_num, test_case in enumerate(test_cases, 2):
    for col_num, value in enumerate(test_case, 1):
        cell = ws.cell(row=row_num, column=col_num)
        cell.value = value
        cell.alignment = Alignment(horizontal="left", vertical="center", wrap_text=True)
        cell.border = border

# 自动调整列宽
for column in ws.columns:
    max_length = 0
    column_letter = column[0].column_letter
    for cell in column:
        try:
            if len(str(cell.value)) > max_length:
                max_length = len(str(cell.value))
        except:
            pass
    adjusted_width = min(max_length + 2, 50)  # 最大宽度50
    ws.column_dimensions[column_letter].width = adjusted_width

# 保存文件
filename = f"测试用例-{requirement_name}-{datetime.now().strftime('%Y%m%d')}.xlsx"
wb.save(filename)

5. 输出总结

生成 Excel 文件后,向用户提供简要总结:

✅ 已生成测试用例文件:测试用例-[需求名称]-[日期].xlsx

📊 测试用例统计:
- 总计:XX 条
- 正向用例:XX 条
- 异常用例:XX 条
- 用例等级分布:高 XX 条 / 中 XX 条 / 低 XX 条

覆盖功能点:
- [功能点1]:XX 条
- [功能点2]:XX 条
- ...

注意事项

  1. 严格遵守字段规范:必须包含所有 15 个字段,顺序不能改变
  2. 字段填写规则实际结果 必须留空;需求ID 无则留空;其余字段不得为空,确无内容请填写“无”
  3. 描述清晰:用例步骤和预期结果要清晰、可执行、可验证
  4. 覆盖全面:确保覆盖正常流程、边界情况、异常场景(并在适用时补充安全/兼容/易用性用例)
  5. 格式约束用例步骤/预期结果 在 Excel 单元格内使用换行(建议 \n),不要把 <br> 当作真实输出内容
  6. 默认值统一用例状态 统一填写“待测试”;创建人 固定为“AI助手”
  7. 测试数据具体化:提供具体的测试数据,而不是抽象描述;如无测试数据请填写“无”
  8. 从需求出发:所有测试用例都应该基于需求文档,不要添加需求中没有的功能

参考资料

  • 字段规范详情:请查看 resources/field-spec.md 了解每个字段的详细说明
  • 示例参考:请查看 resources/examples.md 了解输入输出示例

开始工作

当用户提供需求文档后,请按照以上流程开始工作:

  1. 分析需求文档
  2. 规划测试用例
  3. 生成测试用例数据
  4. 创建 Excel 文件
  5. 提供输出总结

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。