Designing Test Cases
Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2
A test case is a detailed procedure that fully tests a feature or an aspect of a feature. Whereas the test plan describes what to test, a test case describes how to perform a particular test. You need to develop a test case for each test listed in the test plan. Figure 2.10 illustrates the point at which test case design occurs in the lab development and testing process.
Figure 2.10 Designing Test Cases
A test case includes:
The purpose of the test.
Special hardware requirements, such as a modem.
Special software requirements, such as a tool.
Specific setup or configuration requirements.
A description of how to perform the test.
The expected results or success criteria for the test.
Test cases should be written by a team member who understands the function or technology being tested, and each test case should be submitted for peer review.
Organizations take a variety of approaches to documenting test cases; these range from developing detailed, recipe-like steps to writing general descriptions. In detailed test cases, the steps describe exactly how to perform the test. In descriptive test cases, the tester decides at the time of the test how to perform the test and what data to use.
Most organizations prefer detailed test cases because determining pass or fail criteria is usually easier with this type of case. In addition, detailed test cases are reproducible and are easier to automate than descriptive test cases. This is particularly important if you plan to compare the results of tests over time, such as when you are optimizing configurations. Detailed test cases are more time-consuming to develop and maintain. On the other hand, test cases that are open to interpretation are not repeatable and can require debugging, consuming time that would be better spent on testing.
Table 2.1 provides an example of the first few steps of a detailed test case.
Table 2.1 Sample Detailed Test Case
Step | Procedure | Success Criteria | Outcome |
---|---|---|---|
1 |
Log off the server, and return to the netlogon screen. |
None. |
|
2 |
Click the domain list to open it. |
The local server name does not appear in the list. |
|
3 |
Click the domain list to open it. |
The root domain appears in the list. |
|
4 |
Log on to the server using an account with administrative credentials. |
The account logs on to the server without errors. |
When planning your tests, remember that it is not feasible to test everything. Instead of trying to test every combination, prioritize your testing so that you perform the most important tests — those that focus on areas that present the greatest risk or have the greatest probability of occurring — first. For example, you might choose to test the slowest client computer, the busiest server, or the least reliable network link. Then, if time allows, you can perform lower priority tests.
For more information about developing test cases, see "Planning and Testing for Application Deployment" in this book.