Когда у вас есть ошибка в вашей системе, в TDD рекомендуется написать тест, который обнаружит ошибку (т.е. красный тест, который подтверждает ошибку). Когда вам нужно исправить ошибку, тест в конечном итоге должен стать зеленым. Может быть хорошей идеей будет выискивать любые другие ошибки, если они достаточно близки.
Что касается отладки, следует использовать TDD, чтобы использовать сеансы отладки отдельно от программиста. Вы по-прежнему можете отлаживать, если не знаете, где находится какая-либо ошибка, но ее легче точно определить, если у вас есть набор регрессионных тестов с достаточной детализацией.
Вы должны помнить, что TDD больше относится к модульному тестированию , а не к интеграционному тестированию. В написании интеграционных тестов нет ничего плохого, поскольку они проверяют работоспособность вашего приложения или тестируемой системы.
Одной книгой, посвященной тестированию с использованием фреймворков xUnit, является книга xUnit Patterns , которая достаточно универсальна для работы с любым фреймворком модульного тестирования (даже для PerlUnit , я бы сказал) кулинарной книги. интересных трюков, которые можно сделать с помощью фреймворков xUnit.
UPDATE:
В Extreme Perl .
есть глава о модульном тестировании в Perl.