After you have outlined your test suite, this step becomes
much easier to do well. Having an organized system test suite
makes it easier to list test cases because the task is broken
down into many small, specific subtasks.
Put your finger, or cursor, on each list item or grid cell in
your test suite. Then, for each one, ask yourself about the
relevant system requirements. If you have a written use case
document, you will often be able to turn each use case into one
or more test cases. There may be some list items or grid cells
that really should be empty. For example, an e-commerce
application might not have any delete operation for the Customer
Order business object. Explicitly mark with "N/A" any cells that
logically should not have test cases. If you cannot think of any
test cases for a part of the suite that logically should have
some test cases, explicitly mark it as "TODO".
The name of each test case should be a short phrase describing
a general test situation. Append a unique number to each test
for the given test situation. For example: login-1, login-2,
login-3 for three alternative ways to test logging in. And,
sales-tax-in-state-1 and sales-tax-out-of-state-1 for two
different situations where collected sales taxes are reported to
the government according to two different procedures. Use
distinct test cases when different steps will be needed to test
each situation. One test case can be used when the steps are the
same and different input values are needed.
As you gradually fill in the test suite outline, you may think
of features or use cases that should be in the software
requirements specification (SRS), but are not there yet. Quickly
note any missing requirements in the SRS document as you go
along.
Before moving on to the next step, it is worth highlighting
the value of having a fairly complete test suite outline. The
test suite outline is a useful asset that can help your project
succeed. At this point, you can already get a better feeling for
the scope of the testing effort. You can already roughly
prioritize test cases. You are already starting to look at your
requirements critically and you may have identified missing or
unclear requirements. And, you can already estimate the level of
specification-based test coverage that you will achieve.
|