AgentSkillsCN

generate-testcases

从JIRA冲刺工单自动生成测试用例。 在指定了冲刺名称或工单编号后使用。

SKILL.md
--- frontmatter
name: generate-testcases
description: |
  JIRAスプリントチケットからテストケースを自動生成する。
  スプリント名やチケット番号を指定されたら使う。
argument-hint: "[スプリント名 例: MYPROJECT-Sprint-5]"
user-invocable: true
disable-model-invocation: true
context: fork
allowed-tools: Read, Grep, Glob, Bash

テストケース自動生成

スプリント $ARGUMENTS のテストケースを生成します。

重要: $ARGUMENTS が空(スプリント名が未指定)の場合、処理を開始せず必ずユーザーにスプリント名を確認してください。 例: 「対象のスプリント名を指定してください(例: MYPROJECT-Sprint-5)」

処理フロー

  1. JIRAからスプリント内のチケット一覧を取得
  2. 各チケットの受け入れ条件(Acceptance Criteria)を抽出
  3. Grep/Globで該当機能の関連コードを解析
  4. 下記のテスト観点を適用してテストケースを生成
  5. Bashで ./testcases/ ディレクトリを作成し、CSVファイルとして出力

テスト観点(プロジェクト固有)

基本テスト観点

  • 正常系: ユーザーが期待する操作を行った際の動作確認
  • 異常系: 不正データ入力、必須項目未入力、文字数超過
  • 境界値: 最小値・最大値、0件・1件・大量データ

セキュリティ観点

  • 未ログイン状態でのアクセス制御
  • 権限のないユーザーでのアクセス制御
  • XSS・CSRF対策の確認

パフォーマンス観点

  • 画面表示が3秒以内に完了するか
  • 複数ユーザーの同時アクセス時の動作

プロジェクト固有のビジネスルール

  • 関連データの連動更新確認
  • トランザクション境界・ロールバック
  • 通知・アラート条件の確認

出力フォーマット(CSV)

テストケースをCSVファイルとして出力してください。

出力先

Bashで以下を実行してCSVファイルを生成する。

bash
mkdir -p ./testcases

ファイル名: ./testcases/{スプリント名}.csv(例: ./testcases/MYPROJECT-Sprint-5.csv

CSVヘッダー

csv
チケットID,機能名,テストケースNo,テスト名,テスト観点,事前条件,テスト手順,期待結果

CSV出力例

csv
チケットID,機能名,テストケースNo,テスト名,テスト観点,事前条件,テスト手順,期待結果
MYPROJECT-123,ユーザー登録機能,1,正常系 - 基本登録フロー,正常系,ユーザー登録画面が表示されている,"1. メールアドレスを入力
2. パスワードを入力
3. 「登録」ボタンをクリック","ユーザー登録が成功し確認メールが送信される
ログイン画面にリダイレクトされる"
MYPROJECT-123,ユーザー登録機能,2,異常系 - メールアドレス形式エラー,異常系・バリデーション,ユーザー登録画面が表示されている,"1. 不正なメールアドレスを入力
2. 他フィールドを正しく入力
3. 「登録」ボタンをクリック","エラーメッセージが表示される
ユーザー登録は実行されない"

CSV出力ルール

  • 値にカンマ・改行・ダブルクォートが含まれる場合はダブルクォートで囲む
  • ダブルクォート内のダブルクォートは "" でエスケープする
  • 文字コードはUTF-8(BOM付き)で出力する(Excelでの文字化け防止)
  • Bashでファイル書き出し後、出力先パスをユーザーに通知する

注意事項

  • 受け入れ条件を必ず網羅すること
  • 正常系・異常系・境界値をセットで考慮すること
  • セキュリティ観点は常にチェックすること
  • CSVの改行はダブルクォート内に含めること(フィールド区切りと混同しない)