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

Recession is ending, Signaling Shift in the Economy

The most hopeful jobs report since last summer suggested Friday that the recession was ending, but the recovery will be marked by a still-rising unemployment rate and tens of thousands of job losses each month until next year. The American economy shed 247,000 jobs last month, the smallest monthly toll since last August, the government reported on Friday. While businesses are expected to keep cutting positions through the rest of the year, the Labor Department’s latest figures offered hopeful signs for the American worker and a measure of relief to the Obama administration, which has faced rising criticism as unemployment blew past its earlier projections. “The trend lines are positive,” said Mark Zandi, chief economist at Moody’s Economy.com. “We are going from massive job losses to just big job losses on our way to a stable job market, I think by next spring.” The length of the workweek increased, albeit slightly, for the first time since August, a sign that businesses were not scali

Which Windows 7 is right for you?

Windows 7 officially will be released to the public on Thursday, and judging by our poll, most readers have already decided to upgrade. For those who haven't, or for those who want a bit more information on just what you're getting with your Windows 7 Starter, Home Premium, Professional, or Ultimate, take a look at the chart and explanation below. . Starter Home Premium Professional Ultimate . 32-bit and 64-bit versions 32-bit only Both Both Both . Maximum physical memory (64-bit mode) N/A 16 GB 192 GB 192 GB . Maximum physical CPUs supported 1 1 2 2 . Home Group (create and join) Join only Yes Yes Yes . Backup and Restore Center Cannot back up to network Cannot back up to network Yes Yes . Multiple monitors No Yes Yes Yes . Fast user switching No Yes Yes Yes . Desktop Wallpaper Changeable No Yes Yes Yes . Desktop Window Manager No Yes Yes Yes . Windows Mobility Center No Yes Yes Yes . Windows Aero No Yes Yes Yes . Multitouch No Yes Yes Yes . Premium Games Included No Yes Yes

The Future of the Desktop

Everything is moving to the cloud. As we enter the third decade of the Web we are seeing an increasing shift from native desktop applications towards Web-hosted clones that run in browsers. For example, a range of products such as Microsoft Office Live , Google Docs , Zoho , ThinkFree , DabbleDB , Basecamp , and many others now provide Web-based alternatives to the full range of familiar desktop office productivity apps. The same is true for an increasing range of enterprise applications, led by companies such as Salesforce.com , and this process seems to be accelerating. In addition, hosted remote storage for individuals and enterprises of all sizes is now widely available and inexpensive. As these trends continue, what will happen to the desktop and where will it live? This is a guest post by Nova Spivack , founder and CEO of Twine. This is the final version of an article Spivack has been working on in his public Twine . Is the desktop of the future going to just be a web-hoste