ATS-TestedFree + edit in builder

QA / test engineer resume examples

Full-length QA engineer resumes across manual, automation, and SDET tracks. Each leads with the test surface owned, names flake-rate and coverage in real units, and surfaces the test-strategy work hiring panels grade on.

ByTomás Albrecht·Senior Resume Writer·Reviewed byDaniel Ortega· Head of Writing·1 example

QA / test engineer hiring grades on three axes: flavor (SDET, automation engineer, manual QA), evidence (flake-rate, coverage, bugs caught — in real numbers), and strategy (does the candidate think about test pyramids and contract tests, or do they think about writing more E2E tests). The resumes on this page are written for those axes.

This matters because the QA function split into distinct flavors over the last decade. SDET (Software Development Engineer in Test) is dev-heavy — writes test frameworks, builds infrastructure. Automation Engineer writes tests in an established framework. Manual QA does exploratory + scripted manual testing. Each is a different role with different hiring vocabulary. The 2026 trend is the SDET role growing while pure-manual QA shrinks.

For entry-level candidates, the structure is identical with smaller scope. A substantial side project demonstrating test discipline (a small system shipped with proper unit + integration + E2E coverage), QA-specific certifications (ISTQB Foundation), or test-framework open-source contributions all carry weight.

For senior and staff candidates, the structure widens. The summary names the QA flavor and the test surface. Bullets quantify flake, coverage, runtime, and bugs caught with severity calibration. The bottom third reserves space for capability proof — Playwright / Cypress / Vitest contributions, conference talks at SeleniumConf or TestBash, or substantial published test-framework work.

The example

Mateusz Wojciechowski

Senior SDET · Playwright + Vitest · Test pyramid + contract testing
Warsaw·PL·[email protected]·+48 600 555 0381·github.com/mwojcie·linkedin.com/in/mwojcie

Profile

Senior SDET with six years of test engineering at two Series B/C SaaS companies. Owns the Playwright + Vitest E2E + integration suites for the checkout flow at Tinderbox. Cut flake rate from 12% to 1.5% in 6 weeks via deterministic time + contract testing; CI test runtime fell 70%. Two merged PRs to microsoft/playwright.

Skills

Frameworks
PlaywrightVitestCypressk6 (load testing)Chromatic (visual regression)
Practices
Test pyramid + contract testingDeterministic time + flake eliminationaxe-core + accessibilityBDD (selectively) + exploratory
Languages + CI
TypeScriptPythonGitHub Actions + BuildkiteDatadog Test Visibility

Experience

Senior SDET
Tinderbox · Remote (Warsaw)
Aug 2022Present
  • Cut flaky Playwright tests on the checkout flow from 12% to under 1.5% in 6 weeks via deterministic time (frozen Date.now + RNG seeding) and a contract-test layer between FE and the Stripe API.
  • Lifted unit-test coverage from 38% to 84% on the merchant-platform services; pyramid split now 72% unit / 21% integration / 7% E2E; CI suite runtime under 12 min p99.
  • Authored the team's test pyramid + contract-testing strategy doc; migrated 22 services from E2E-heavy to unit-heavy; CI runtime fell 70% and post-deploy bug count fell from 14/quarter to 3/quarter.
  • Built the load-test suite in k6 against the merchant-checkout flow; surfaced 4 capacity bugs before launch (one would have caused a $480k revenue-loss incident at peak); authored the quarterly capacity-planning cycle.
  • Reduced mean time to triage flaky tests from 4h to 38m by adding test-replay videos + browser console logs + network HAR captures to every CI failure.
SDET
Brainly · Warsaw, PL
Apr 2020Jul 2022
  • Migrated the E2E suite from Selenium WebDriver to Playwright over 8 weeks; runtime fell from 42 min to 9 min; cross-browser support added without test-code changes.
  • Built the team's accessibility-testing pipeline (axe-core + Playwright + manual screen-reader audits); WCAG 2.2 AA conformance reached 100% across 14 product surfaces.
  • Built the visual-regression pipeline (Chromatic + Playwright); 4,200 component snapshots across 14 surfaces; visual drift caught at PR-time.
QA Engineer
Allegro · Poznań, PL
Jul 2018Mar 2020
  • Designed the team's exploratory testing cadence (4-hour structured bashes every release); surfaced 38 critical-severity bugs over 4 quarters that automation missed.

Education

BSc in Computer Science
University of Warsaw · Warsaw, PL
Oct 2014Jun 2018
senior

