26. July 2006 03:32
I am doing a new gig at the Land of Beer, Miller brewing. Sean McCormack got me involved in an agile project here on a short time frame so I've not had a ton of time to blog lately. There's a lot to talk about as this project slows down though.
I cannot say that I am a test driven development expert by any means. However, upon arriving on this project and trying to retro-implement unit tests for a bunch of code that had no tests before I have come to a new understanding of the value of unit tests for regression testing, and for a specific aspect of the TDD paradigm. Upon arriving and going over the projet I'd seen that the team lead was printing out class diagrams, going through the unit test packages, and checking off Method names that had a test. I had kept meaning to look at code coverage tools in the past and the sheer amount of tests odewe needed made me look a little more seriously. As it turns out they were already using TestDriven as part of the developer setup. TestDriven is by itself a great tool and will have a place in my toolbox henceforth. TestDriven installs an interesting right-click menu in VS2005 that gives you various options for running tests at the class/method/project/solution level. More interesting to me at the time was the "Test With --> Coverage" option. If you don't have Team System it tells you to go install NCover which I had not used before. NCover is actually a very solid code coverage tool. You can probably see where this is going and certainly TDD experts will file this under the "duh" department. TestDriven + NCover + NUnit = tells you how much of your code is covered by unit tests. NCover is smart enough to show you if, for example, you covered all the various "if()" branches inside a method and such. This is Very handy and not just for unit tests.
We found, in general, that the application had "thong-level coverage" from unit tests; as any good christian will tell you the thong leaves too much uncovered! We strove to get it to "Burqa-level" coverage and made a lot of progress before the timeline demanded we start on new development.
"Funny Stuff I've heard at work recently"
"Indirect paths to success"
Looks like I have some invalid HTML in here somewhere, the visual styles on the links are hozed.