本文へ移動
cccskills
無料GitHub で公開

ios-qa-create

テストケースの作成を対話的に支援するユーティリティスキル。アプリの画面を観察しながらテストケースを生成できる。「テストケース作成」「QA ケース作成」「テスト項目作成」などのキーワードで自動適用。

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

QA テストケース作成支援

作成方法

A. 対話的作成

ユーザーの口頭説明からテストケースを生成:

  1. 「何を確認したいか」をヒアリング
  2. テストケース Markdown を生成
  3. ユーザーにレビューを依頼
  4. 承認後にファイルとして保存

B. 画面観察からの作成

実行中アプリの画面を見てテストケースを提案:

  1. xbm-ui-verify で現在の画面を観察
  2. 画面の機能からテストケース候補を提案
  3. ユーザーが選択・編集
  4. ファイルとして保存

C. 既存テストスイートへの追加

  1. 既存の qa-suite.md を読み込み
  2. 新しいテストケースを追加
  3. ID を自動採番
  4. スイートファイルのテストケース一覧を更新

D. App Map からの自動生成

App Map のカバレッジ分析から、未テスト画面の自動テストケース提案:

  1. app-map.md を読み込み、全画面と遷移パスを抽出
  2. qa-suite.md と既存 TC-*.md を読み込み、現在のカバレッジを分析
  3. カバレッジギャップを検出:
    • 未到達: App Map にあるがどのテストの preconditions/操作意図にも含まれない画面
    • 未検証: テスト中に通過するが期待結果の検証対象になっていない画面
    • 未発見: App Map にまだ記録されていない画面
  4. 各ギャップに対してテストケース候補を draft ステータスで生成
  5. Priority を自動決定:
    • critical: home, session_active 等の中核画面
    • high: 複数画面を跨ぐ遷移パス、QA Issues 報告あり
    • medium: 個別画面の補助機能
  6. depends_on を App Map の遷移グラフから自動推論
  7. Operation Patterns を参照し、LLM アプリ固有パターンを補足に自動注入:
    • ストリーミング応答を伴う → 完了判定パターンを追加
    • 日本語入力を伴う → 入力パターンを追加
  8. draft テストケースをユーザーに提示してレビュー依頼
  9. 承認後にファイルとして保存し、qa-suite.md を更新

テストケーステンプレート

---
id: TC-[自動採番]
title: [ユーザーの意図を簡潔に]
priority: [ヒアリングで決定]
tags: [関連タグ]
preconditions: [必要なプリセット]
timeout_seconds: 120
---

# [title]

## 前提状態
[preconditions から自動生成 + ユーザー追加]

## 操作意図
[ユーザーの説明を自然言語で記述]

## 期待結果
[ユーザーの期待を箇条書きで整理]
[「内容は不問」「存在のみ検証」等の LLM アプリ向け注釈を適宜追加]

## 補足
[制約事項や特記事項]

Draft ステータスの管理

モード D で自動生成されたテストケースは status: draft で作成:

---
id: TC-AUTO-001
title: [自動生成]
status: draft
generated_from: app-map-v4
---

draft テストケースの処理:

  • qa-suite.md に追加する際は skip: true を設定
  • ユーザーレビュー後、status を review → active に遷移
  • draft テストケースは実行対象外(CI スキップ)

作成のガイドライン

  1. 操作手順ではなく意図を書く: 「ボタンAをタップ」ではなく「設定画面を開く」
  2. 期待結果は検証可能に: 「正しく動く」ではなく「エラーメッセージが表示されない」
  3. LLM アプリの特性を考慮: 確率的な応答は「存在のみ検証」と明記
  4. 1テストケース1検証目的: 複数の目的を混ぜない

モード D の実装フロー

ステップ 1: App Map の読み込みと解析

app-map.md の構造を想定:
- Screens セクション: 画面定義の一覧(id, name, type)
- Transitions セクション: 画面遷移グラフ(from, to, action, condition)
- Operation Patterns セクション: ストリーミング、日本語入力等の注釈

ステップ 2: 既存テストケースのカバレッジ分析

qa-suite.md と TC-*.md から以下を抽出:

  • 各テストケースの preconditions(どの画面から開始するか)
  • 操作意図に記載された画面(どの画面を訪問するか)
  • 期待結果で検証された画面状態

ステップ 3: ギャップ検出

各画面に対し:

if 画面がどのテストケースの preconditions にも含まれない:
  → 未到達画面
elif 画面がテストの操作意図に含まれるが期待結果で検証されない:
  → 未検証画面
else:
  → カバー済み画面

ステップ 4: テストケース候補の生成

各ギャップに対して以下の情報を含む draft テストケースを生成:

