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.
|