Re:Be professional, do TDD
by gte910h on Thursday October 28, 2010 @03:06PM
(#1844415)
Yeah, I didn't catch that earlier:
IMO, TDD shines when:
You're doing completely data oriented tests
You're doing things that have to work under changing (non-GUI) conditions without crashing
You're using embedded/system level controllers which need to be functioning under all inputs.
You have a moderately data intensive app and a moderately complex GUI action required to put in edge cases.
You have a automation framework at your disposal to push buttons and capture window contents.
You can structure your project into backend library/front end GUI using library.
TDD lacks luster when:
You have lots of GUIs and no automation framework
You have poor definition of system behavior (proofs of concept based apps sometimes have this)
You have an embedded target with limited debugger support
You have physical switches in your application
You have apps with lots of heterogeneously structured mutli-threading (the more conditionally compiled/run code, the worse the heisenbugs get), especially with a strong GUI component.
IMO, TDD shines when:
You're doing completely data oriented tests
You're doing things that have to work under changing (non-GUI) conditions without crashing
You're using embedded/system level controllers which need to be functioning under all inputs.
You have a moderately data intensive app and a moderately complex GUI action required to put in edge cases.
You have a automation framework at your disposal to push buttons and capture window contents.
You can structure your project into backend library/front end GUI using library.
TDD lacks luster when:
You have lots of GUIs and no automation framework
You have poor definition of system behavior (proofs of concept based apps sometimes have this)
You have an embedded target with limited debugger support
You have physical switches in your application
You have apps with lots of heterogeneously structured mutli-threading (the more conditionally compiled/run code, the worse the heisenbugs get), especially with a strong GUI component.