mcpField
T
testing-strategy

testing-strategy

github.com/pixel-process-ugTesting & quality379 installsUpdated 33w ago
Repository

About testing-strategy

A project-analysis skill that builds a testing strategy around a codebase’s stack, existing tests, CI, coverage, and dependencies. It guides teams from framework selection through thresholds, configuration, and example tests.

Key features

  1. 01Analyze stack, tests, CI, and dependencies
  2. 02Choose frameworks by technology stack
  3. 03Define testing pyramid and coverage goals
  4. 04Generate test and CI configuration
  5. 05Provide test templates and mock guidance

Use cases

  1. 01Planning tests for a new codebase
  2. 02Improving coverage in an existing project
  3. 03Setting CI coverage enforcement
  4. 04Establishing test conventions across a team

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pixel-process-ug/superkit-agents --skill testing-strategy

After installing, type/testing-strategyin Claude Code to confirm it loaded.

Details

From the project README

Testing Strategy

Overview

Analyze the project context and recommend a comprehensive testing strategy. This skill selects appropriate frameworks, defines the testing pyramid, establishes coverage thresholds, and generates test configuration files. The goal is a repeatable, measurable testing foundation that the team can maintain.

Announce at start: "I'm using the testing-strategy skill to define the testing approach."


Phase 1: Analyze Project

Goal: Understand the current stack, existing tests, and CI setup before recommending anything.

Actions
  1. Identify the tech stack (language, framework, runtime)
  2. Survey existing tests (what testing exists already?)
  3. Review CI/CD pipeline (how do tests run?)
  4. Measure current coverage levels
  5. Map external dependencies (services, databases, APIs)
Discovery Commands
# Identify test files
find . -name "*.test.*" -o -name "*.spec.*" | head -30

# Check for test config
ls vitest.config.* jest.config.* pytest.ini pyproject.toml .mocharc.* 2>/dev/null

# Check current coverage
cat coverage/coverage-summary.json 2>/dev/null || echo "No coverage report found"

# Check CI config
cat .github/workflows/*.yml 2>/dev/null | head -50
STOP — Do NOT proceed to Phase 2 until:
  • Tech stack is identified
  • Existing test infrastructure is mapped
  • CI pipeline status is known
  • External dependencies are listed

Phase 2: Recommend Testing Pyramid

Goal: Select frameworks and define the pyramid ratios.

Framework Selection Table
StackUnitIntegrationE2E
Node.js/TSVitestVitest + SupertestPlaywright
React/Next.jsVitest + Testing LibraryVitest + MSWPlaywright/Cypress
Pythonpytestpytest + httpxPlaywright
Gotesting + testifytesting + testcontainersPlaywright
Rustcargo testcargo test + testcontainers-
PHP/LaravelPest/PHPUnitPest + HTTP testsPlaywright/Dusk
Testing Pyramid Ratios
        /\
       /  \     E2E Tests (10%)
      /    \    Critical user journeys only
     /------\
    /        \   Integration Tests (30%)
   /          \  API endpoints, DB queries, service interactions
  /------------\
 /              \ Unit Tests (60%)
/                \ Pure functions, business logic, utilities
What to Test at Each Level
LevelTest TheseDo NOT Test These
Unit (60%)Pure functions, business logic, data transformations, validations, state managementFramework internals, third-party libraries
Integration (30%)API endpoints, database queries, service-to-service calls, auth flowsIndividual functions in isolation
E2E (10%)Critical user journeys (signup, purchase), cross-browser, accessibilityEdge cases (handle at unit level)
STOP — Do NOT proceed to Phase 3 until:
  • Framework selection matches the tech stack
  • Pyramid ratios are defined
  • Testing scope at each level is documented

Phase 3: Define Coverage Thresholds

Goal: Set realistic, enforceable coverage targets.

Coverage Threshold Table
CategoryMinimumTargetNotes
Overall70%85%Lines covered
Critical paths90%95%Auth, payments, data access
New code (PRs)80%90%Enforced in CI
Utilities95%100%Pure functions are easy to test
Threshold Selection Decision Table
Project MaturityOverall MinimumNew Code MinimumRationale
Greenfield80%90%Start high, maintain standard
Active (good coverage)70%85%Maintain and improve
Legacy (low coverage)50%80%Raise floor gradually
Prototype/MVP60%70%Cover critical paths, accept gaps
STOP — Do NOT proceed to Phase 4 until:
  • Coverage thresholds are realistic for the project maturity
  • Critical path coverage targets are defined
  • CI enforcement strategy is decided

Phase 4: Generate Configuration

Goal: Produce working test configuration files and CI integration.

Actions
  1. Generate test runner config (vitest.config.ts, jest.config.js, pytest.ini)
  2. Configure coverage with thresholds
  3. Add test commands to CI workflow
  4. Set up test environment (.env.test, test databases)
Example: Vitest Config
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    globals: true,
    environment: 'jsdom',
    coverage: {
      provider: 'v8',
      reporter: ['text', 'json', 'html'],
      thresholds: {
        lines: 80,
        functions: 80,
        branches: 80,
        statements: 80,
      },
    },
    include: ['src/**/*.test.{ts,tsx}'],
  },
});
STOP — Do NOT proceed to Phase 5 until:
  • Config files are syntactically valid
  • Coverage thresholds match Phase 3 decisions
  • CI integration commands are defined

