mcpField
Q
qe-test-execution

qe-test-execution

github.com/proffesor-for-testingTesting & quality51987 installsUpdated today
Repository

About qe-test-execution

A guide to v3 test execution capabilities for teams running suites, reducing execution time, or setting up CI/CD test pipelines. It covers parallel runs, affected-test selection, flaky-test handling, and distributed execution.

Key features

  1. 01Run test suites in parallel
  2. 02Select tests affected by changes
  3. 03Retry and handle flaky tests
  4. 04Shard runs across environments
  5. 05Aggregate execution results

Use cases

  1. 01Reduce large-suite execution time
  2. 02Run only tests related to code changes
  3. 03Diagnose and manage flaky tests
  4. 04Build CI/CD test pipelines

Install

Copy the command and run it in a terminal.

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

After installing, type/qe-test-executionin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

evals/
qe-test-execution.yaml
schemas/
output.json
scripts/
validate-config.json

Details

From the project README

QE Test Execution

Purpose

Guide the use of v3's test execution capabilities including parallel orchestration, smart test selection, flaky test handling, and distributed execution across multiple environments.

Activation

  • When running test suites
  • When optimizing test execution time
  • When handling flaky tests
  • When setting up CI/CD test pipelines
  • When executing tests across environments

Quick Start

# Run all tests with parallelization
aqe test run --parallel --workers 4

# Run affected tests only
aqe test run --affected --since HEAD~1

# Run with retry for flaky tests
aqe test run --retry 3 --retry-delay 1000

# Run specific test types
aqe test run --type unit,integration --exclude e2e

Agent Workflow

// Orchestrate test execution
Task("Execute test suite", `
  Run the full test suite with:
  - 4 parallel workers
  - Retry flaky tests up to 3 times
  - Generate JUnit report
  - Fail fast on critical tests
  Report results and any failures.
`, "qe-test-executor")

// Smart test selection
Task("Run affected tests", `
  Analyze changes in PR #123 and:
  - Identify affected test files
  - Run only relevant tests
  - Include integration tests for changed modules
  - Report coverage delta
`, "qe-test-selector")

Execution Strategies

1. Parallel Execution
await testExecutor.runParallel({
  suites: ['unit', 'integration'],
  workers: 4,
  distribution: 'by-file',  // or 'by-test', 'by-duration'
  isolation: 'process',
  sharding: {
    enabled: true,
    total: 4,
    index: process.env.SHARD_INDEX
  }
});
2. Smart Test Selection
await testExecutor.runAffected({
  changes: gitChanges,
  selection: {
    direct: true,      // Tests for changed files
    transitive: true,  // Tests for dependents
    integration: true  // Integration tests touching changed code
  },
  fallback: 'full-suite'  // If analysis fails
});
3. Flaky Test Handling
await testExecutor.handleFlaky({
  detection: {
    enabled: true,
    threshold: 0.1,  // 10% flake rate
    window: 100      // Last 100 runs
  },
  strategy: {
    retry: 3,
    quarantine: true,
    notify: ['#flaky-tests']
  }
});

Execution Configuration

execution:
  parallel:
    workers: auto  # CPU cores - 1
    timeout: 30000
    bail: false

  retry:
    count: 2
    delay: 1000
    only_failed: true

  reporting:
    formats: [junit, json, html]
    include_timing: true
    include_logs: true

  environments:
    - name: node-18
      image: node:18-alpine
    - name: node-20
      image: node:20-alpine

CI/CD Integration

# GitHub Actions example
test:
  runs-on: ubuntu-latest
  strategy:
    matrix:
      shard: [1, 2, 3, 4]
  steps:
    - uses: actions/checkout@v4
    - name: Run tests
      run: |
        aqe test run \
          --shard ${{ matrix.shard }}/4 \
          --parallel \
          --report junit
    - name: Upload results
      uses: actions/upload-artifact@v4
      with:
        name: test-results-${{ matrix.shard }}
        path: reports/

Result Aggregation

interface ExecutionResults {
  summary: {
    total: number;
    passed: number;
    failed: number;
    skipped: number;
    flaky: number;
    duration: number;
  };
  shards: ShardResult[];
  failures: TestFailure[];
  flakyTests: FlakyTest[];
  coverage: CoverageReport;
  timing: TimingAnalysis;
}

Gotchas

  • Full test suites may OOM in containers — the rule "don't run full suite" was violated 20x despite being in CLAUDE.md. Fix: make suite lightweight, don't just add more rules
  • Fewer focused agents (3-4) outperform many vague ones (6-8) — always include verification command in each agent prompt
  • New model releases can shift agent behavior mid-sprint — rules followed yesterday may be ignored today after model update
  • Running all tests in parallel can mask flaky tests — use --workers=1 for initial diagnosis
  • Session crashes lose all context — save intermediate results to disk, not just memory

Coordination

Primary Agents: qe-test-executor, qe-test-selector, qe-flaky-detector Coordinator: qe-test-execution-coordinator Related Skills: qe-test-generation, qe-coverage-analysis

Comments

Markdown supported