- conference (NDC London, Workshop): Program with GUTs
Program with GUTs (Good Unit Tests)
This was a workshop I attended at NDC London 2026!
https://ndclondon.com/workshops/program-with-gut/79c67a3d855e
Description
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 doing it: what makes a unit test good? It’s not enough to have tests; poor quality tests can hold back development just as good tests can streamline it.
This session looks at good unit tests (GUTs) and different testing workflows, from test-driven development (TDD) to refactoring-driven development, whether the code you are testing comes from the past, from a prompt or direct from your fingertips. Examples will be in C#, JavaScript and TypeScript.
Agenda
- Kinds of tests
- Test-writing workflow: POUT, ITL, DDT, TDD and more
- What makes a unit test good?
- Common test smells and failure modes
- Tests as documentation and specification
- Given/When/Then and Arrange/Act/Assert test structure
- Aligning tests with domain concepts
- Data-driven tests
- Choices and checklists for test data
- Understanding (and misunderstanding) code coverage
- Structuring tests according to state models
- Grouping and nesting tests according to Given/When/Then
- Addressing brittle tests and long-term skipped tests
- Test strength: overfitting and underfitting tests
- Improving the design of your code by listening to your tests
- Dependency management and mocking
- Alternatives to mocking