playwright-regression-testing

Automated regression testing strategy and best practices using Playwright with TypeScript. Use when asked to plan, organize, select, execute, or optimize regression test suites for web applications. Covers change-based and risk-based test selection, test tagging and prioritization, parallel execution, sharding, CI/CD pipeline integration with GitHub Actions, flaky test management, suite health monitoring, and regression types (corrective, progressive, selective, complete). Keywords: regression testing, test selection, smoke tests, test suite optimization, CI pipeline, flaky tests, test sharding, impact analysis, git diff.

Playwright Regression Testing (TypeScript)

Strategy and best practices for automated regression testing of web applications using Playwright with TypeScript.

Activation: This skill is triggered when working with regression test strategy, test suite selection, test prioritization, CI/CD pipeline testing, flaky test management, test sharding, or optimizing test execution for web applications using Playwright.

When to Use This Skill

  • Plan regression suites with risk-based and change-based test selection
  • Organize tests into tiers (smoke, sanity, selective, full regression)
  • Optimize execution with parallelization, sharding, and time-budget strategies
  • Integrate with CI/CD using GitHub Actions pipelines
  • Manage flaky tests with quarantine, retry policies, and root cause tracking
  • Monitor suite health with execution time, flake rate, and detection metrics
  • Select tests after changes using git diff analysis and impact mapping

Prerequisites

RequirementDetails
Node.jsv18+ recommended
Playwright@playwright/test package
TypeScripttypescript configured in project
BrowsersInstalled via npx playwright install
GitRequired for change-based test selection
GitHub ActionsRecommended CI/CD platform

Quick Reference

Tier Model

Tier 0 — Smoke       (< 2 min)   → Critical path, runs on every commit
Tier 1 — Sanity      (< 10 min)  → Core features, runs on every PR
Tier 2 — Selective   (< 30 min)  → Change-based + risk-based, runs on merge
Tier 3 — Full        (< 60 min)  → Complete regression, runs nightly/pre-release

Regression Types

TypeWhenScope
CorrectiveNo app code changed (infra, config, env)Full suite to verify nothing broke
ProgressiveNew features addedExisting tests + new feature tests
SelectiveSpecific code changesChanged modules + dependent tests
CompleteMajor refactor, release candidateRun everything across all projects

Tag Taxonomy

TagPurposeTier
@smokeCritical path, must always pass0
@sanityCore feature verification1
@regressionStandard regression coverage2-3
@criticalRevenue/business-critical flows0-1
@slowTests exceeding 30 seconds3
@quarantineKnown flaky, under investigationSkipped in CI
@a11yAccessibility checks2

CLI Quick Reference

CommandDescription
npx playwright test --grep @smokeRun smoke tier only
npx playwright test --grep @regressionRun regression suite
npx playwright test --grep-invert @quarantineSkip quarantined tests
npx playwright test --shard=1/4Run shard 1 of 4
npx playwright test --last-failedRe-run only failed tests

Common Rationalizations

Common shortcuts and "good enough" excuses that erode test quality — and the reality behind each.

RationalizationReality
"Run all tests every time"Change-based test selection reduces CI time 60-80%. Run the full suite nightly, not every commit.
"Flaky tests are normal"Flaky tests erode trust in the entire suite. Quarantine, investigate, and fix them.
"Regression testing is just re-running everything"Strategic selection (risk-based, change-based) catches more defects in less time than brute-force runs.
"Test sharding is premature optimization"Parallel sharding cuts CI time linearly with workers. Start with 4 shards from day one.
"Smoke tests cover regression"Smoke tests verify health; regression tests verify behavior. They serve different purposes.
"Tagging tests is busywork"Tags enable selective execution, prioritization, and suite analysis. Untagged suites are unmanageable.

References

DocumentContent
Regression StrategyTier definitions, test selection (change-based, risk-based, historical, time-budget), directory layout, tagging, naming conventions, Playwright best practices, example test
CI/CD IntegrationGitHub Actions tiered pipeline, sharding, merge reports, Playwright config, performance optimization, CLI reference
Flaky ManagementRetry policies, quarantine strategies, detection checklist, suite health metrics, troubleshooting

Verification

After completing this skill's workflow, confirm:

  • Regression suite covers critical paths — All priority-1 user flows have regression tests
  • Smoke test subset identified — Tagged @smoke tests run in under 2 minutes
  • No test duplication — Each scenario tested exactly once at the appropriate level
  • Test isolation verified — Running tests in random order produces same results as sequential
  • Flaky test baseline established — All tests pass 5/5 consecutive runs
  • CI pipeline configured — GitHub Actions workflow runs regression on schedule
  • Allure or HTML report generated — Test results available in human-readable format