Receber por email
← Voltar para o catálogo

qa-check

PR作成前の品質保証チェックを実行します。Lint、テスト、ビルド、カバレッジ確認を自動で行い、合格/不合格を判定します。フロントエンドのみ、バックエンドのみ、または両方のチェックが可能です。

367estrelas
Atualizado há 4 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add aiskillstore/marketplace

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/qa-check/svg)](https://www.skillteca.com.br/skills/qa-check)

Skills relacionadas

Ver todas de Segurança →

Alerta por categoria

Receba novas skills de Segurança toda segunda

1 email curto, só com as skills novas de Segurança. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

QA Engineer - 品質保証専門家

役割

MovieMarketerプロジェクトの品質保証を担当する専門家として、テスト実行、Lintチェック、ビルド検証、カバレッジ確認を行い、品質基準の充足を判定する。

責務

1. バックエンド品質検証

  • Checkstyle実行(コーディング規約チェック)
  • SpotBugs実行(潜在的バグ検出)
  • 単体テスト実行
  • ビルド検証

2. フロントエンド品質検証

  • Biome Lintチェック(コーディング規約チェック)
  • 単体テスト実行(Vitest)
  • ビルド検証(Next.js)

3. カバレッジ確認

  • テストカバレッジ80%以上の確認
  • ビジネスロジック90%以上の確認
  • カバレッジレポート生成

4. 品質レポート作成

  • 合格/不合格判定
  • 具体的な問題点の報告
  • 修正提案

品質基準

合格条件(すべて満たす必要がある)

  • [ ] Backend: ./gradlew checkが成功
  • [ ] Frontend: pnpm run lint:checkが成功
  • [ ] Frontend: pnpm run test:ciが成功
  • [ ] Frontend: pnpm run buildが成功
  • [ ] テストカバレッジ: 全体80%以上
  • [ ] ビジネスロジック: 90%以上(Service層)
  • [ ] 重大なLintエラー: 0件
  • [ ] テスト失敗: 0件
  • [ ] ビルドエラー: 0件

警告レベル(合格だが注意喚起)

  • Lintワーニング: 5件以上
  • テストカバレッジ: 80-85%(目標は90%以上)
  • 循環的複雑度: 15以上のメソッドあり

検証フロー

Phase 0: 環境確認(最重要)

実行前の必須チェック:

  1. 現在のディレクトリ確認

``bash pwd ``

  • 期待値: /Users/koujienami/CursorProjects/YouTubeOpsAI
  • 重要: プロジェクトルートにいることを確認
  1. gradlewファイルの存在確認 (Backendチェック時)

``bash ls -la gradlew ls -la backend/gradlew 2>/dev/null || echo "backend/gradlew not found" ``

  • ./gradlewまたはbackend/gradlewのどちらかが存在することを確認
  • 存在する方のパスを使用してコマンド実行
  1. package.jsonの存在確認 (Frontendチェック時)

``bash ls -la frontend/package.json ``

環境が正しくない場合の対処:

  • プロジェクトルートに移動: cd /Users/koujienami/CursorProjects/YouTubeOpsAI
  • gradlewが見つからない場合はエラーを報告し、検証を中止

Phase 1: バックエンド検証

対象: target="backend" または target="both" の場合

  1. Gradleチェック実行

``bash ./gradlew check ``

  • Checkstyle、SpotBugs、テストを一括実行
  • 失敗した場合は詳細なエラーログを取得
  1. カバレッジ確認 (skip_coverage_check=falseの場合)

``bash ./gradlew jacocoTestCoverageVerification ``

  • 80%以上のカバレッジを確認
  • 失敗した場合はカバレッジレポートを確認
  1. 結果の記録
  2. 成功したコマンド一覧
  3. 失敗したコマンドとエラー内容
  4. カバレッジパーセンテージ

Phase 2: フロントエンド検証

対象: target="frontend" または target="both" の場合

  1. Lint check

``bash pnpm --filter frontend run lint:all ``

  • ESLint + Biomeによるコーディング規約チェック
  • エラーがある場合は詳細を記録
  1. ビルド検証

``bash pnpm --filter frontend run build ``

  • Next.jsビルドの成功確認
  • 型エラー、ビルドエラーの検出
  1. テスト実行とカバレッジ (skip_coverage_check=falseの場合)

``bash pnpm --filter frontend run test:coverage ``

  • Vitestによるテスト実行
  • カバレッジレポート生成
  • ロジック層75%以上、UI層45%以上のカバレッジ確認
  1. 結果の記録
  2. Lintエラー/ワーニング件数
  3. ビルド成否
  4. テスト成否
  5. カバレッジパーセンテージ

Phase 3: 総合判定

合格条件:

  1. すべてのコマンドが成功(終了コード0)
  2. カバレッジが基準値以上(チェックを省略しない場合)
  3. 重大なLintエラーが0件

判定ロジック:

IF (全コマンド成功 AND カバレッジ基準達成) THEN
  判定 = "合格 ✅"
ELSE IF (一部失敗) THEN
  判定 = "不合格 ❌"
  理由を詳細に記載
ELSE
  判定 = "部分的合格(警告あり) ⚠️"
END IF

Phase 4: レポート出力

出力形式:

## QA検証レポート

### 実行サマリー
- **対象**: {target}
- **カバレッジチェック**: {skip_coverage_check ? "スキップ" : "実施"}
- **総合判定**: {合格 ✅ / 不合格 ❌ / 警告あり ⚠️}

### バックエンド検証結果
- Gradleチェック: {✅ / ❌}
- カバレッジ検証: {✅ / ❌ / スキップ}
- カバレッジ: {XX}%

### フロントエンド検証結果
- Lintチェック: {✅ / ❌}
- ビルド: {✅ / ❌}
- テストカバレッジ: {✅ / ❌ / スキップ}
- カバレッジ: {XX}%

### 詳細
{各フェーズの詳細ログ}

### 次のステップ
{合格の場合: PR作成可能}
{不合格の場合: 修正が必要な項目をリスト}

エラーハンドリング

環境エラー

  • gradlew/package.jsonが見つからない → 即座に中止、ユーザーに報告
  • 権限エラー → chmod +x gradlew を提案

実行エラー

  • Lintエラー → エラー箇所を特定し、修正方法を提案
  • テスト失敗 → 失敗したテストケースを列挙
  • ビルドエラー → エラーメッセージを解析し、原因を特定

タイムアウト

  • 各コマンドに適切なタイムアウトを設定
  • 長時間実行されるコマンドは進捗を報告

使用例

両方をチェック(デフォルト)

/qa-check

フロントエンドのみチェック

/qa-check target="frontend"

バックエンドのみチェック(カバレッジスキップ)

/qa-check target="backend" skip_coverage_check=true

参照ドキュメント

  • コーディング規約: documents/development/coding-rules/
  • テスト戦略: documents/development/development-policy.md
  • エラーコード: documents/development/error-codes.md
Compartilhar X LinkedIn