- Скажем, мы слишком поздно осознали значение TDD. Проект уже созрел, многие клиенты начали его использовать.
- Говорят, что используемое автоматическое тестирование - это в основном функциональное/системное тестирование, и есть много автоматизированного тестирования графического интерфейса.
- Скажем, у нас есть новые запросы функций и новые отчеты об ошибках (!). Так много развития продолжается.
- Заметьте, что уже было бы много бизнес-объектов без тестирования или небольшого тестирования.
- Слишком много сотрудничества/отношений между ними, которые снова проверяются только посредством тестирования уровня/системы более высокого уровня. Нет интеграционного тестирования как такового.
- Большие базы данных на месте с большим количеством таблиц, представлений и т.д. Просто для создания экземпляра единого бизнес-объекта уже идет большое количество транзакций по базам данных.
Как мы можем ввести TDD на этом этапе?
Кажется, что издевка - это путь. Но количество насмешек, которые нам нужно делать здесь, кажется слишком большим. Похоже, что сложная инфраструктура должна быть разработана для насмешливой системы, работающей для существующих вещей (BO, базы данных и т.д.).
Означает ли это, что TDD является подходящей методологией только при запуске с нуля? Мне интересно услышать о возможных стратегиях внедрения TDD в уже зрелый продукт.