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.

[TestMethod]

        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

Comments

  • 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.

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

Top White Papers and Webcasts

  • There is a threat faced by Java development teams worldwide: that of turnaround time due to application restarts. This document presents a technology overview and business case for JRebel, as a commercial solution for eliminating the need to redeploy Java applications in order to see changes to code. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

  • Corporate e-Learning technology has a long and diverse pedigree. As far back as the 1980s, companies were adopting computer-based training to supplement traditional classroom activities. More recently, rich web-based applications have added streaming audio and video, real-time collaboration and other new tools to the e-Learning mix. At the same time, the growing availability of informal learning tools--a category that includes everything from web searches to social media posts--are having a major impact on …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds