Designing for Testability

Today, Alexandru and I made our presentation at QCon. We split the talk in two parts: Alexandru covered a section we called “Three TestNG features that you will like” and I followed with a brand new presentation entitled “Designing for Testability”, which I made purposely non-TestNG specific.
As you probably guessed, a lot of the ideas discussed in this presentation are covered in greater lengths in our upcoming book.
Here are some of the topics I covered:
- Designing for Testability can sometimes be at odds with well-established software engineering practices, such as certain design patterns and extreme encapsulation. You need to be ready to question your beliefs.
- You should avoid using statics, and there are some very valuable frameworks that make this very easy (Guice and Spring, to name two).
- Test-Driven Development does not necessarily lead to code that is better designed, and is best used to expose junior programmers to testing. As for the conference, I’m enjoying it quite a bit: the location is absolutely terrific and it’s nice to be able to attend non-Java tracks, for a change. Hats off to Floyd, Alexandru and the rest of the crew for a top-notch conference!
Comments (5)
Cedric - were the presentations recorded for podcasting at all? Would be great to here them...
C
Mark, Yes, most sessions at QCon were recorded for podcasting. They should appear on InfoQ over the next couple of months (although I know nothing about the schedule). C
Thanks for blogging about QCon! I just wanted to let you know that we quoted and linked from this entry on the over all QCon 2007 blogger's key takeaway points and lessons learned article: http://www.infoq.com/articles/qcon-2007-bloggers-summary Feel free to link to it and of course blogging about this articles existence would help even more people learn from your and other bloggers takeaways. Thanks again! Diana InfoQ/QCon
I hope everything went off swimmingly!