ln-632-test-e2e-priority-auditor

安装量: 113
排名: #7543

安装

npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-632-test-e2e-priority-auditor

Specialized worker auditing E2E test coverage for critical paths (risk-based).

Purpose & Scope

  • Worker in ln-630 coordinator pipeline

  • Audit E2E Critical Coverage (Category 2: High Priority)

  • Validate E2E coverage for critical paths (Money/Security/Data Priority ≥20)

  • Validate E2E coverage for core user journeys (Priority 15-19)

  • Identify wasteful E2E tests (Usefulness Score <15)

  • Calculate compliance score (X/10)

Inputs (from Coordinator)

Receives contextStore with risk-based testing philosophy, tech stack, codebase structure, test file list.

Workflow

  • Parse context (critical paths, user journeys)

  • Identify critical paths in codebase (Money, Security, Data)

  • Identify core user journeys (multi-step flows)

  • Check E2E coverage for critical paths (Priority ≥20)

  • Check E2E coverage for user journeys (Priority 15-19)

  • Validate existing E2E tests (Usefulness Score ≥15)

  • Collect findings

  • Calculate score

  • Return JSON

Audit Rules

1. Critical Path E2E Coverage

Rule: Every critical path MUST have E2E test

Critical Paths (Priority ≥20):

  • Money (Priority 25): Payment processing, refunds, discounts, tax calculation

  • Security (Priority 25): Login, auth, password reset, token refresh, permissions

  • Data Export (Priority 20): Reports, CSV generation, data migration

Detection:

  • Scan codebase for critical keywords: payment, refund, login, auth, export

  • Extract critical functions/endpoints

  • Check if E2E test exists for each critical path

  • Missing E2E for Priority ≥20 → CRITICAL severity

Severity:

  • CRITICAL: No E2E for Priority 25 (Money, Security)

  • HIGH: No E2E for Priority 20 (Data Export)

Recommendation: Add E2E tests for critical paths immediately

Effort: M

2. Core User Journey E2E Coverage

Rule: Multi-step critical flows MUST have E2E test

Core Journeys (Priority 15-19):

  • Registration → Email verification → First login (Priority 16)

  • Product search → Add to cart → Checkout (Priority 18)

  • File upload → Processing → Download result (Priority 15)

Detection:

  • Identify multi-step flows in routes/controllers

  • Check if end-to-end journey test exists

  • Missing E2E for Priority ≥15 → HIGH severity

Severity:

  • HIGH: Missing E2E for core user journey (Priority ≥15)

  • MEDIUM: Incomplete journey coverage (only partial steps tested)

Recommendation: Add end-to-end journey tests

Effort: M-L

3. E2E Test Usefulness Validation

Rule: Every E2E test MUST justify Priority ≥15

Check: For each E2E test, calculate Usefulness Score = Impact × Probability

  • If Score <15 → Flag as "Potentially wasteful E2E"

  • Recommendation: Convert to Integration or Unit test (cheaper)

Example:

  • E2E test for "API returns 200 OK" → Impact 2, Probability 1 → Score 2 → WASTEFUL

  • E2E test for "Payment with discount calculates correctly" → Impact 5, Probability 5 → Score 25 → VALUABLE

Severity:

  • MEDIUM: E2E test with Usefulness Score <15

  • LOW: E2E test with Score 10-14 (review needed)

Recommendation: Convert low-value E2E to Integration/Unit or remove

Effort: S

Scoring Algorithm

critical_coverage = (critical_paths_covered / critical_paths_total) * 100
journey_coverage = (core_journeys_covered / core_journeys_total) * 100
wasteful_penalty = wasteful_e2e_tests * 0.5

score = (critical_coverage * 0.6 + journey_coverage * 0.4) / 10 - wasteful_penalty
score = max(0, min(10, score))

Rationale:

  • Focus on critical path coverage (60% weight), not total E2E count

  • Core journeys contribute 40% weight

  • Penalize wasteful E2E tests (low Usefulness Score)

  • No pyramid percentages - pure risk-based prioritization

Output Format

{
  "category": "E2E Critical Coverage",
  "score": 6,
  "total_issues": 8,
  "critical": 2,
  "high": 3,
  "medium": 3,
  "metrics": {
    "critical_paths_total": 12,
    "critical_paths_covered": 7,
    "critical_coverage_percentage": 58,
    "core_journeys_total": 5,
    "core_journeys_covered": 3,
    "journey_coverage_percentage": 60,
    "wasteful_e2e_tests": 4
  },
  "findings": [
    {
      "severity": "CRITICAL",
      "critical_path": "POST /payment",
      "priority": 25,
      "location": "routes/payment.ts:45",
      "issue": "No E2E test for payment processing",
      "recommendation": "Add E2E: successful payment + failed payment scenarios",
      "effort": "M"
    },
    {
      "severity": "HIGH",
      "user_journey": "Registration → Email verification → First login",
      "priority": 16,
      "location": "routes/auth.ts + routes/users.ts",
      "issue": "Missing end-to-end journey test",
      "recommendation": "Add E2E test covering full registration flow",
      "effort": "L"
    },
    {
      "severity": "MEDIUM",
      "e2e_test": "GET /users returns 200",
      "usefulness_score": 4,
      "location": "users.test.ts:23",
      "issue": "Low-value E2E test (Score <15)",
      "recommendation": "Convert to Integration test or remove",
      "effort": "S"
    }
  ]
}

Version: 3.0.0 Last Updated: 2025-12-23

返回排行榜