This season covers testing tools and how to write good tests. We switch between those topics frequently: first build a testing tool (like a test runner), then use it to talk about how to write good tests, then repeat!

We rely on thousands of tools to do our work: compilers, editors, audio and video codecs, data compression formats, and so on. Many of these tools are clever or well-designed or both. By examining how they work, we can see the design insights behind them while simultaneously making them less mysterious.