Testing Testing

Is This Thing On?

Your test code is a better indicator of the complexity and complicatedness of your software system than your production code.

Fewer lines of code look simpler, but they can hide a tangled nest of interconnected dependencies that fall apart at the slightest tug of a single piece.

More lines of code look more convoluted, but they can hide a system of highly modular code that covers the entirety of the problem domain in all necessary detail.

It’s harder to lie with tests. If you can’t edit them easily or don’t expect them to run consistently, then you can’t trust any of the code that they test. Measure and assess your tests first. Only then can you have a hope of understanding your production code.

(All of your tests are passing, right?)