Want to share some experience regarding quality assurance & testing in .NET here.

Fortunately this Monday morning, when I was just about to sign the ADO.NET provider off for release, I got some second thoughts whether the 114 test cases (using NUnit) in the test suite would be enough to ensure quality. While the tests had been more than doubled compared to previous releases, I was concerned about the coverage of these tests.

So I went looking for some tools & strategies to put a number on that coverage and put the doubts to rest. I found some tools, tried them and found NCover to be the best when used in combination with NCoverExplorer. These two surely were able to put a number on the coverage but due to the fact of that number being 32% it surely did not put my doubts to rest.

Thanks to the very clear reports of NCoverExplorer though, it was very easy to get started and write test cases for the missed out functionality and with just another 16 (admittedly large) tests I was able to raise the coverage to now 87% with the majority of the remaining unvisited code being overloads, exception code and simple get/set methods of usually unused properties. While writing these test cases I also found and fixed 4 major and at least another 20 more minor issues in the provider.

What did I learn? Well, I realized that having a test suite can make you feel too sure about things working correctly. The test suite is only as good as the completeness of the tests in regards of functionality, which without the right tools is not only difficult but honestly impossible to judge.

If you're doing .NET development and want to make sure you're getting your testing right, take a look at the tools mentioned. They are small, easy to use and easy to integrate into your build process. I won't do without them anymore.

Home | Community | Blogs | Hannes' Blog