Skip to main content

Visual Studio 2008 offers developers more testing options

Unit testing has evolved from a fringe activity to an industry-accepted way to develop software. This change in attitude was aided by the introduction of numerous freely available testing frameworks — most notably, NUnit.

Microsoft’s testing options have drawn the ire of the development community for years because there has been a lack of testing support from the company. Non-Microsoft tools require extra product installations and setup, so many developers called for Microsoft to offer such tools with its IDE. Finally, Visual Studio 2008 Professional Edition includes Microsoft’s own unit testing offering.

I’ll offer more details about the recent changes in Visual Studio 2008 and survey the current landscape of .NET testing options.
Testing options in Visual Studio 2008 Professional Edition

Visual Studio 2005 Team System included Microsoft’s testing engine (MSTest), but many developers still clamored for the testing tools to be available to a wider audience. Their efforts paid off, and MSTest is now available in Visual Studio 2008 Professional Edition.

The new Test drop-down menu within the IDE provides easy access to the testing framework. It allows you to author, generate, and run tests. Other changes have been introduced as well. For instance, a new Run Tests context-menu option has been added to the MSTest engine to simplify the execution of tests.
Test-driven development options

A basic tenet of eXtreme programming is test-driven development. The goal is to create tests before developing any code. This goes against traditional programming; instead of writing functional code and then testing code as an afterthought (if testing is performed at all), you start with the test code.

You make sure the test is correct according to the necessary logic. With the test complete, it is available when the code is ready, and you quickly know if the code performs as desired. Basically, you develop code that will pass the test.

A key part of test-driven development is the automated unit test that properly tests code functionality. Testing frameworks provide a vehicle for creating and running these tests. Various frameworks exist for .NET developers, including the following:

* NUnit: An open source unit-testing framework for the .NET platform. It is the leader in this category, as it mimics the JUnit Java offering for the .NET platform; that is, it brings test-driven development to .NET. NUnit provides both a GUI and command-line interface. It also promotes unit testing your .NET code after coding is complete or using the test-driven approach to development. (Learn more about this framework by reading my article, “NUnit allows effective unit testing with .NET applications.”)
* xUnit.net: A freely available testing framework available via Microsoft’s version of open source with the CodePlex site. It was designed with a goal of closely aligning itself with the .NET Framework. (One of the developers of xUnit.net originally worked on NUnit.) xUnit.net was built using .NET Framework 2.0; it does not require any installation, and it offers better integration with source control tools. xUnit.net focuses heavily on test-driven development as opposed to just testing, so there are some differences with NUnit. xUnit.net is the latest to join the pool of testing frameworks.
* MbUnit: MbUnit or the Generative Unit Test Framework for the .NET Framework is offered free of charge. It was built using the .NET Framework, and it promotes test-driven development. It offers both command-line and GUI interfaces along the lines of the same features available in NUnit.
* QuickUnit.net: A simple testing framework written in C# for .NET applications. It is a minimalist approach to testing for developers who ignore writing unit tests and test-driven development. It can be used as a first step to become familiar with testing.
* csUnit: A freely available testing framework that promotes test-driven development. It offers a graphical interface and easy integration with Visual Studio 2005.

Visual Studio add-ons

There are a few Visual Studio add-ons that make it easier to use the various testing frameworks within the IDE. One of the more popular products is TestDriven.NET; however, unlike the testing frameworks, it is not free. TestDriven.NET allows you to use the features of the testing framework from within Visual Studio via one click of the mouse. It works with all versions of Visual Studio.
Will developers migrate from their current testing tools?

The Professional Edition of the IDE is so popular that, theoretically, the inclusion of MSTest makes unit testing available to the masses. The requirements for third-party products to support testing are gone. Developers can be up and running with unit testing out of the box.

While it is a great addition, it makes me wonder if it will encourage developers to migrate from existing testing tools and adopt a test-driven approach for their projects. There are a number of solid tools currently available, and I think it will be hard to pull developers from these tools.

Do you plan to check out the new unit testing options in Visual Studio 2008 Professional Edition or stick with your current tools? Share your thoughts with the Visual Studio Developer community.

Comments

Popular posts from this blog

Why Flash Player is the best plugin ever

Cross-platform Availability and Portability Flash Player is available for all the major operating systems: Windows Mac OS Linux Solaris Also, it comes preinstalled with Mac OSX and Windows XP . So the users of these platforms don’t even need to download it! There is also Flash Lite , which enables the viewing of Flash content on mobile devices like cellphones and PDAs. Just take a look at all the mobile phone manufacturers that are incorporating Flash Lite into their devices (currently more than 140 cellphones are Flash-enabled): Fujitsu Hitachi Kyocera Mitsubishi Motorola NEC Nokia Panasonic Sanyo Sendo Sharp Siemens Sony Ericsson Toshiba Still not convinced? Well, there is even more - the PDAs : Microsoft Pocket PC and Sony CLIE. Can there be more? Sure. Let’s not forget the consumer electronics : the iRiver U10 media player and the Kodak Easyshare-One Zoom Digital Camera are Flash-enabled, like some set-top boxes too. Oh, wait, I didn’t tell you yet which bro...

Net Telephony - Free local calls, STD at 15p/min

Thanks to the ubiquitous Internet, your telephone bill can be drastically trimmed. The Internet Service Providers Association of India (ISPAI) claims that STD calls can be offered at 15 paise/minute and local calls can be free on the same network, if the government permits unrestricted domestic internet telephony. The Internet Service Providers (ISPs) claim that they can offer free local calls in case of own network (that is, within the network of a particular internet service provider) and 10 paise per minute for calls on other IP network. “ISD call rates can further come down to 50 paise per minute on same IP network, and in other IP network 75 paise. And if you want to call on a mobile or fixed line from an IP phone, STD call rates can be offered at 50 paise per minute,” the ISPAI claims. The association has members such as Sify, Net4, HFCL, HCL Infinet, RailTel, Spectranet and Tulip IT Services. Currently, STD call rates on mobile networks are about Re 1 per minute while local rate...

Web Office: 2007 Year in Review

Over the next few weeks we'll be reviewing a number of Web product categories on Read/WriteWeb, summarizing what's happened in 2007 - and what to look forward to in 2008. We're starting with the Web Office, a market that underwent a lot of changes this year. Our definition of Web Office is: A Web Office suite is a combination of productivity, publishing and collaboration features. A Web Office both embraces the functionality of desktop office suites (e.g. Microsoft Office) and extends it by using Web Native features. Probably the biggest change was that Google Apps ramped up this year, starting with the release of Google Apps Premier in February. And 2007 continued the trend of acquisitions in this market, which started in 2006 with the likes of Writely and JotSpot. In 2007 Yahoo acquired Zimbra and Google acquired a number of small startups - including GrandCentral (online telephony service) and Zenter (presentations software). The biggest disappointment of the year in ...