Что дают тесты?
- примеры входных и выходных данных
- возможность запустить и перепроверить, что все еще проходят: важно для рефакторинга и интеграций
- принцип двойной записи для большей надежности как в бухгалтерии (это больше, если тест и код пишут разные сущности). Тут важно отметить, что программы становятся все более критичными для жизни, поэтому и требования к надежности растут
- изменения в архитектуре кода, чтобы он был тестируемым (в TDD считается, что это чуть ли не самое важное)
Актуальны ли тесты в эпоху AI?
- важно для рефакторинга
- актуально, если перепроверяются человеком, а не просто добавляются без просмотра