Def: Tests are routines that check the operation of your code.
As a software developer or anyone interacting with a system, it’s a mistake to think of tests merely as a negative aspect of development.
Without tests, the purpose or intended behavior of an #application might be rather opaque. Even when it’s your own code, you will sometimes find yourself poking around in it trying to find out what exactly it’s doing.
Tests change that; they light up your code from the inside, and when something goes wrong, they focus light on the part that has gone wrong - even if you hadn’t even realized it had gone wrong.