Причины, чтобы покрывать код тестами:
Причина 1. Защита кода от слома при рефакторинге
Появляется уверенность и тем самым становится легче менять код.
Код реже ломается.
Это самая важная причина, по которой нужно писать тесты.
Важность этого обычно недооценивают, так как поначалу кода немного. Но с ростом проекта, его сложности тесты становятся всë нужнее.
Представьте, что вы затеяли глобальное изменение крупного проекта с множеством взаимосвязей. Например, переписать один из важных модулей, или перейти на новую версию фреймворка или PHP.
С тестами сделать это будет в разы проще, чем без них.
Причина 2. Меньше ошибок
Код покрытый тестами изначально содержит меньше ошибок.
Тесты позволяют быстро выявить опечатки или если что-то забыли.
Причина 3. Лучше проектирование
Код покрытый тестами будет спроектирован лучше, так как тесты принуждают писать хороший код.
Плохой код тестировать тяжело, а значит тесты подтолкнут вас к его улучшению.
Причина 4. Защита от повторных багов
Если обнаруженный баг покрыт тестом, то он больше не вернётся.
Плюс к надёжности!
Причина 5. Экономия ресурсов на тестировании
Избавляемся от необходимости тестировать вручную.
Бонус
См. также: “Эволюция программиста в TDD” о том, как можно прийти к TDD (Test Driven Development).