Ukratko: kad god napraviš i najmanju izmenu koda, postoji šansa da si nešto zabrljao i jedini način da se koliko-toliko uveriš da je sve OK je testiranje. E sad, možeš i svaki put da testiraš ručno (ali se i tada drži spiska testova inače ćeš nešto da zaboraviš) ili ako imaš automatske testve, startuješ ih i odeš da skuvaš kafu
Ja lično preferiram drugi način. Ako pogledate moj open-source projekat
http://utfcpp.svn.sourceforge.net/viewvc/utfcpp/v2_0/ primetićete da je više koda namenjeno testiranju nego samoj funkciji biblioteke. Naravno, kad se razvija aplikacija a ne biblioteka, ne treba biti toliko rigorozan, ali je i tad automatsko testiranje jako korisna stvar. Npr, dobro je imati automatizovane funkcijske testove umesto unit-testova u tom slučaju - na kraju krajeva interesuje te funkcionalnost aplikacije a ne toliko ispravnost svakog delića koda.