Testing, Monitoring, and Observability
Peter Royal · Apress eBooks · 2022
The prior three chapters introduced our system’s key components: the Command Processor, Command Generator, and Event Materializer. Each of those chapters contained a section relating to how to test the component. The testing of each component in isolation builds confidence in the component itself. That doesn’t translate to confidence in the composed system. It is necessary to test all components working together, end-to-end. In this chapter, you will learn how I’ve approached testing to build this confidence. I discuss the value of being able to understand the internal state of the system from its outputs and how to instrument our system to achieve this. You will learn why it is necessary to consider how the system will be operated in production during the design phase. Let’s go.