Честно, давно собираюсь - как-то не доходит дело... То, что читал, как-то... сухо...
Раньше думал так же, как Вы. Сейчас не знаю - вот эту статью читал, статью в журнале "Программная инженерия", человеку, видимо, есть чем поделиться из практики.

По поводу тестирования. Кроме обычного отладочного -
В "ящиках" были наработаны технологии полного стендового испытания систем, имитационного. Это действительно очень ценная штука, потому что выявляет (как Липаев и упоминает) ошибки в понимании требований, разные "континуальные" эффекты типа регрессии системы под нагрузкой, эффекты на стыке физического управляемого объекта и системы управления...
Мне приходилось видеть такой испытательный стенд живьём на одном из предприятий - вся система управления того или иного "летающего предмета" в разложенном виде, с подключенной телеметрией и проч., в имитационном окружении.