А еще есть книжка
Эффекстивная работа с унаследованным кодом там как раз про то, как писать тесты для говнокода.
Есть такое понятие pinning tests - когда надо на существующую систему написать тесты просто чтобы зафиксировать ее поведение при определенных параметрах. Я даже временные такие делал (когда, например, тестов нет, но надо ускорить какой-то код, но не сломать суенарий в целом) - помогает.