Phase 5: Create Test Templates

Goal: Provide example test files demonstrating project conventions.

Actions
  1. Create a unit test example with Arrange-Act-Assert
  2. Create an integration test with setup/teardown
  3. Create mock/stub patterns for external dependencies
  4. Create test data factories/fixtures
  5. Create a snapshot test example (when appropriate)
STOP — Verification Gate before claiming complete:
  • Framework selection matches tech stack
  • Coverage thresholds are realistic
  • Test configuration files are valid
  • Example tests actually run
  • CI integration is configured

Anti-Patterns / Common Mistakes

Anti-PatternWhy It Is WrongCorrect Approach
Testing implementation detailsBreaks on every refactor, provides false confidenceTest behavior and outcomes
Excessive mockingTests nothing real, mocks mask real failuresMock at boundaries only
Brittle CSS selectors in E2EBreak with styling changesUse data-testid or accessible roles
Test interdependenceOrdering failures, flaky in CIEach test must run independently
Slow tests blocking CIDevelopers skip running testsParallelize, use test databases, mock external APIs
Snapshot overuseSnapshots approved without reading, stale baselinesUse for stable output only
No coverage enforcement in CICoverage degrades over timeEnforce thresholds in CI pipeline
Same coverage target everywhereUtilities and critical paths differUse per-category thresholds

Decision Table: Mock Strategy

Dependency TypeMock StrategyExample
External APIMSW / nock / responsesThird-party payment API
DatabaseTest database or in-memoryPostgreSQL test container
File systemVirtual FS or temp directoryFile upload processing
Time/DateFake timersExpiration logic
Environment varsOverride in test setupFeature flags
Random/UUIDSeed or stubID generation

Integration Points

SkillRelationship
test-driven-developmentStrategy defines frameworks; TDD defines the cycle
acceptance-testingStrategy includes acceptance test infrastructure
code-reviewReview checks that tests follow the defined strategy
senior-frontendFrontend testing uses strategy-selected frameworks
senior-backendBackend testing uses strategy-selected frameworks
performance-optimizationLoad tests are part of the overall testing strategy
webapp-testingPlaywright E2E tests follow strategy pyramid

Key Principles

  • Test behavior, not implementation — what it does, not how
  • Fast feedback — unit tests should run in seconds
  • Deterministic — no flaky tests, no time-dependent logic
  • Readable — tests are documentation; make them clear
  • Maintainable — tests should help refactoring, not block it

Skill Type

FLEXIBLE — Adapt framework selection and coverage thresholds to the project context. The five-phase process and testing pyramid structure are strongly recommended but can be scaled to project size.

Comments

Markdown supported