его считают самым безопасным методом разработки
Смотря для чего.
Простой пример.
# TDD
Пишешь тест, например, на передачу файла приложению. По условиям - только ZIP архив весом до 10 метров.
Под тест пишешь код. Пока пишешь код, приходят правки - ZIP и RAR архив весом до 5 метров.
Тесты валятся. Переписываешь тесты. Переписываешь код.
В процессе приходят правки - 10 файлов, ZIP, RAR и PDF весом по 50 метров каждый.
Тесты валятся. Переписываешь тесты. Переписываешь код.
# НЕ TDD
Пишешь код на приём ZIP весом до 10 метров.
В процессе приходят правки - ZIP и RAR до 5 метров. Просто добавляешь новый mime тип и меняешь вес.
В процессе приходят правки - 10 файлов, ZIP, RAR и PDF весом по 50 метров каждый. Просто добавляешь новый тип, меняешь код.
Пишешь тесты.