Automate system tests
In each sprint, you’ll want to focus your manual test effort on the new requirements that are implemented in each sprint. At the same time, you’ll want to repeat some of the tests from previous sprints, to make sure that recent development work hasn’t introduced bugs into features that were working before. The workload of this regression testing gradually increases through the life of your project. It’s a necessary aspect of agile development, which starts with a simple end-to-end implementation and then revisits each component to add new functionality.
To reduce the load of regression testing, you can automate the system tests that you performed manually. Typically you create test cases for each requirement and perform them manually for one or two sprints; and then you automate some of them for future sprints.
There are several ways in which you can automate tests:
You can link any unit test to a test case, though typically you would link an integration test that mimics the manual version of the test case. A test case can have both manual and automated versions. You can run the automated test cases from Microsoft Test Manager, and the results will appear along with the manual test cases.
Link a coded UI test to a test case.
A coded UI test (CUIT) simulates user gestures. It can click buttons, enter text, and verify the values displayed in text fields. This type of test can provide the most accurate automation of your manual test. You can create a CUIT by recording your actions while you perform the test manually. The CUIT is a test method, which will run within the unit test framework, and which you can link to your test case. You can run it along with other automated and manual tests.
You can run system tests as part of the build process. The build process can deploy your server components on lab machines, so as to achieve realistic running conditions.
Associate the test case with a test method, create a lab environment, and specify where the built test method can be found.
Run automated test cases from Microsoft Test Manager in the same way as manual test cases.
Create a test method that simulates user actions by recording your manual test.
As part of a server build, automatically deploy the code to a lab environment, run tests, and collect diagnostic data.
To allow you to run many tests of a system in parallel, you can define virtual lab environments that have the same internal addresses but are not visible to each other.