Agentic-qe qe-test-execution
Parallel test execution orchestration with intelligent scheduling, retry logic, and comprehensive result aggregation.
install
source · Clone the upstream repo
git clone https://github.com/proffesor-for-testing/agentic-qe
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/proffesor-for-testing/agentic-qe "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.kiro/skills/qe-test-execution" ~/.claude/skills/proffesor-for-testing-agentic-qe-qe-test-execution-247cf7 && rm -rf "$T"
manifest:
.kiro/skills/qe-test-execution/SKILL.mdsource content
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; }
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