必須フィールド:

  • id: TC-AUTO-[採番]
  • title: 画面名 + 主要操作の説明
  • priority: critical/high/medium (下記を参照)
  • tags: 画面カテゴリ、操作タイプ
  • preconditions: App Map から推論(どの画面から到達するか)
  • depends_on: 前提テストケース(App Map の遷移から推論)

Priority 決定アルゴリズム:

base_priority = "medium"

if 画面が {home, session_active, conversation}:
  base_priority = "critical"
elif 画面が複数の他画面から参照されている:
  base_priority = "high"

if App Map で複数画面を跨ぐ遷移:
  priority += 1 段階

if QA Issues で報告されている:
  priority += 1 段階

最終 priority = max("critical", base_priority)

depends_on の推論:

App Map の Transitions グラフから逆算:
- 対象画面に到達するには必ずどの画面経由か
- その画面を確認するテストケースを depends_on に追加
例: model_select → session_setup 経由 → depends_on: TC-session-setup

Operation Patterns の自動注入:

if 操作対象がストリーミング応答を伴う:
  補足に「完了判定: response_complete イベントの発火を確認」を追加

if 操作対象が日本語入力を伴う:
  補足に「入力パターン: 平仮名、漢字、記号を含む複合入力を検証」を追加

ステップ 5: ユーザーレビューと承認

draft テストケース候補を列挙し、以下の情報とともに提示:

## App Map カバレッジ分析結果

### 未到達画面(テストで訪問したことがない)
- TC-AUTO-001: [画面名] [理由]
- TC-AUTO-002: [画面名] [理由]

### 未検証画面(訪問するがテストしていない)
- TC-AUTO-003: [画面名] [検証すべき内容]

### ギャップ統計
- App Map 総画面数: N
- カバー済み: M
- カバレッジ率: M/N %
- 提案テストケース数: K

各候補テストケースの内容をレビュー待ち状態で提示。 ユーザーの承認 / 却下 / 編集を受け付ける。

ステップ 6: テストケースファイルの生成と登録

承認されたテストケースについて:

  1. TC-AUTO-[採番].md ファイルを生成
  2. qa-suite.md の test_cases セクションに以下の形式で追加:
- id: TC-AUTO-001
  path: ./test-cases/TC-AUTO-001.md
  skip: true  # draft テストケースは実行対象外
  status: draft
  generated_from: app-map-v4
  1. ユーザーに確認を提示
  2. 最終承認後に qa-suite.md を更新

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

changelog-manage

無料日本語概要

CHANGELOG エントリ追加・バージョン計算。「CHANGELOG」「変更履歴」「changelog add」「version bump」「バージョン」「バージョンアップ」などのキーワードで自動適用。

no-problem-dev/claude-code-plugins52026年3月15日 更新

codex-export

無料日本語概要

プロジェクトの .claude/ ディレクトリ(skills, agents, contexts)を Codex CLI 互換 .agents/ に変換。「codex export」「Codex 変換」「プロジェクトをエクスポート」などで自動適用。

no-problem-dev/claude-code-plugins52026年3月15日 更新

component-gen

無料日本語概要

デザインシステム準拠のSwiftUIコンポーネントを生成する。新しいUIパーツの作成、コンポーネント生成時に使用。「コンポーネント作成」「新しいUI」「パーツ作成」「component generate」「UIパーツ」「新規コンポーネント」などのキーワードで自動適用。

no-problem-dev/claude-code-plugins52026年3月15日 更新

deploy-to-codex

無料日本語概要

Claude Code プラグインを Codex CLI 互換形式に変換。SKILL.md → .agents/skills/、agents → .agents/skills/、AGENTS.md 生成。「deploy」「codex」「Codex 変換」「エクスポート」などで自動適用。

no-problem-dev/claude-code-plugins52026年3月15日 更新

design-audit

無料日本語概要

SwiftUI ViewのDesign System準拠性を監査する。既存UIのレビュー、デザインチェック時に使用。「デザインレビュー」「UIチェック」「design audit」「デザイン監査」「UI監査」「デザインチェック」「トークン確認」などのキーワードで自動適用。

no-problem-dev/claude-code-plugins52026年3月15日 更新

design-diff

無料日本語概要

UIの視覚的差分を検出・比較する。デザイン変更前後の比較、リファレンスとの差分確認時に使用。「デザイン比較」「UI差分」「design diff」「design compare」「ビフォーアフター」「見た目の違い」などのキーワードで自動適用。

no-problem-dev/claude-code-plugins52026年3月15日 更新

no-problem-dev のスキルをすべて見る

このスキルの問題を報告する