Senior SDET

6 years SDET. Owns Playwright + Vitest suites. Cut flake from 12% to 1.5%.

Use this template

Live preview · Senior SDET

Use this resume

Why this resume works

Summary names the flavor (SDET), framework, and surface. Flake rate before/after. Coverage with pyramid split. Two merged PRs to Playwright close. One page tight.

Mateusz Wojciechowski

Senior SDET · Playwright + Vitest · Test pyramid + contract testing
Warsaw·PL·[email protected]·+48 600 555 0381·github.com/mwojcie·linkedin.com/in/mwojcie

Profile

Senior SDET with six years of test engineering at two Series B/C SaaS companies. Owns the Playwright + Vitest E2E + integration suites for the checkout flow at Tinderbox. Cut flake rate from 12% to 1.5% in 6 weeks via deterministic time + contract testing; CI test runtime fell 70%. Two merged PRs to microsoft/playwright.

Skills

Frameworks
PlaywrightVitestCypressk6 (load testing)Chromatic (visual regression)
Practices
Test pyramid + contract testingDeterministic time + flake eliminationaxe-core + accessibilityBDD (selectively) + exploratory
Languages + CI
TypeScriptPythonGitHub Actions + BuildkiteDatadog Test Visibility

Experience

Senior SDET
Tinderbox · Remote (Warsaw)
Aug 2022Present
  • Cut flaky Playwright tests on the checkout flow from 12% to under 1.5% in 6 weeks via deterministic time (frozen Date.now + RNG seeding) and a contract-test layer between FE and the Stripe API.
  • Lifted unit-test coverage from 38% to 84% on the merchant-platform services; pyramid split now 72% unit / 21% integration / 7% E2E; CI suite runtime under 12 min p99.
  • Authored the team's test pyramid + contract-testing strategy doc; migrated 22 services from E2E-heavy to unit-heavy; CI runtime fell 70% and post-deploy bug count fell from 14/quarter to 3/quarter.
  • Built the load-test suite in k6 against the merchant-checkout flow; surfaced 4 capacity bugs before launch (one would have caused a $480k revenue-loss incident at peak); authored the quarterly capacity-planning cycle.
  • Reduced mean time to triage flaky tests from 4h to 38m by adding test-replay videos + browser console logs + network HAR captures to every CI failure.
SDET
Brainly · Warsaw, PL
Apr 2020Jul 2022
  • Migrated the E2E suite from Selenium WebDriver to Playwright over 8 weeks; runtime fell from 42 min to 9 min; cross-browser support added without test-code changes.
  • Built the team's accessibility-testing pipeline (axe-core + Playwright + manual screen-reader audits); WCAG 2.2 AA conformance reached 100% across 14 product surfaces.
  • Built the visual-regression pipeline (Chromatic + Playwright); 4,200 component snapshots across 14 surfaces; visual drift caught at PR-time.
QA Engineer
Allegro · Poznań, PL
Jul 2018Mar 2020
  • Designed the team's exploratory testing cadence (4-hour structured bashes every release); surfaced 38 critical-severity bugs over 4 quarters that automation missed.

Education

BSc in Computer Science
University of Warsaw · Warsaw, PL
Oct 2014Jun 2018

What hiring managers look for

The specific signals an experienced qa engineer hiring panel grades on during the eight-second scan.

  • Summary names the test surface and the framework

    'Owns the Playwright E2E suite for the checkout flow' beats 'QA engineer.' Surface + framework is what panels scan for.

  • Flake-rate quantified

    Flake rate before/after. Test work that doesn't address flake reads as feature-list.

  • Coverage + test pyramid named

    Unit / integration / E2E split. Generic 'test coverage' parses as junior.

  • One test-strategy artifact

    Test pyramid rebuild, contract tests, deterministic time. Strategy work distinguishes SDET from manual.

  • Performance or load testing (where applicable)

    k6, JMeter, Locust, Gatling. Load-test work surfaces senior signal.

  • CI/CD integration named

    GitHub Actions, CircleCI, Jenkins. Test work without CI integration reads as one-off.

