Building Operable Software with TDD (but not the way you think)
summary
Shows how to build operable services by writing tests at the API edge: a small to‑do app is driven from tests that POST and GET through HTTP using WebApplicationFactory, no mocks, and an in‑memory SQLite backing so routing, serialization, DI and DB constraints are exercised. Tests assert behavior (valid ID returned, persisted item) and use OpenTelemetry spans to verify internal code paths like caching. Test runs become traces sent to Honeycomb so performance, cache hits and surprising code paths are visible.
AI-written summary · about
chapters (19)
- 0:00Operable software with TDD
- 1:07Motivations for operable software
- 2:50Defining operable software
- 5:37Misconceptions in traditional TDD
- 9:31Why TDD fails in practice
- 11:19Outside-in testing intro
- 13:04Component testing principles
- 15:55Outside-in testing benefits
- 17:45Readable maintainable tests
- 22:57To-do app code walkthrough
- 31:40API dependencies and routing
- 33:03Business requirements testing
- 36:15Outside-in testing limits
- 37:40Observability in development
- 39:04Observability-driven development
- 41:34Testing caching with observability
- 45:30OpenTelemetry in tests
- 48:18Production with observability
- 50:06Summary
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 02mTesting First - Getting The How
46mHow John Started to Like TDD (Instead of Hating It)
26mUnit tests and TDD does NOT have to be boring
58mTDD for database related code, how is it possible?
39mPractical TDD for Android
57mAdvanced Testing Techniques: Tips from the trenches
