Structure and Interpretation of Test Cases

Throw a line of code into many codebases and it is sure to hit one or more testing frameworks. There is no shortage of frameworks for testing, each with their particular spin and set of conventions, but that glut is not always matched by a clear vision of how to structure and use tests cases. A testing framework is a vehicle, but you still need to know how to drive.

The computer science classic, Structure and Interpretation of Computer Programs, points out that “programs must be written for people to read, and only incidentally for machines to execute”. The same is true of test code. This presentation takes a deep dive into unit testing, looking at examples and counterexamples across a range of languages and frameworks, from naming to nesting, exploring the benefits of data-driven testing, the trade-offs between example-based and property-based testing, how to get the most out of the common given-when-then refrain and knowing how far to follow it.

Video producer: