Я настоятельно рекомендую добавить модульное тестирование к существующему проекту, который находится в процессе производства. Это было начато 18 месяцев назад, прежде чем я действительно смог увидеть какую-либо пользу TDD (лицевая ладонь), так что теперь это довольно большое решение с рядом проектов, и у меня нет туманной идеи, с чего начать в добавлении модульных тестов. Что заставляет меня считать, что изредка появляется старая ошибка, или ошибка исправлена как исправленная, не будучи исправлена. Тестирование модулей уменьшит или предотвратит эти проблемы.
Прочитав похожие вопросы по SO, я видел рекомендации, такие как запуск в трекере ошибок и запись тестового примера для каждой ошибки для предотвращения регрессии. Тем не менее, я обеспокоен тем, что мне не хватит большой картины и в конечном итоге пропустят фундаментальные тесты, которые были бы включены, если бы я использовал TDD с самого начала.
Есть ли какой-либо процесс/шаги, которые должны соблюдаться, чтобы убедиться, что существующие решения правильно проверены модулем, а не только связаны? Как я могу гарантировать, что тесты имеют хорошее качество и не просто случай любого теста лучше, чем никаких тестов.
Итак, я думаю, что я тоже спрашиваю:
- Стоит ли существующее решение, которое в производстве?
- Было бы лучше проигнорировать тестирование для этого проекта и добавить его в возможно ли переиздание будущего?
- Что будет более полезным; расходы несколько недель, добавляя тесты или несколько недели, добавляя функциональность?
(Очевидно, что ответ на третий вопрос полностью зависит от того, разговариваете ли вы с менеджером или разработчиком)
Причина баунти
Добавление щедрости, чтобы попытаться привлечь более широкий круг ответов, которые не только подтверждают мое существующее подозрение, что это хорошо, но и некоторые веские причины.
Я собираюсь позже написать этот вопрос с плюсами и минусами, чтобы попытаться показать руководству, что стоит потратить человеко-часы на перенос будущей разработки продукта на TDD. Я хочу подойти к этой проблеме и развить свои рассуждения без моей собственной предвзятой точки зрения.