//Resources
Everything in one place.
Snippets, configs, templates, comparisons, migrations, security checks, career guides and learning paths — organised by what you're trying to do, not just by where the page lives.
// Choose your task
Start from what you're trying to do
The four sections, as task cards — so you can pick a direction before you know the exact resource.
I need something usable now
Reusable snippets, production configs, architecture patterns, and QA document templates to drop straight into your work.
Explore Build & shipI'm choosing a tool or approach
Honest tool comparisons, framework trade-offs, and decision frameworks — pick what fits your team, not what's loudest.
Explore DecideI'm changing or connecting stack
Step-by-step migration guides and integration playbooks for Playwright, Bruno, Pact, Hoppscotch and API collections.
Explore Migrate & integrateI'm learning or preparing
Security testing, QA metrics, interview prep, the career ladder, roadmaps, courses and recommended reading.
Explore Grow my career// Recommended starting points
If you only open a few, open these
The highest-value collections for first-time and returning visitors.
// Guided paths
A route through the library, by role
Curated journeys that reuse existing resources — pick the one that matches where you are.
// All resources
Find exactly what you need
Filter 29 collections by section, type, and audience — or search across every field.
› Build & ship
6 resourcesReusable testing utilities by language.
- Custom commands and helpers
- Fixtures, factories, builders
- Retry and waiting patterns
Production-ready configs for popular tools.
- cypress.config and playwright.config
- vitest.config and jest.config
- GitHub Actions and CircleCI
Test architecture patterns with honest trade-offs.
- Page objects vs functional helpers
- Fixture and factory patterns
- Test data and isolation strategies
Document templates for QA work.
- Test plans and test strategies
- RCA and incident reports
- On-call playbooks
The bugs that recur across products — what to look for and the test ideas that catch them.
- Authentication, permissions, payments, time/date and more
- Real-world failure modes per category
- Concrete test ideas and edge cases
Hands-on practice areas and intentionally buggy apps to sharpen real testing skills.
- 9 practice areas: manual, E2E, API, performance, contract
- Buggy practice apps to test against
- Practical assignments and project samples
› Decide
9 resourcesCypress vs Playwright vs WebdriverIO vs Selenium.
- 22 comparison dimensions
- 4 verdict cards with shines/falls-down
- 5-question Find your tool interactive
Templates, examples and guides for planning testing, managing defects, reporting progress and signing off releases.
- Test plan & strategy examples
- Defect triage & severity
- Release sign-off template
Domain-specific QA guides for SaaS, fintech, healthcare, e-commerce, marketplace, travel, EdTech, and AI — the failure modes generic training misses.
- 8 industry verticals covered
- Signature bugs per domain
- Risk tables & test strategies
JUnit, TestNG, Pytest, Mocha, Vitest, Jest, NUnit, xUnit.net.
- 16 dimensions across 4 language families
- 8 verdicts with concrete trade-offs
- Find your framework interactive
Code-first API testing tools that plug into your test framework.
- REST Assured, Supertest, Tavern, Karate, Pactum
- Compared on assertion API, CI integration, mocking
- Cross-language coverage (Java, JS, Python, DSL)
GUI tools for manual and scripted API testing.
- Postman, Bruno, Insomnia, Hoppscotch, Yaak
- Compared on collaboration, open-source posture, CI runners
- Local-first vs cloud trade-offs
Every qa.codes tool comparison in one index — E2E runners, frameworks, API libraries and clients.
- 7 evergreen comparisons, grouped by category
- Verdict cards and decision trees on each
- Dated and editorially maintained
A decision framework for choosing between Supertest, REST Assured, and Postman-style tools.
- When scripted libraries beat GUI tools for API testing
- When GUI clients are the right fit for your team
- Team structure, workflow, and maintenance signals
When Karate's DSL fits your JVM team, when REST Assured's fluent Java does.
- Karate's .feature DSL vs REST Assured's fluent Java — syntax comparison side by side
- Five decision factors: Java fluency, JVM investment, mocking model, parallel runner
- When the hybrid setup is worth it — and the real maintenance cost
› Migrate & integrate
5 resourcesWhat actually breaks, what stays the same, and how to run both frameworks in parallel.
- Why teams migrate: speed, multi-browser, and native TS support
- Command-by-command translation: cy.get → locator, cy.request → fetch
- Before/after code for waits, network stubs, and fixtures
Export, import, script translation, and bru run CI — the complete step-by-step.
- What you lose and gain, grounded in the API clients comparison
- Script translation: pm.environment.get → bru.getEnvVar and more
- Replacing Newman with bru run in GitHub Actions
Consumer-driven contracts for Node.js and JVM teams — broker setup and CI patterns.
- Path A: @pact-foundation/pact consumer test with type matchers and publish step
- Path B: pact-jvm with REST Assured — JUnit 5 consumer test and provider verification
- Pact Broker: PactFlow hosted free tier vs self-hosted Docker Compose
Run Hoppscotch on your own infrastructure — Docker, auth, TLS, backup, and upgrades.
- Docker Compose: app, backend, and admin wired together with PostgreSQL 15
- Auth setup: email/password and Google, GitHub, Microsoft OAuth — exact env var names
- TLS reverse proxy with Caddy — three-subdomain split
Treating API collections as code: directory layout, PR workflow, CI integration.
- One-file-per-request layout organised by domain area, not HTTP method
- Environment files: committed .env.example, gitignored secrets
- Branch and PR workflow: reviewing API changes just like code changes
› Grow my career & explore
9 resourcesCatch access, session, API and data exposure risks before release. Practical security checks for QA engineers — no offensive security depth required.
- OWASP Top 10 reframed as QA checks
- Auth, authorization, sessions & APIs
- JWT, input validation & file uploads
QA engineering levels from Associate to Principal.
- 9 rungs with concrete expectations
- Skills, scope, autonomy, impact
- Promotion criteria each level
What's worth measuring — and what isn't.
- Flakiness, coverage, escape rate
- DORA metrics relevant to QA
- Time-to-detect, time-to-fix
Question banks by role, stack, and topic.
- Manual QA, SDET, Lead roles
- Cypress, Playwright, Appium tracks
- System design for QA
Structured learning path from fundamentals to automation.
- Software testing fundamentals
- Automation with Cypress and Playwright
- Mobile testing with Appium
Paths from manual tester to specialist — SDET, API, performance, mobile, AI-augmented QA and more.
- 7 career paths with ordered milestones
- Skills and tools to learn at each step
- Manual-to-automation transition path
Plain-English definitions for software testing terms, A to Z.
- 309 terms across testing, automation and process
- Concise, jargon-free definitions
- Cross-linked to related concepts
Books, courses, talks, podcasts worth your time.
- Hand-picked, with notes on why
- Books for testing fundamentals
- Conference talks and videos
Canonical docs, communities, conferences, newsletters.
- Official tool documentation
- Active Slack, Discord, forums
- Conferences and meetups