Chapter Nine

Does It Work? Testing & QA

Software that hasn't been tested isn't trustworthy, no matter how clever the code. This chapter is about proving software works and keeping it working: why we test in the first place, the test pyramid that shapes a healthy test suite, the practice of writing tests first, the real work of quality assurance, and how a bug travels from report to fix.

5 topics

Every chapter so far has helped build software well. This one asks the blunt question that decides whether any of it matters: does it actually work? Testing is how teams answer that with confidence — and it turns out the goal isn't what most beginners think.

Five topics. First, why we test at all — and why the honest goal is confidence, not proof. Then the test pyramid, the standard shape of a good test suite. Then writing tests before the code, in TDD and BDD. Then the human side: manual testing, exploratory testing, and what QA really does. And finally the lifecycle a bug travels, from report to triage to fixed.

How testing builds trust in software
Many fast unit tests
checking small pieces in isolation
Some integration tests
checking the pieces work together
A few end-to-end tests
checking the whole app like a user
Human exploration
finding what scripts never thought to check

Topics in This Chapter