Useful Unit Testing Research Tools

Microsoft Pex

A tool developed by Microsoft Research. It is an automated tool, which allows you to perform white-box type testing. Using Pex you can achieve higher code coverage. It also assists you with regression testing. 

You can download Pex from Microsoft Research. Pex is also included part of VS2010 Power Tools. 

Pex will generate all the necessary inputs and outputs by looking at your method. Then you can generate Unit Tests and run them as required. I highly recommend for methods with complex algorithms. You can also use Pex with other Unit Test frameworks such as nUnit, xUnit. 

Pex allows you to create Parameterized Unit Tests. When you download Pex, it comes with another tool called Moles, which allows you to replace any method with a delegate at test time. 

You can download Pex from here. 

CHESS

Another useful tool developed by Microsoft Research, which allows you to find and reproduce bugs (Heisenbugs)in concurrent and multithreaded programs. CHESS supports testing both managed and unmanaged code.

How CHESS track bugs?

In a nutshell, CHESS repeatedly exercise/run each threads multiple times with different interleaving. If the interleaving result an error CHESS will allow you to debug the error. 

[TestMethod]

[HostType(“Chess”)]

public void MyConcurrentThreadTestMethod()

{

                ……

}

You can make aware of your Unit Test that CHESS is integrated by just specifying the attribute, for example

CHESS allows you to locate the bug, reproduce it consistently, and then allow you to debug the issue.

For more information or to download CHESS please refer to the link here.

VS 2010 IDE Enhancements – Quick Start

Below document describes some of the key features and improvements to VS2010 IDE.

Each feature is described in context of What it is? Benefits? How to use it? and any Related information. The main purpose of this document is to provide an easy way for developers to get familiar with new features and technologies.

Note: This guide only covers improvements to IDE. It does not cover VS2010 Test features, Architecture features, Dynamic Data enhancements, MS Ajax, language features such as C#4.0 and  .NET 4.0 Security.

VS2010 IDE Enhancements – Quick Start