qa

star 0

既存プロジェクトのQA基盤を構築する。テスト方針の策定・フレームワーク導入・優先順位付けによる段階的なテスト実装・CI組み込みまでを一貫して進める。

agaemo By agaemo schedule Updated 5/18/2026

name: qa description: 既存プロジェクトのQA基盤を構築する。テスト方針の策定・フレームワーク導入・優先順位付けによる段階的なテスト実装・CI組み込みまでを一貫して進める。

qa(QA基盤構築フロー)

テストが少ない・ない既存プロジェクトに、QA基盤を一から作る。 「何をどの順で書くか」の戦略を立ててから実装に入る。


手順

ステップ 1: ブリーフィング

ASK USER:
  現在のテスト状況と困っていることを教えてください。

  例:
  - テストがほぼない状態で、どこから始めればよいかわからない
  - 一部はあるが、重要な箇所が抜けている
  - テストはあるが壊れやすく保守できていない

WAIT_FOR: ユーザーの説明

IF 情報が不足:
  ASK: 1件ずつ追加質問する
    - 使用している言語・フレームワーク
    - 既存のテストフレームワーク(あれば)
    - CI/CDの有無
    - 特に不安な箇所(認証・決済・データ処理など)

ステップ 2: 現状調査

READ: コードベースを調査し以下を把握する

  --- テストの現状 ---
  - 既存テストファイルの有無・場所
  - テストフレームワークの設定(package.json / pyproject.toml 等)
  - カバレッジ計測の設定有無
  RUN: カバレッジ計測コマンドが設定されていれば実行する

  --- リスク評価 ---
  - 認証・認可・決済・データ整合性に関わるファイル
  - 複雑度の高い関数(行数・分岐数)
  - 変更頻度の高いファイル:
    RUN: git log --name-only --pretty=format: | sort | uniq -c | sort -rn | head -20

  --- テスタビリティ ---
  - 依存注入・モックが困難な箇所(グローバル状態・密結合)
  - 外部サービス依存(DB・API・メール等)

REPORT: 調査結果をユーザーに提示
  - 現在のカバレッジ率(計測できた場合)
  - リスクの高い未テスト箇所トップ10
  - テスタビリティの懸念点

ステップ 3: QA戦略の策定・承認

PLAN:

  ## QA基盤構築計画

  ### テストフレームワーク
  [既存スタックに合わせて選定。すでに導入済みの場合はそのまま活用]
  - 単体・統合テスト: [例: Vitest / Jest / pytest]
  - E2E: [例: Playwright](フロントエンドがある場合)
  - カバレッジ: [例: v8 / istanbul / coverage.py]

  ### テスト方針
  - カバレッジ目標: [現状 + 段階的な目標。最初から100%は目指さない]
  - テストの粒度: [単体・統合・E2Eの比率]
  - モック方針: [外部サービスのモック方法]
  - 命名規則・ディレクトリ構成

  ### 優先実装リスト(リスクベース)
  | 優先度 | 対象 | 理由 | テスト種別 |
  |--------|------|------|-----------|
  | 1      | ...  | ...  | ...        |
  | 2      | ...  | ...  | ...        |
  ...

  ### CI組み込み(任意)
  [GitHub Actions 等への組み込み案]

GATE: 戦略の承認を得る
  → 修正要望があれば更新して再提示する

ステップ 4: 準備

# デフォルトブランチを最新化してからブランチを切る
DEFAULT_BRANCH = git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'
RUN: git checkout {DEFAULT_BRANCH} && git pull
IF 失敗:
  REPORT: pull に失敗した旨を伝え、ユーザーの判断を仰ぐ
  STOP

ASK USER:
  作業にあたって以下を確認します。
  1. GitHub issue を作成しますか?(QA基盤構築の背景・方針を記録)
  2. 完了後に PR を作成しますか?

WAIT_FOR: ユーザーの回答

CREATE_ISSUE = ユーザーが issue 作成を希望した場合
CREATE_PR    = ユーザーが PR 作成を希望した場合

IF CREATE_ISSUE:
  gh issue create \
    --title "[qa] QA基盤構築" \
    --body "## 背景\n[ブリーフィングで把握した課題]\n\n## 方針\n[ステップ3で策定した戦略]\n\n## 優先実装リスト\n[対象一覧]"
  ISSUE_NUMBER = 作成した issue の番号
ELSE:
  ISSUE_NUMBER = なし

RUN: git checkout -b qa/bootstrap

ステップ 4.5: 環境構築

IF テストフレームワークが未導入:
  EXECUTE: フレームワークのインストール・設定ファイル作成
    例: pnpm add -D vitest @vitest/coverage-v8
  VERIFY: テストコマンドが実行できること

IF カバレッジ計測が未設定:
  EXECUTE: カバレッジ設定を追加する

IF CI組み込みを希望:
  EXECUTE: GitHub Actions 等のワークフローファイルを作成する

GATE: 環境構築の完了を確認する

ステップ 5: 段階的テスト実装

優先実装リストの順に、以下を繰り返す:

FOREACH target IN 優先実装リスト:
  REPORT: 「[対象] のテストを実装します」と通知

  # tester エージェントに実装を委譲する
  Agent(tester):
    対象: [ファイル・関数]
    テスト種別: [単体 / 統合 / E2E]
    方針: [ステップ3で策定したモック方針・命名規則]
    重点: [境界値・異常系・ビジネスルール]

  VERIFY: テストが通ること・カバレッジが上がっていること

  GATE: 次の対象に進む承認を得る
    → カバレッジレポートを提示して現在地を確認する

ステップ 6: 完了・PR 作成

IF CREATE_PR == false:
  REPORT: 完了レポートを表示して終了
  RUN: git checkout {DEFAULT_BRANCH}
  STOP

CREATE PR:
  タイトル: qa: QA基盤構築
  本文(以下をすべて記載すること):

    ## 背景・課題
    [ブリーフィングで把握したテスト不足の状況と根本原因]

    ## QA戦略
    - テストフレームワーク: [名前・バージョン]
    - カバレッジ目標: [設定値]
    - モック方針: [内容]

    ## 構築したもの
    - テストフレームワーク導入: [有無・内容]
    - カバレッジ計測: [設定内容]
    - CI組み込み: [有無・内容]

    ## 実装したテスト
    | 対象 | テスト種別 | テスト数 |
    |------|-----------|---------|
    | ...  | ...       | ...     |

    ## カバレッジの変化
    - 開始時: X%
    - 完了時: Y%

    ## 今後の推奨事項
    - [ ] 次に実装すべきテスト(優先実装リストの残り)
    - [ ] 新規コードへのテスト必須化の方針
    - [ ] カバレッジ目標の次のステップ

    ## 確認方法
    [テストの実行コマンドとカバレッジレポートの確認手順]

    IF ISSUE_NUMBER != なし:
      Closes #ISSUE_NUMBER

  PR_NUMBER = 作成した PR の番号
  RUN /review {PR_NUMBER}

  RUN: git checkout {DEFAULT_BRANCH}
Install via CLI
npx skills add https://github.com/agaemo/dotfiles --skill qa
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator