Summary
In this chapter, we’ve seen the importance of testing the maintainability of maintenance operations, system monitoring, and logging. None of these functions are customer-facing, but each has a massive impact on the engineering team working on the product and, through them, the improvements they can deliver to customers. How fast can your company fix bugs, recover from outages, and roll out changes?
Those things affect customers, and they need maintainable code. That doesn’t happen on its own; if you don’t check that the requirements for maintainability are written and implemented, it’s possible no one else will. This piece of testing is in your own best interest.
In the next chapter, we’ll consider destructive testing in which you deliberately degrade your system to see how it copes with internal issues. These are vital to recovering from errors but can be hard to plan for, making it a critical area to test.