Кроме того, при работе, когда сроки поджимают, иногда приходится писать такой код, который работает в данном, необходимом здесь и сейчас случае, а не во всех возможных случаях (ибо нет времени изучать и вникать в предмет по полной). Потом, через год, надо добавить ещё один случай, который вдруг понадобился (тоже срочно), и код дополняется или переписывается. Вот тут-то очень поможет автоматический тест, который позволит убедиться, что добавляя второй случай, мы ничего не поломали для первого.

Здесь тест работает по своему прямому назначению: не доказывает отсутствие ошибок, а подтверждает работоспособность решения конкретной проблемы / наличие конкретной фичи.