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

  • You may already know about some of the benefits of Bluemix, IBM's open platform for developing and deploying mobile and web applications. Check out this webcast that focuses on building an Android application using the MobileData service, with a walk-through of the real process and workflow used to build and link the MobileData service within your application. Join IBM's subject matter experts as they show you the way to build a base application that will jumpstart you into building your own more complex app …

  • Protecting business operations means shifting the priorities around availability from disaster recovery to business continuity. Enterprises are shifting their focus from recovery from a disaster to preventing the disaster in the first place. With this change in mindset, disaster recovery is no longer the first line of defense; the organizations with a smarter business continuity practice are less impacted when disasters strike. This SmartSelect will provide insight to help guide your enterprise toward better …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds