Skip to main content

qe-coverage-analysis

Analyzes test coverage data (Istanbul, c8, lcov) to identify uncovered lines, branches, and functions with risk-weighted gap detection. Use when analyzing coverage reports, identifying coverage gaps, comparing coverage between branches, or prioritizing which untested code to cover first.

소스 정보

저장소
proffesor-for-testing/agentic-qe
최근 소스 활동
2026년 9월 27일 15:26
감지된 SKILL.md 언어
영어
스타
494
포크
98

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
5 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
qe-coverage-analysis
description
Analyzes test coverage data (Istanbul, c8, lcov) to identify uncovered lines, branches, and functions with risk-weighted gap detection. Use when analyzing coverage reports, identifying coverage gaps, comparing coverage between branches, or prioritizing which untested code to cover first.
trust_tier
3
validation
{"schema_path":"schemas/output.json","validator_path":"scripts/validate-config.json","eval_path":"evals/qe-coverage-analysis.yaml"}
# QE Coverage Analysis ## Purpose Guide the use of v3's advanced coverage analysis capabilities including sublinear gap detection algorithms, risk-weighted coverage scoring, and intelligent test prioritization based on code criticality. ## Activation - When analyzing test coverage - When identifying coverage gaps - When prioritizing testing effort - When setting coverage targets - When assessing code risk ## Quick Start ```bash # Analyze coverage with gap detection aqe coverage analyze --source src/ --tests tests/ # Find high-risk uncovered code aqe coverage gaps --risk-weighted --threshold 80 # Generate coverage report aqe coverage report --format html --output coverage-report/ # Compare coverage between branches aqe coverage diff --base main --head feature-branch ``` ## Agent Workflow ```typescript // Comprehensive coverage analysis Task("Analyze coverage gaps", ` Perform O(log n) coverage analysis on src/: - Calculate statement, branch, function coverage - Identify uncovered critical paths - Risk-weight gaps by code complexity and change frequency - Recommend tests to write for maximum coverage impact `, "qe-coverage-specialist") // Risk-based prioritization Task("Prioritize coverage effort", ` Analyze coverage gaps and prioritize by: - Business criticality (payment, auth, data) - Code complexity (cyclomatic > 10) - Recent bug history - Change frequency Output prioritized list of files needing tests. `, "qe-coverage-analyzer") ``` ## Analysis Strategies ### 1. Sublinear Gap Detection ```typescript await coverageAnalyzer.detectGaps({ algorithm: 'sublinear', // O(log n) complexity source: 'src/**/*.ts', metrics: ['statement', 'branch', 'function'], sampling: { enabled: true, confidence: 0.95, maxSamples: 1000 } }); ``` ### 2. Risk-Weighted Coverage ```typescript await coverageAnalyzer.riskWeightedAnalysis({ coverage: coverageReport, riskFactors: { complexity: { weight: 0.3, threshold: 10 }, changeFrequency: { weight: 0.25, window: '90d' }, bugHistory: { weight: 0.25, window: '180d' }, criticality: { weight: 0.2, tags: ['payment', 'auth'] } }, output: { riskScore: true, prioritizedGaps: true } }); ``` ### 3. Differential Coverage ```typescript await coverageAnalyzer.diffCoverage({ base: 'main', head: 'feature-branch', requirements: { newCode: 80, // New code must have 80% coverage modifiedCode: 'maintain', // Don't decrease existing deletedCode: 'ignore' } }); ``` ## Coverage Thresholds ```yaml thresholds: global: statements: 80 branches: 75 functions: 85 lines: 80 per_file: min_statements: 70 critical_paths: 90 new_code: statements: 85 branches: 80 exceptions: - path: "src/migrations/**" reason: "Database migrations" - path: "src/generated/**" reason: "Auto-generated code" ``` ## Coverage Report ```typescript interface CoverageAnalysis { summary: { statements: { covered: number; total: number; percentage: number }; branches: { covered: number; total: number; percentage: number }; functions: { covered: number; total: number; percentage: number }; }; gaps: { file: string; uncoveredLines: number[]; uncoveredBranches: BranchInfo[]; riskScore: number; suggestedTests: string[]; }[]; trends: { period: string; coverageChange: number; newGaps: number; closedGaps: number; }; recommendations: { priority: 'critical' | 'high' | 'medium' | 'low'; file: string; action: string; expectedImpact: number; }[]; } ``` ## Quality Gates ```yaml quality_gates: coverage: block_merge: - new_code_coverage < 80 - coverage_regression > 5 - critical_path_uncovered warn: - overall_coverage < 75 - branch_coverage < 70 metrics: - track_trends: true - alert_on_decline: 3 # consecutive PRs ``` ## Run History After each coverage analysis, append results to `run-history.json` in this skill directory: ```bash # Read current history, append new entry, write back node -e " const fs = require('fs'); const h = JSON.parse(fs.readFileSync('.claude/skills/qe-coverage-analysis/run-history.json')); h.runs.push({date: new Date().toISOString().split('T')[0], statements_pct: STATEMENTS, branches_pct: BRANCHES, gaps_found: GAPS}); fs.writeFileSync('.claude/skills/qe-coverage-analysis/run-history.json', JSON.stringify(h, null, 2)); " ``` Read `run-history.json` before each run to detect trends (e.g., "coverage dropped 3 consecutive times"). ## Skill Composition - **Coverage dropped?** → Use `/coverage-drop-investigator` to trace the cause - **Need more tests** → Use `/qe-test-generation` to fill gaps - **Validate quality** → Use `/mutation-testing` to ensure coverage means quality - **Ship decision** → Feed into `/qe-quality-assessment` for deployment readiness ## Gotchas - High line coverage does NOT mean good tests — 100% coverage with 0% assertions is common agent output. Use mutation testing to verify - coverage-analysis domain has 86% success rate — 14% of runs fail on initialization. Always verify results and have fallback plan (e.g. manual coverage tools) - Self-learning pipeline may silently stop learning (statusline frozen for days) — only human inspection catches this ## Coordination **Primary Agents**: qe-coverage-specialist, qe-coverage-analyzer, qe-gap-detector **Coordinator**: qe-coverage-coordinator **Related Skills**: qe-test-generation, qe-quality-assessment
GitHub에서 보기