Testing Overview

Testability was one of the primary design goals for the Training Management and Partner Portal applications. These applications, in addition to the SharePoint Guidance Library, use a layered testing approach. The following diagram from the Acceptance Test Engineering Guidance shows the testing layers.

Testing layers

Ff647247.29c89b05-9a98-4e1f-8cde-9df8d4261924(en-us,PandP.10).png

Each type of test has a distinct purpose. They are the following:

Unit tests. Unit tests are written by developers and run under a unit testing framework, such as Microsoft Visual Studio Team System or NUnit. Unit tests isolate and verify discrete units of program logic. They isolate the logic by replacing dependencies on the run-time environment, such as SharePoint, with test-provided substitutes. Isolation allows unit tests to run quickly, and developers can run unit tests frequently.

Integration tests. Integration tests differ from unit tests in that the code under test is not isolated. Integration tests are written by developers or testers. They run in a unit testing framework.

Acceptance tests. Acceptance tests consist of multiple steps that represent realistic usage scenarios of the application as a whole. These tests verify that an application meets the needs of the intended users. Their scope includes usability, functional correctness, and performance. Generally, test engineers create these tests.

Note

Acceptance tests can be automated by programmatically simulating user behavior. This form of user interface testing for browser-based interfaces is often called a Web test. Acceptance tests may directly invoke methods of application components if the target user scenario is a development scenario. For example, a scenario may be a developer writing code for customization.
This guidance uses Web tests for acceptance testing. It does not cover other forms of acceptance testing such as usability tests. For more information, see Stress and Scale Testing and Acceptance Testing.

For more information about acceptance testing and test layers, see Acceptance Test Engineering Guidance on CodePlex and Testing .NET Application Blocks on MSDN.

Home page on MSDN | Community site