qe-test-automation-strategy

Test Automation Strategy

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "qe-test-automation-strategy" with this command: npx skills add proffesor-for-testing/agentic-qe/proffesor-for-testing-agentic-qe-qe-test-automation-strategy

Test Automation Strategy

<default_to_action> When designing or improving test automation:

  • FOLLOW test pyramid: 70% unit, 20% integration, 10% E2E

  • APPLY F.I.R.S.T. principles: Fast, Isolated, Repeatable, Self-validating, Timely

  • USE patterns: Page Object Model, Builder pattern, Factory pattern

  • INTEGRATE in CI/CD: Every commit runs tests, fail fast, clear feedback

  • MANAGE flaky tests: Quarantine, fix, or delete - never ignore

Quick Anti-Pattern Detection:

  • Ice cream cone (many E2E, few unit) → Invert to pyramid

  • Slow tests (> 10 min suite) → Parallelize, mock external deps

  • Flaky tests → Fix timing, isolate data, or quarantine

  • Test duplication → Share fixtures, use page objects

  • Brittle selectors → Use data-testid, semantic locators

Critical Success Factors:

  • Fast feedback is the goal (< 10 min full suite)

  • Automation supports testing, doesn't replace judgment

  • Invest in test infrastructure like production code </default_to_action>

Quick Reference Card

When to Use

  • Building new automation framework

  • Improving existing test efficiency

  • Reducing flaky test burden

  • Optimizing CI/CD pipeline speed

Test Pyramid

Layer % Speed Isolation Examples

Unit 70% < 1ms Complete Pure functions, logic

Integration 20% < 1s Partial API, database

E2E 10% < 30s None User journeys

F.I.R.S.T. Principles

Principle Meaning How

Fast Quick execution Mock external deps

Isolated No shared state Fresh fixtures per test

Repeatable Same result every time No random data

Self-validating Clear pass/fail Assert, don't print

Timely Written with code TDD, not after

Anti-Patterns

Problem Symptom Fix

Ice cream cone 80% E2E, 10% unit Invert pyramid

Slow suite 30+ min CI Parallelize, prune

Flaky tests Random failures Quarantine, fix timing

Coupled tests Order-dependent Isolate data

Brittle selectors Break on CSS change Use data-testid

Page Object Model

// pages/LoginPage.js class LoginPage { constructor(page) { this.page = page; this.emailInput = '[data-testid="email"]'; this.passwordInput = '[data-testid="password"]'; this.submitButton = '[data-testid="submit"]'; this.errorMessage = '[data-testid="error"]'; }

async login(email, password) { await this.page.fill(this.emailInput, email); await this.page.fill(this.passwordInput, password); await this.page.click(this.submitButton); }

async getError() { return this.page.textContent(this.errorMessage); } }

// Test uses page object test('shows error for invalid credentials', async ({ page }) => { const loginPage = new LoginPage(page); await loginPage.login('bad@email.com', 'wrong'); expect(await loginPage.getError()).toBe('Invalid credentials'); });

CI/CD Integration

name: Test Pipeline on: [push, pull_request]

jobs: unit-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm ci - run: npm run test:unit -- --coverage timeout-minutes: 5 - uses: codecov/codecov-action@v3

integration-tests: needs: unit-tests runs-on: ubuntu-latest services: postgres: image: postgres:15 steps: - run: npm run test:integration timeout-minutes: 10

e2e-tests: needs: integration-tests runs-on: ubuntu-latest steps: - run: npx playwright test timeout-minutes: 15

Flaky Test Management

// Quarantine flaky tests describe.skip('Quarantined - INC-123', () => { test('flaky test awaiting fix', () => { /* ... */ }); });

// Agent-assisted stabilization await Task("Fix Flaky Tests", { tests: quarantinedTests, analysis: ['timing-issues', 'data-isolation', 'race-conditions'], strategies: ['add-waits', 'isolate-fixtures', 'mock-externals'] }, "qe-flaky-test-hunter");

Agent-Assisted Automation

// Generate tests following pyramid await Task("Generate Test Suite", { sourceCode: 'src/', pyramid: { unit: 70, integration: 20, e2e: 10 }, patterns: ['page-object', 'builder', 'factory'], framework: 'jest' }, "qe-test-generator");

// Optimize test execution await Task("Optimize Suite", { algorithm: 'johnson-lindenstrauss', targetReduction: 0.3, maintainCoverage: 0.95 }, "qe-regression-risk-analyzer");

// Analyze flaky patterns await Task("Flaky Analysis", { testHistory: 'last-30-days', detectPatterns: ['timing', 'data', 'environment'], recommend: 'stabilization-strategy' }, "qe-flaky-test-hunter");

Agent Coordination Hints

Memory Namespace

aqe/automation/ ├── test-pyramid/* - Coverage by layer ├── page-objects/* - Shared page objects ├── flaky-registry/* - Quarantined tests └── execution-metrics/* - Suite performance data

Fleet Coordination

const automationFleet = await FleetManager.coordinate({ strategy: 'test-automation', agents: [ 'qe-test-generator', // Generate pyramid-compliant tests 'qe-test-executor', // Parallel execution 'qe-coverage-analyzer', // Coverage gaps 'qe-flaky-test-hunter', // Flaky detection 'qe-regression-risk-analyzer' // Smart selection ], topology: 'hierarchical' });

Related Skills

  • tdd-london-chicago - TDD for unit tests

  • api-testing-patterns - Integration patterns

  • cicd-pipeline-qe-orchestrator - Pipeline integration

  • shift-left-testing - Early automation

Remember

Pyramid: 70% unit, 20% integration, 10% E2E. F.I.R.S.T. principles for every test. Page Object Model for E2E. Parallelize for speed. Quarantine flaky tests - never ignore them. Treat test code like production code.

With Agents: Agents generate pyramid-compliant tests, detect flaky patterns, optimize execution time, and maintain test infrastructure. Use agents to scale automation quality.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

api-testing-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

compatibility-testing

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

regression-testing

No summary provided by upstream source.

Repository SourceNeeds Review