Overview
Explore building operable software using Test-Driven Development (TDD) with an outside-in approach in this NDC London 2023 conference talk. Learn why traditional unit testing may fall short in microservice-based systems and discover a more effective method of testing service boundaries. Delve into the benefits of contract-first testing, understand how it aids in defining service boundaries, and see how to correlate tests with tracing tools like Honeycomb for performance insights. Gain practical knowledge on using WebApplicationFactory in .NET and applying these concepts across different programming languages. From building for production to implementing readable tests and adding OpenTelemetry, this comprehensive presentation covers various aspects of creating robust, testable software that's ready for real-world deployment.
Syllabus
Intro
Building for Production
What do we mean by TDD
Test-Driven Development (The good)
Let's Talk Component testing UNIT TESTS PASSING
Outside-in Testing (Benefits)
Lets look at some code
Readable Tests (Remove Implementation)
Readable Tests (Add Context)
Readable Tests (Add Test Specific Asserts)
Readable Tests (Persistence with API checks)
What have we tested?
What can't we test this way?
Let's Look at some caching code
Lets Add OpenTelemetry to the Tests
Refactor for readability
Parallel Processing
Useful reading/watching
Taught by
NDC Conferences