ALM Tools for Developers in Visual Studio 2012

CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Although coding is the primary responsibility of a developer, there are many other application lifecycle management activities that he needs to perform with the code that he wrote. In this article let’s take a look at the list of features offered to the developers by Visual Studio 2012 for the application lifecycle management (ALM).

Of course some ALM tools in Visual Studio will come into play only with the integration of Team Foundation Server (TFS). You associate a Team Foundation Server with Visual Studio 2012 by selecting Team menu and Connect to Team Foundation Server. Fig 1.0 shows the window accepting the TFS details.

Add Team Foundation Server
Fig 1.0: Add Team Foundation Server

Following are the important ALM features for developers in Visual Studio 2012. A developer can access most of the TFS related functionalities through the Team Explorer. Fig 1.1 shows the Team Explorer.

Team Explorer
Fig 1.1: Team Explorer

Version Control

More than developing the code, it is so important to have it version controlled. TFS provides the repository for the source code and unlike VSS the source control client is now integrated with Visual Studio 2012. This allows the developers to perform the source control operations like check in, check out, etc. through the Source Control Explorer.

Source Control Explorer
Fig 2.0: Source Control Explorer

The Source Control also provides an option called shelving. You can now shelf your code in the version control instead of checking in, where you can always comeback at any point of time in future and continue from where you left it out.

Unit Testing

Automated unit testing should be a more familiar feature where the developer can write unit test code to test the functions. Following is a unit test case for testing the divide method, which asserts between the expected and actual results.


        public void DivideTest()


            double expected = 10;

            MathematicsManager l_Mathematics = new MathematicsManager();

            double actual = l_Mathematics.Divide(100, 10);


            Assert.AreEqual(expected, actual);


Code Coverage is another metric, which tells you how much of the code written by the developer is covered by the unit test cases. Fig 3.0 shows the code coverage done by the above test case.

Code Coverage
Fig 3.0: Code Coverage

Coded UI Testing

This is an astonishing feature of Visual Studio where the developer can add the automated test cases, which will test the end to end functionality of the application including the integration of the UI. These tests are called the coded UI tests. Fig 4.0 shows the project template.

Coded UI Test Project
Fig 4.0: Coded UI Test Project

Once the coded UI test project is created the developer can record the actions involved for a particular test case. Once done Visual Studio will take care of generating the test case code to simulate the action recordings and manipulate the test results.

Code Review

Visual Studio 2012 also has a code review work flow where the developer can submit his code changes to a peer for review. The reviewer can then review the code changes and can perform any of the following actions.

1. Accept the changes

2. Ask for rework

3. Create a code review defect

4. Add comments to the code review task

Fig 5.0 shows the screen where a developer can submit a code review request.

Code Review
Fig 5.0: Code Review

Static Analysis

Following are some of the other important static code analysis features, which come out of the box with Visual Studio 2012.

1. FxCop code analysis

2. Code metrics calculation

3. Code clone analysis

Architecture and Designing

Above all of the ALM features that we saw earlier, this feature helps in designing the application before the actual development start or to explain the flow, functionality after the implementation. There are various UML diagrams that can be created, like Class Diagram, Sequence Diagram, etc. Fig 6.0 shows the different types of diagrams, which can be added to a modeling project.

Types of Diagrams
Fig 6.0: Types of Diagrams

Having seen all of these features, it wouldn’t be easy to resist trying some out during ALM of the projects that you work on. Hope this article was informative and enjoyable.

Happy reading!

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read