All posts
    SeriesFree course

    The Software Testing Course

    A ground-up guide to testing modern web applications — from first principles and terminology to test design, automation, CI, and autonomous coverage. Read it in order or jump to the part you need.

    15 partsUpdated September 1, 2026
    Start with Part 1
    1. 01

      What Software Testing Actually Is (and Isn't)

      Part 1 of the Software Testing Course: a working definition of testing, why it's about information rather than proof, and the vocabulary the rest of the series builds on.

      June 16, 20263 min
    2. 02

      The Testing Vocabulary You'll Actually Use

      Part 2 of the Software Testing Course: unit, integration, end-to-end, smoke, regression, flaky, fixture — the terms defined clearly, with the distinctions that matter in practice.

      June 19, 20264 min
    3. 03

      The Testing Pyramid, and Where It Breaks Down

      Part 3 of the Software Testing Course: what the pyramid gets right about test distribution, the 'ice cream cone' anti-pattern, and why modern stacks are pushing toward a 'testing trophy' instead.

      June 24, 20264 min
    4. 04

      How to Decide Your Test Distribution

      Part 4 of the Software Testing Course: turning the pyramid from a picture into a decision — risk-based thinking, what each layer costs and returns, and the heuristic that settles most cases.

      June 29, 20265 min
    5. 05

      Test Design: Choosing What to Check

      Part 5 of the Software Testing Course: the techniques for designing a single test well — equivalence partitioning, boundary values, decision tables, state transitions, and error guessing.

      July 1, 20264 min
    6. 06

      Exploratory Testing: Structured Improvisation

      Part 6 of the Software Testing Course: what exploratory testing is, why it finds bugs scripts miss, and how to do it with enough structure to be accountable.

      July 7, 20264 min
    7. 07

      Writing a Test Plan That People Actually Use

      Part 7 of the Software Testing Course: what belongs in a test plan, what to leave out, and how to keep it a living document instead of shelfware.

      July 13, 20264 min
    8. 08

      How to Write a Bug Report a Developer Can Act On

      Part 8 of the Software Testing Course: the anatomy of a bug report that gets fixed fast — clear title, exact reproduction, expected vs actual, and evidence.

      July 17, 20263 min
    9. 09

      Building a Regression Suite That Doesn't Rot

      Part 9 of the Software Testing Course: how a regression suite grows, why it decays, and how to keep it lean, trusted, and worth running.

      July 27, 20264 min
    10. 10

      Test Environments and Test Data

      Part 10 of the Software Testing Course: why the environment and data your tests run against determine whether the results mean anything.

      July 31, 20264 min
    11. 11

      Running Tests in CI: What Runs Where

      Part 11 of the Software Testing Course: which tests belong on every commit, which belong on merge, and how to keep the pipeline fast and trustworthy.

      August 6, 20264 min
    12. 12

      Test Coverage: What the Number Does and Doesn't Tell You

      Part 12 of the Software Testing Course: what code coverage measures, why 100% doesn't mean 'tested', and better ways to think about how much testing is enough.

      August 13, 20264 min
    13. 13

      Non-Functional Testing: Performance, Security, Accessibility

      Part 13 of the Software Testing Course: the testing that isn't about whether a feature works, but about how well — speed, resilience, security, and accessibility.

      August 20, 20264 min
    14. 14

      Where Autonomous Testing Fits

      Part 14 of the Software Testing Course: how unscripted machine exploration sits alongside unit, integration, scripted end-to-end, and exploratory testing — and what it does and doesn't replace.

      August 26, 20264 min
    15. 15

      Putting It Together: A Working QA Process

      Part 15 of the Software Testing Course: assembling everything from the series into a lightweight QA process a small team can actually run.

      September 1, 20264 min