Testing the Application

You can be more productive throughout your testing lifecycle of planning, testing and tracking your progress by using Visual Studio Ultimate, Visual Studio Premium, or Test Professional. These testing tools are integrated with Team Foundation Server, which lets you define your testing based on the same team projects that other areas of your organization are using.


This section of the MSDN Library is about testing the whole application, either manually or by creating automated system tests. In many software projects, this kind of testing is done by specialist testers.

But if you’re a developer and you want to write unit tests along with the methods and classes of your application code, see Verifying Code by Using Unit Tests and Verifying Code by Using Coded User Interface Tests.

Visual Studio Ultimate, Visual Studio Premium and Test Professional include a Microsoft Test Manager to help you define and manage your testing effort by using test plans. You create a test plan and add any test suites, test cases, or configurations that you need, as shown in the following illustration. The configurations are used to determine which set ups you want to use to run test suites or test cases:

Components of a Test Plan

When you have defined all these, you are ready for testing. When requirements or user stories, or features are ready to be tested, you can run your tests for each configuration that you specified. This plan enables you to measure your progress as you run your tests and report on how much testing remains.

You can run manual tests and exploratory tests from Microsoft Test Manager using the Microsoft Test Runner. You can also run automated tests from Microsoft Test Manager if the automation is associated with a test case. Results from running these tests will be associated with a test plan.

In addition, you can run automated tests from Visual Studio that are not associated with a plan. You can select to run the tests individually, as part of a check-in policy, or based on test categories. They can also be run as part of a build created by using Team Foundation Build, and from the command line.

Because the testing tools are integrated with the other parts of Visual Studio Premium, you can save your test results to a database, generate trend and historical reports, and compare different kinds of data. For example, you might use the data to see how many and which bugs were found by your tests.

See Video: Easily reproducing issues through manual testing, Video: Managing lab environments for testing, Video: Load testing applications in Visual Studio.


Use the following topics to help you with testing your application:


Associated Topics

Upgrading testing efforts from previous versions of Visual Studio: You can upgrade your testing efforts from previous versions of Visual Studio. However, some test projects that you created in Visual Studio 2010 SP1 are compatible and don’t have to be upgraded. For example, the test projects that you created using Visual Studio 2010 SP1 that contain unit tests, coded UI tests, Web performance, or load tests can be opened in Visual Studio 2012. Therefore, your team can continue to use Visual Studio 2010 SP1 or Visual Studio 2012 to work with these test projects. In some cases, like when projects contain coded UI tests, the projects might be repaired when they are opened in Visual Studio 2012. The repair process enables the test project to work correctly with both Visual Studio 2010 SP1 and Visual Studio 2012. Additionally, Microsoft Test Manager, can both be installed side-by-side with your previous version of Visual Studio 2010.

If you have existing manual test cases that you created by using versions of Visual Studio prior to Visual Studio 2010, you can migrate data from these test cases into a manual test case that can be used in Microsoft Test Manager.

Upgrading Testing Efforts from Earlier Versions of Visual Studio

Using Microsoft Test Manager: You can plan, manage and execute both manual and exploratory tests. You can also automate your manual tests after they are stabilized. While you are performing manual and exploratory tests, you can log bugs. The bug will contain a trace of your recent actions, a snapshot of the state of the system, and a copy of any notes you made while exploring the system. You can record your actions in the test case, so that they can be played back on later occasions.

You can also use Microsoft Test Manager to set up and manage lab machines. You can configure a virtual lab in which to install a distributed system, and a link that lab to the test plan. Whenever you need to repeat tests—for example when you want to publish a change to your system—the lab can be reconfigured automatically.

System Testing Your Application Using Microsoft Test Manager

Using the testing tools in Visual Studio: Visual Studio 2012 includes unit, coded UI, web performance and load test types.

Unit tests and coded UI tests are generally used by developers, or team members using Visual Studio to validate the quality of their code in an application. For example, you might run these tests prior to checking your code into version control. For more information, see Verifying Code by Using Unit Tests and Verifying Code by Using Coded User Interface Tests. However, team members involved in testing the application can also use these tests types for converting manual test to automated tests and for isolating bugs that come out of integration testing from Team Foundation builds.

Visual Studio Ultimate additionally provides specific test facilities for performance and stress testing. An application can be instrumented and driven so as to measure its performance under specified loads. Web applications can be driven with multiple requests, simulating many users.

System Testing Your Application Using Visual Studio

Setting up how to run tests or collect data remotely: You can use test settings and environments to set up what types of data to collect remotely, or how to impact the system, when you run your tests. For example, you might want to record your UI actions for a manual test, or collect diagnostic trace logs to help reproduce a complex bug.

Setting Up Test Machines to Run Tests or Collect Data

External resources

Guidance and hands-on labs

Testing for Continuous Delivery with Visual Studio 2012

CodePlex – Test Infrastructure Guidance

Visual Studio Test Tooling Guidance

Visual Studio Lab Management Guide


Easily reproducing issues through manual testing

Managing lab environments for testing

Load testing applications in Visual Studio


Visual Studio ALM + Team Foundation Server Blog

See Also


Quick Start Guide for Manual Testing using Microsoft Test Manager


Managing New Testing Efforts