I dont think a debugger can ever replace TDD for two reason

a) Tests are faster way  to find bugs that don't want to be found  ;)

b) Tests are more than debugging tools

(A) If you have already created a large suite of tests then all it takes is
to fire those tests and just wait for the result to come out. Much fastert
than going one by one bug. Also I dont know if the same applies for
smalltalk but when i was coding for python not all code was executed and so
I did not see all the bugs my code contains. So I had to test the app myself
in many diffirent ways and I quickly found out that writing tests was way
faster in the long run.

(B) tests also make sure that your code behaves the way you want to behave
and produces the result you want to produce. It may not be a bug per se,
just a weird behavior. They also set a design pattern for your code to
follow in the future.

Generally speaking I use TDD for long code or code that is going to be
maintained in the long run and get larger and larger. I think in that
scenario TDD really excells. TDD is very popular in python, its part of the
main library cpython(unittesting.py) comes with and there is also a third
party library called "Nose" that even offer more features. 

I think TDD helps you keep your sanity in  the long run especially with big
projects and complex code. 

Debuggers are more like microscopes while i see TDD more like Satelites on
orbit. ;)







--
View this message in context: 
http://forum.world.st/Pharo-dev-Necessity-of-TDD-with-Smalltalk-tp4691867p4691929.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.

Reply via email to