Tests are essential for programmers! Errors in software are inevitable and costly. Testing enables programmers to catch more of their own bugs before deploying their code. Testing is so important that some developers write tests before anything else, in a methodology known as test-driven development.