QA learning path
The path I would follow today to train as a QA Engineer, in order. Links go to articles on this wiki; items marked planned are part of the path but not written yet — they're also this wiki's backlog.
It's not a strict ladder: stages overlap, and it's normal to work with one while studying the next. But the order matters — automating without knowing how to design test cases is automating badly.
Stage 1 — The base
The vocabulary and concepts everything else is built on.
- What is QA? — QA vs QC vs testing, and the 7 principles.
- Types of testing
- The testing pyramid
- Test case design — the core skill of the craft.
- Bug reporting — a badly reported bug is a bug that doesn't get fixed.
- Exploratory testing — the technique that finds what scripts don't anticipate.
Stage 2 — The craft in a real team
How quality is worked inside an agile team, beyond executing tests.
- Agile testing strategy
- Acceptance criteria & DoR
- How to review a task
- Defining tests for a feature
- The evolving QA role
- Git basics for QA — the daily flow and Git as an investigation tool (diff, blame, bisect).
Stage 3 — Certification (optional, recommended)
The ISTQB CTFL won't make you a better tester by itself, but it organizes your vocabulary, fills gaps and opens HR filters. This is the best moment in the path for it: with stages 1 and 2 done, much of the syllabus will already sound familiar.
Stage 4 — The web from the inside: APIs
Before automating interfaces you need to understand what travels underneath.
- HTTP fundamentals
- What to test in an API
- Anatomy of an API test
- JSON Schema validation
- Test data and authentication
- Async APIs with Awaitility
- API framework architecture
- Karate: API testing with BDD — the fast, readable route.
- REST Client (VS Code)
- Postman and SoapUI — testing APIs without a framework, including SOAP and its WSDL.
- SQL for QA — validating in the database what the API claims.
- NoSQL for QA — validating when no schema defends you.
- Contract testing (Pact) planned
Stage 5 — E2E automation
Judgment first, tooling second.
- When to automate — and when not to.
- The E2E tools landscape — Selenium, WebDriverIO, Cypress, Playwright: choose with criteria.
- Cypress: first steps — the mental model: chaining and automatic retry.
- Cypress: patterns that work — cy.session, cy.intercept and state via API.
- Playwright: first steps
- Page Object Model
- Configuring and organizing the suite
- TypeScript for QA
- Python for QA — the utility language: pytest and requests.
- BDD with Cucumber — when it pays off and when it's theater.
- Migrating from TestCafe to Playwright — a real case, with numbers.
- AI in test automation
- Visual testing planned
- Mobile testing planned
Stage 6 — The pipeline
Testing lives in CI/CD or it doesn't scale.
- Environment validations
- Jenkins and GitLab CI — the concepts travel between tools.
- Static analysis
- Parallelization and sharding
- Docker for QA — the factory of reproducible environments.
- AWS for QA — logs, data and artifacts in the cloud, without depending on anyone.
- Observability and logs for QA planned
Stage 7 — Advanced strategy
Designing the quality of a whole system, not of a single feature.
- Testing layers: backend
- Testing layers: frontend
- What E2E tests should cover
- Microservices testing
- Shift-left and maturity
- Bug root cause analysis
- Performance testing fundamentals — test types and the metrics that matter.
- JMeter in practice — from the design GUI to the CLI in the pipeline.
- Security for QA: OWASP Top 10 planned
- Accessibility testing planned
Stage 8 — Domain specialization
Every sector has its own map of systems and its own vocabulary. In my case, telecom:
- OSS/BSS for QA — an operator's systems, TM Forum, and what testing chains of systems means.
How to use this path
Starting from zero: complete stages 1 and 2 before anything else, and find a real project (your own or a practice one) to apply each stage to as soon as possible. Already working as a QA: use it to spot your gaps — we all have them.