Building Operable Software with TDD (but not the way you think)
summary
Argues that tests should exercise service boundaries not mocked internals, showing a working, production‑like .NET system built over two years that uses outside-in testing with WebApplicationFactory, SQLite for realistic DB checks, and open telemetry traces captured and sent to Honeycomb. Claims ~2,500 developer tests run in eight seconds, yields actionable traces to assert cache vs DB calls, avoids heavy mocking, drives contract-first TDD and enables near‑100% meaningful coverage.
AI-written summary · about
chapters (18)
- 0:00Intro
- 2:51Building for Production
- 6:28What do we mean by TDD
- 8:19Test-Driven Development (The good)
- 10:49Let's Talk Component testing UNIT TESTS PASSING
- 13:49Outside-in Testing (Benefits)
- 19:17Lets look at some code
- 21:13Readable Tests (Remove Implementation)
- 22:33Readable Tests (Add Context)
- 23:08Readable Tests (Add Test Specific Asserts)
- 24:48Readable Tests (Persistence with API checks)
- 26:39What have we tested?
- 31:15What can't we test this way?
- 37:19Let's Look at some caching code
- 39:00Lets Add OpenTelemetry to the Tests
- 44:19Refactor for readability
- 45:04Parallel Processing
- 49:02Useful reading/watching
related talks
52mBuilding Operable Software with TDD (but not the way you think)
56mBuilding Operable Software with TDD (but not the way you think)
01h 01mTDD Revisited
40mMy 19 Laws of Test Driven Development
46mHow John Started to Like TDD (Instead of Hating It)
39mTDD Revisited
54m15 years of insights from a TDD practitioner
01h 02mTesting First - Getting The How
