Structure and Interpretation of Test Cases • Kevlin Henney • GOTO 2022

This presentation was recorded at GOTO Amsterdam 2022. #GOTOcon #GOTOams

Kevlin Henney - Independent Consultant, Speaker, Writer & Trainer

Throw a line of code into many codebases and it's sure to hit one or more testing frameworks. There's 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 — a 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 talk 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. [...]

00:00 Intro
04:09 Quote Structure & Interpretation of Computer Programs
05:27 Quotes Marit van Dijk
10:56 Testing approaches today
13:24 Continuous testing
14:52 Case: Leap year
28:55 Quote Nat Pryce & Steve Freeman
29:44 Case: Leap year continued
37:33 FizzBuzz
39:00 Quote Brian Marick
39:36 FizzBuzz continued
43:15 Quote Richard Feynman
43:43 FizzBuzz continued
45:14 Niklaus Wirth
46:07 Outro

Download slides and read the full abstract here:

Kevlin Henney & Trisha Gee • 97 Things Every Java Programmer Should Know •
Kevlin Henney • 97 Things Every Programmer Should Know •
Henney & Monson-Haefel • 97 Things Every Software Architect Should Know •
Abelson, Sussman & Sussman • Structure and Interpretation of Computer Programs •
Niklaus Wirth • Algorithms + Data Structures = Programs •
Roy Osherove • The Art of Unit Testing •
Adzic, Evans & Roden • Fifty Quick Ideas To Improve Your Tests •
Adzic, Evans & Korac • Fifty Quick Ideas to Improve Your User Stories •
Saleem Siddiqui • Learning Test-Driven Development •
Kent Beck • Test Driven Development •
#Testing #UnitTests #UnitTesting #Programming #KevlinHenney #SoftwareEngineering #TDD #TestDrivenDevelopment #ContinuousTesting #Integers #Coverage #LeapYear #LeapYearRule #NiklausWirth

Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at
Sign up for updates and specials at

SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
Be the first to comment