mcpField
S
shift-left-testing

shift-left-testing

github.com/proffesor-for-testingテスト・品質520111 回インストール今日更新
リポジトリ

shift-left-testing について

開発工程の早い段階で品質チェックを行いたいチーム向けのテストスキルです。要件検証、TDD、CI テスト、リスク分析を扱い、エージェントを使った作業の調整方法も示します。

主な機能

  1. 01要件のテスト可能性チェック
  2. 02BDD シナリオの作成
  3. 03実装前のテスト作成
  4. 04コミットごとのテスト実行
  5. 05設計段階のリスク分析
  6. 06回帰テストの選定

活用シーン

  1. 01要件整理で受け入れ基準を改善
  2. 02新機能で TDD を導入
  3. 03Pull Request で単体テストを実行
  4. 04リスクに基づく回帰テストの優先順位付け

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill shift-left-testing

インストール後、Claude Code で/shift-left-testingを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

evals/
shift-left-testing.yaml
schemas/
output.json
scripts/
validate-config.json

詳細

シフトレフトテスト

<default_to_action> 早期テストのプラクティスを実施する場合:

  1. コーディング前に要件を検証します(テスト容易性、BDD シナリオ)
  2. 実装前にテストを作成します(TDD)
  3. CI パイプラインで自動化します(コミットごとにテストを実行)
  4. 不具合はすぐに修正し、決して蓄積させません

シフトレフトのクイックレベル:

  • レベル 1:PR ごとの単体テスト(開発者の責任)
  • レベル 2:TDD の実践(コードより先にテスト)
  • レベル 3:リファインメントでの BDD/Example Mapping(要件テスト)
  • レベル 4:設計でのリスク分析(アーキテクチャテスト) </default_to_action>

クイックリファレンスカード

使用する場面
  • 不具合のコストを削減する
  • CI/CD パイプラインを実装する
  • TDD の実践を始める
  • 要件の品質を向上させる
シフトレフトのレベル
レベルプラクティスタイミング
1PR での単体テストマージ前
2TDD実装前
3BDD/Example Mappingリファインメント中
4リスク分析設計中

レベル 1:すべての PR でテストする

# CI pipeline - tests run on every commit
name: CI
on: [push, pull_request]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci
      - run: npm run test:unit
      - run: npm run test:integration
      - run: npm run lint

  quality-gate:
    needs: test
    steps:
      - name: Coverage Check
        run: npx coverage-check --min 80
      - name: No New Warnings
        run: npm run lint -- --max-warnings 0

エージェント支援によるシフトレフト

// Validate requirements testability
await Task("Requirements Validation", {
  requirements: userStories,
  check: ['INVEST-criteria', 'testability', 'ambiguity'],
  generateBDD: true
}, "qe-requirements-validator");

// Generate tests from requirements
await Task("Generate Tests", {
  source: 'requirements',
  types: ['unit', 'integration', 'e2e'],
  coverage: 'comprehensive'
}, "qe-test-generator");

// Smart test selection for changes
await Task("Select Regression Tests", {
  changedFiles: prFiles,
  algorithm: 'risk-based',
  targetReduction: 0.7  // 70% time savings
}, "qe-regression-risk-analyzer");

エージェント連携のヒント

メモリの名前空間
aqe/shift-left/
├── requirements/*       - Validated requirements
├── generated-tests/*    - Auto-generated tests
├── coverage-targets/*   - Coverage goals by component
└── pipeline-results/*   - CI/CD test history
フリート連携
const shiftLeftFleet = await FleetManager.coordinate({
  strategy: 'shift-left',
  agents: [
    'qe-requirements-validator',     // Level 3-4
    'qe-test-generator',             // Level 2
    'qe-regression-risk-analyzer'    // Smart selection
  ],
  topology: 'sequential'
});

関連スキル


覚えておくこと

エージェントとともに: エージェントは要件のテスト容易性を検証し、仕様からテストを生成し、最適な回帰テストスイートを選択します。エージェントを活用して、一貫したシフトレフトのプラクティスを実施しましょう。

スキルの組み合わせ

  • TDD の実践 → 具体的な TDD ガイダンスには /tdd-london-chicago を使用します
  • テストの生成 → AI を活用したテスト生成には /qe-test-generation を使用します
  • CI/CD の品質 → パイプラインのセットアップには /cicd-pipeline-qe-orchestrator を使用します

注意点

  • 「シフトレフト」は「左側だけをテストする」という意味ではありません。本番環境のモニタリング(シフトライト)も引き続き必要です
  • エージェントが要件を理解する前にテストを生成すると、誤った動作を対象にしたテストは、テストがないよりも悪い結果になります
  • CI パイプラインのテストに 10 分以上かかるとフィードバックループが機能しなくなります。コミット段階のテストは 5 分未満に抑えましょう
  • エージェントがテストとコードを同時に作成すると、TDD の規律が損なわれます。Red フェーズを分離してください
  • 軽量な環境を用意せずにシフトレフトを進めても、ボトルネックが移るだけです。まず環境を改善してください

コメント