ALM Tools for Developers in Visual Studio 2012

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!

Related Articles


  • i cant see images on your site

    Posted by Fatih on 03/28/2013 08:46am

    whenever i visit your page, i cant see the images. this is what i get, when i try to browse one of the images: You don't have permission to access /content/one/8663/ALM-tools-image005.jpg on this server.

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: May 6, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT While you likely have very good reasons for remaining on WinXP after end of support -- an estimated 20-30% of worldwide devices still are -- the bottom line is your security risk is now significant. In the absence of security patches, attackers will certainly turn their attention to this new opportunity. Join Lumension Vice President Paul Zimski in this one-hour webcast to discuss risk and, more importantly, 5 pragmatic risk mitigation techniques …

  • Live Event Date: April 22, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Database professionals — whether developers or DBAs — can often save valuable time by learning to get the most from their new or existing productivity tools. Whether you're responsible for managing database projects, performing database health checks and reporting, analyzing code, or measuring software engineering metrics, it's likely you're not taking advantage of some of the lesser-known features of Toad from Dell. Attend this live …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds