Причины, чтобы покрывать код тестами:

Причина 1. Защита кода от слома при рефакторинге

Появляется уверенность и тем самым становится легче менять код.

Код реже ломается.

Это самая важная причина, по которой нужно писать тесты.

Важность этого обычно недооценивают, так как поначалу кода немного. Но с ростом проекта, его сложности тесты становятся всë нужнее.

Представьте, что вы затеяли глобальное изменение крупного проекта с множеством взаимосвязей. Например, переписать один из важных модулей, или перейти на новую версию фреймворка или PHP.

С тестами сделать это будет в разы проще, чем без них.

Причина 2. Меньше ошибок

Код покрытый тестами изначально содержит меньше ошибок.

Тесты позволяют быстро выявить опечатки или если что-то забыли.

Причина 3. Лучше проектирование

Код покрытый тестами будет спроектирован лучше, так как тесты принуждают писать хороший код.

Плохой код тестировать тяжело, а значит тесты подтолкнут вас к его улучшению.

Причина 4. Защита от повторных багов

Если обнаруженный баг покрыт тестом, то он больше не вернётся.

Плюс к надёжности!

Причина 5. Экономия ресурсов на тестировании

Избавляемся от необходимости тестировать вручную.

Бонус

См. также: “Эволюция программиста в TDD” о том, как можно прийти к TDD (Test Driven Development).