How to write a qa engineer resume

  1. 1

    Open with the QA flavor and the test surface

    An SDET summary names the flavor and the surface: 'SDET at a Series B SaaS; owns the Playwright + Vitest E2E + integration suites for the checkout flow.' Automation Engineer: 'Automation engineer on the QA team; owns the Cypress E2E suite for 14 product surfaces.' Manual QA: 'Manual QA lead on the consumer-app team; runs the exploratory testing cycle + scripted regression suite.'

    Lead with the flavor. QA roles are distinct in 2026.

  2. 2

    Quantify with flake, coverage, runtime

    Flake rate (before/after). Coverage (unit / integration / E2E split). CI runtime (before/after). Bugs caught (count + severity calibration). Post-deploy bug count (longitudinal).

  3. 3

    Name the test pyramid honestly

    70% unit / 20% integration / 10% E2E is the healthy split. Surface the split if you've done test-strategy work — it proves you understand the pyramid.

  4. 4

    Surface one test-strategy artifact

    Pyramid rebuild, contract testing, deterministic time, snapshot testing, visual regression. Strategy work distinguishes senior QA from junior.

  5. 5

    Close with framework contribution or community

    Merged PRs to Playwright, Cypress, Vitest, k6. Talks at SeleniumConf, TestBash, Ministry of Testing events. Published test-framework work with adoption.

Pro tip

Specify the QA flavor — SDET, Automation, Manual

SDET (heavy dev work + frameworks), Automation Engineer (writes tests in established framework), Manual QA (exploratory + scripted manual). Different roles in 2026; sophisticated hiring panels distinguish them.

Pro tip

Flake-rate is the load-bearing test-engineering metric

'Cut flake rate from 12% to under 1.5%' is the bullet that proves the work landed. Test suites that flap are worse than no tests at all.

Pro tip

Name the test pyramid honestly

70% unit / 20% integration / 10% E2E is the healthy split. Listing 80% E2E coverage is a red flag — it signals test-pyramid inversion.

Pro tip

Contract tests are senior signal

Contract testing between FE and BE, contract testing across microservices. Naming contract-test work surfaces senior-level test-strategy depth.

ATS notes

QA / test engineer ATS pipelines screen for framework + flavor + practice tokens. Framework: Playwright, Cypress, Selenium, WebdriverIO, Vitest, Jest, JUnit5, pytest, RSpec, XCTest, Espresso. Practice: SDET, test automation, manual QA, exploratory testing, contract testing, BDD, TDD, A/B testing, accessibility testing. Performance: k6, JMeter, Locust, Gatling, Artillery. CI: GitHub Actions, CircleCI, Jenkins, Buildkite.

Name the framework precisely. JDs explicitly screen for Playwright vs Cypress vs Selenium. Match the JD's vocabulary.

Sample bullets you can adapt

Each follows the [verb] [object] [number] structure hiring managers grade against. Copy them as a starting point, swap in your own numbers, and read the annotation to understand why each one works.

  • Flake

    Cut flaky Playwright tests on the checkout flow from 12% to under 1.5% in 6 weeks by introducing deterministic time (frozen Date.now + RNG seeding) and a contract-test layer between the FE and the Stripe API.

    Why it works: Framework, before/after, timeline, two technical interventions.

  • Coverage

    Lifted unit-test coverage from 38% to 84% on the merchant-platform services; pyramid split now 72% unit / 21% integration / 7% E2E; CI suite runtime under 12 min p99.

    Why it works: Coverage delta, pyramid split (proves healthy distribution), CI runtime.

  • Test strategy

    Authored the team's test pyramid + contract-testing strategy doc; migrated 22 services from E2E-heavy to unit-heavy; CI runtime fell 70% and post-deploy bug count fell from 14/quarter to 3/quarter.

    Why it works: Strategy artifact, migration scope, two outcome metrics.

  • Performance

    Built the load-test suite in k6 against the merchant-checkout flow; surfaced 4 capacity bugs before launch (one would have caused a $480k revenue-loss incident at peak); authored the team's quarterly capacity-planning cycle.

    Why it works: k6, bug count + severity (counterfactual $), cadence artifact.

  • Accessibility

    Built the team's accessibility-testing pipeline (axe-core + Playwright + manual screen-reader audits); WCAG 2.2 AA conformance reached 100% across 14 product surfaces; surfaced 38 violations pre-launch.

    Why it works: Names the tool stack, the standard, the surface scope, and the violations-caught outcome.

  • Migration

    Migrated the E2E suite from Selenium WebDriver to Playwright over 8 weeks; runtime fell from 42 min to 9 min; cross-browser support added without test-code changes.

    Why it works: Names old → new framework, duration, runtime delta, and the cross-browser bonus.

  • Visual regression

    Built the visual-regression pipeline (Chromatic + Playwright); 4,200 component snapshots across 14 surfaces; visual drift caught at PR-time, not in production.

    Why it works: Names tools, snapshot count, surface scope, and the shift-left outcome.

  • Tooling

    Authored the team's CI test-result reporting dashboard (GitHub Actions + datadog-test-visibility + Grafana); flaky-test ownership now traceable per PR; flake-rate trend tracked weekly.

    Why it works: Names the tool stack and the ownership outcome. Tooling that scales the QA practice is senior signal.

  • Triage

    Reduced mean time to triage flaky tests from 4 hours to 38 minutes by adding test-replay videos + browser console logs + network HAR captures to every CI failure.

    Why it works: Names the metric (MTTT), the time delta, and the three diagnostic improvements.

  • Open Source

    Two merged PRs to microsoft/playwright — one closed a race condition in the locator's auto-waiting under heavy DOM mutation; one extended the trace-viewer with custom step annotations.

    Why it works: Named project, two PRs, two technical descriptions.

  • Mentorship

    Mentored 2 junior QA engineers transitioning to SDET focus; both shipped sole-owner test-framework work within 6 months.

    Why it works: Names the transition (QA → SDET), timeframe, deliverable.

  • Exploratory

    Designed the team's exploratory testing cadence (4-hour structured bashes every release); surfaced 38 critical-severity bugs over 4 quarters that automation missed; documented patterns in a shared playbook.

    Why it works: Cadence design, bug count + severity, and the playbook output. Senior-level manual + exploratory testing work.

