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

Creating system tests in Visual Studio: Using Visual Studio, you can create coded UI tests from an existing action recording, for example an action recording created from a manual test. This allows you to automate your team’s Microsoft Test Manager manual testing efforts.

Categorizing tests: If you have created automated tests using Visual Studio you can manage these tests by categorizing them with test categories. When you run these automated tests using Visual Studio, Team Foundation Build, or mstest.exe, you can use these test categories to easily select which tests you run. You add test categories as attributes to your test methods.

Using generic test to wrap an existing test, program, or third-party tool: You use generic tests to call external programs and tests. After you have done this, the generic test is treated by the test engine as any other test type. For example, you can run generic tests from Test Explorer and you can obtain and publish results from generic tests just as you do from other tests.

Coded UI tests can be used while developing an application to validate continuous functionality with code changes. For more information, see Use UI Automation To Test Your Code.

In addition to coded UI tests, Visual Studio also includes unit tests. Unit tests are used primarily to verify an isolated unit of code for quality and functionality while you are developing an app. For more information, see Unit Test Your Code.