Testing

Good testing reduces the risk to your business when you introduce changes into your production environment. Thorough testing, however, requires careful planning. If you want your tests to accurately reflect how your proposed design will work, you must design them to realistically represent the conditions and variations in your environment. Even a well-designed test lab cannot compensate for a poorly designed test.

As a key component of risk management, testing:

  • Validates that your design satisfies the business and technical requirements identified for your Windows 2000 project.

  • Uncovers potential risks to your production environment.

  • Uncovers potential risks to your project schedule.

When planning your tests, keep in mind that it is not feasible to test everything. Instead of trying to test every combination, focus on limits. For example, test the slowest client computer, the busiest server, or the least reliable network link. In addition, focus on areas having the greatest risk or the greatest probability of occurring. It is important to keep your suite of test cases manageable.

Testing continues throughout the entire project, evolving from component level (or unit) testing to integration testing defined as follows:

Unit Tests

These tests validate that individual features, components, or applications function properly. Unit testing begins when design starts and continues until your design is stable. It is iterative with design — test results validate the proposed design or lead to modifications. Architects and developers typically conduct unit tests.

Integration Tests

These tests validate that features and components work together cohesively. While unit tests address the depth of a component, integration tests address the breadth of a system.

Integration testing occurs after unit testing, when the design is stable. As the design falls into place, tests become increasingly complex and integrated until they encompass full interoperability of features and components. Integration testing requires a fully equipped test lab, where testers can carefully control test configurations and conditions.

It is recommended that integration tests be performed by a group other than the designers. Many organizations have testing teams who plan and conduct integration tests. In addition to verifying that the technology works as proposed, integration testers should look at test results from a business point of view: they should think about how the end user will work with the solution and how the solution performs in that use. They also should verify that the proposed solution meets the business and technical requirements for the Windows 2000 project.