Wrong vs Right · bullet rewrites

Same intent, two phrasings. Read why the right column lands on the keep-pile and the wrong column doesn't.

Summary opener

Wrong

QA engineer with experience in manual and automated testing.

Right

SDET at a Series B SaaS; owns the Playwright + Vitest E2E + integration suites for the checkout flow. Cut flake rate from 12% to 1.5% in 6 weeks via deterministic time + contract-test layer; CI test runtime fell from 38 min to 9 min.

Why: Right version names the QA flavor (SDET), the framework, the surface, and two specific outcomes.

Flake

Wrong

Reduced flaky tests across the test suite.

Right

Cut flaky Playwright tests on the checkout flow from 12% to under 1.5% in 6 weeks by introducing deterministic time (frozen Date.now + RNG seeding) and a contract-test layer between the FE and the Stripe API.

Why: Right version names the framework, the before/after, the timeline, and the two technical interventions.

Coverage

Wrong

Achieved high test coverage across the codebase.

Right

Lifted unit-test coverage from 38% to 84% on the merchant-platform services; pyramid split now 72% unit / 21% integration / 7% E2E; CI suite runtime under 12 min p99.

Why: Right version names the coverage delta, the pyramid split (proves healthy distribution), and the CI runtime. Generic 'high coverage' is filler.

Test strategy

Wrong

Designed and implemented test strategies.

Right

Authored the team's test pyramid + contract-testing strategy doc; migrated 22 services from E2E-heavy to unit-heavy; CI runtime fell 70% and post-deploy bug count fell from 14/quarter to 3/quarter.

Why: Right version names the strategy artifact, migration scope, and two outcome metrics.

Performance

Wrong

Performed performance testing.

Right

Built the load-test suite in k6 against the merchant-checkout flow; surfaced 4 capacity bugs before launch (one would have caused a $480k revenue-loss incident at peak), and authored the team's quarterly capacity-planning cycle.

Why: Right version names k6, bug count + severity (the $480k counterfactual), and the cadence artifact.

Skip the blank page

Start from the senior sdet example

Edit the names, the numbers, the company — yours in under a minute.

Use this template

Common mistakes (and how to fix them)

