Test-Driven (GUI) Development

Craig Andera - one of the PluralSight dudes - writes about his experience using TDD with FlexWikiPad.

But regardless, it's been an interesting experience writing a GUI app, which is not something I usually do. It's been particularly interesting developing it with a TDD approach, as GUIs present some unique challenges.

I hope he blogs about it: the special approach hurdles developers navigate using TDD for GUI components.

Testing before - or during and after - has been notoriously unbound from the development process. In my 18 years on the keyboard the typical position on TDD falls into one of three categories: optional, annoying, and wast of time. Even when TDD has trended towards important, full commitment to the process is rare. The unique challenges that Craig alludes to are often deal-breakers and excludes GUI development from a TDD process.

One pillar of PerCS is contract-based service architecture. It necessarily REQUIRES a full commitment to TDD across the entire stack. So it is nice to see stuff emerging like this and this and this. I am curious what other developers would think of explicitly binding TDD to the development process. Whidbey has taken some steps in that direction...but it is still optional.