Twin Cities Code Camp

Jon Stonecash

There Must be Fifty Ways to Unit Test Your Software

by Jon Stonecash

Sun, Apr 01, 2007
Room:
Time: 0:00

Unit testing is a critical activity in producing quality software. Developers should apply unit testing in parallel to the development of the software. Because unit testing is so important, it should be easy to perform unit testing. The developer should be able to focus on the "what" the unit tests demonstrates rather than the "how" to demonstrate the result. There are a fairly large number of unit testing tools that can greatly simplify the unit testing process. Many of these tools are free. This session would include a "dash" of unit testing philosophy plus a lot of code that demonstrates the use the "core" unit testing harnesses such as NUnit, MbUnit, and MsTest as well as related testing tools such as NUnitForms and NUnitASP. The session will also address the use of tools to replace dependent elements with dummy units, stub units, and mock units. The types of units to be tested will include: Logic, Window Forms, Web Pages, Databases, XML Files, JavaScript, and Ajax functionality.


About the Author

Jon Stonecash is a senior consultant at Magenic Technology. Jon Stonecash has worked in software development for much longer than he would like to admit. In that time Jon has had the opportunity to make most of the serious software development mistakes at least once. He has programmed in over a dozen languages including several different assembly languages, Fortran, COBOL, SNOBOL, classic Visual Basic, VB.NET, and C#. He has survived the structured programming revolution and the object-oriented revolutions (having inexplicably missed out on the sexual revolution). Jon's software development activities have included the development of operating systems, scientific and engineering applications, and enterprise systems. He has worked in every phase of software development from the initial specification of requirements through to customer support. Along the way, he picked up a BS in Mathematics and an MBA. He still has hopes of finding something that he can be reasonably good at. His long term interests center about databases and the aspects of the application that handle data access and business logic. He is also interested in the tools and processes that assist the development process. Jon can be reached at jons@magenic.com.