Patterns our writers see most often when reviewing qa engineer resumes — each one disqualifies candidates faster than weak experience does.

  • Mistake

    Generic 'QA engineer' without naming the flavor.

    Fix

    Specify SDET / Automation Engineer / Manual QA. The 2026 hiring landscape distinguishes them.

  • Mistake

    Coverage claims without test-pyramid context.

    Fix

    Surface the pyramid split. 80% coverage on E2E is bad; 80% coverage with healthy pyramid is good.

  • Mistake

    No flake-rate metric.

    Fix

    Flake rate is the load-bearing test-engineering metric. Surface before/after.

  • Mistake

    Listing every framework without naming what you ship in.

    Fix

    Name your primary framework with version. Listing Playwright + Cypress + Selenium + WebdriverIO reads as junior.

  • Mistake

    Bugs-caught counts without severity.

    Fix

    Break out by severity. 'Surfaced 4 capacity bugs (1 would have caused a $480k incident)' is read.

  • Mistake

    Two-page resume with fewer than 7 years experience.

    Fix

    One page. QA hiring moves fast.

  • Mistake

    Hiding the dev-skill set for SDET roles.

    Fix

    SDET roles need dev skills. Name the language depth (TypeScript, Python, Go) — SDET-resumes that lead with frameworks-only read as automation-engineer-leaning.

  • Mistake

    No CI mention.

    Fix

    Name your CI (GitHub Actions, CircleCI, Jenkins, Buildkite). Test work without CI integration reads as one-off.

Resume format for QA Engineers

Reverse-chronological. Header → QA flavor + framework + surface summary → experience → open-source / community → skills (Frameworks / Practices / Languages / CI) → education. One page until at least seven years experience.

Salary & job outlook

Median annual salary

$105,000

Range: $62,510 to $172,000

Projected job growth

+12% from 2023 to 2033 (much faster than average)

Action verbs for qa engineers

Strong verbs lead strong bullets. Replace generic openers (worked on, helped with, was responsible for) with the specific verb that matches what you actually did.

shippedownedautomatedtestedverifiedcontractedfuzzedload-testedstress-testedchaos-testedsnapshot-testeddeduplicateddeflakedinstrumentedtriagedregressedexploratorily-testeddesigneddocumentedmentoredled

Skills hiring managers screen for

ATS pipelines weight your Skills section as a structured list. Include 15-25 of the items below if they match your experience — not soft skills.

PlaywrightCypressWebdriverIOSelenium WebDriverVitestJestMochaJUnit5pytestRSpecXCTest + XCUITestEspresso (Android)k6 + GrafanaJMeterLocustGatlingChromatic (visual regression)Percyaxe-coreTypeScript + JavaScriptPythonGoGitHub Actions + Buildkite + CircleCIDatadog Test VisibilityAllure reportingContract testing (Pact)BDD (Cucumber, Gherkin)TDDISTQB Foundation / Advanced

FAQ

Is SDET a different role from QA engineer?+

Increasingly distinct. SDET (Software Development Engineer in Test) is dev-heavy — builds test frameworks and infrastructure. QA Automation Engineer writes tests in established frameworks. Manual QA does exploratory + scripted manual testing. Match your resume vocabulary to the JD.

Should I list multiple test frameworks?+

List your primary with version, and one or two adjacent. Listing Playwright + Cypress + Selenium + WebdriverIO + Puppeteer reads as junior.

How important is the test pyramid on a QA resume?+

Load-bearing for senior roles. Surfacing your unit/integration/E2E split proves you understand healthy distribution. E2E-heavy resumes read as inexperienced.

Do QA certifications matter?+

ISTQB Foundation carries weak weight at the entry level. ISTQB Advanced has limited weight. At sophisticated tech companies, certifications matter much less than your test-strategy depth + framework fluency.

Should I include manual testing if I'm targeting SDET roles?+

Briefly. Exploratory + manual testing depth is useful context. But weight the resume toward the SDET signal (frameworks, infrastructure, language depth).

How do I demonstrate flake-fixing work?+

Surface flake-rate before/after + the specific interventions (deterministic time, contract tests, retries policy). Flake work without numbers reads as filler.

What about AI-assisted testing tools?+

Increasingly relevant. Tools like mabl, BugBug, KaneAI carry weak weight in 2026 hiring; mention them if you've shipped with them but don't lead with them.

Should I list visual-regression tools?+

Yes if you've shipped with them. Chromatic + Percy + Applitools all parse as separate tokens. Visual-regression work is current-vintage test engineering.

How do I handle a transition from manual QA to SDET?+

Lead with the SDET work + the language skills + the framework depth. Manual QA background is honest context but the resume's weight should be on the dev-heavy work.

Do mobile QA roles need different framework expertise?+

Yes. iOS: XCTest + XCUITest. Android: Espresso + JUnit5. Cross-platform: Appium. Native mobile QA is a sub-specialty; surface mobile-specific expertise if applying for mobile roles.

Ready when you are

Start with one of these examples

Pick the variant closest to your stage. We'll drop the resume into your account fully editable — swap the names, the numbers, the company, and you have a polished starting point in under a minute.

Browse examples