One of the greatest shifts in modern programming practices has been how programmers across many different domains, languages and environments have embraced unit testing. Good unit testing, however, is more than waving a unit-testing framework at your source code. Tests help to make long-term product development cost effective rather than a cost centre, they underpin the effective flow of CI/CD and reduce failure demand on a team.But the discussion of unit testing goes further than simply writing tests: what makes a good unit test? It is not enough to have tests; poor quality tests can hold back development just as good tests can streamline it. This session looks provides a perspective on what good unit tests (GUTs) can look like with a couple of examples.
Kevlin Henney is an independent consultant, speaker, writer and trainer. His development interests are in programming, practice and people. He has been a columnist for a number of magazines and sites, has contributed to both open- and closed-source software (sometimes unintentionally), and has been on far too many committees (it has been said that "a committee is a cul-de-sac down which ideas...