Page 163 - SOFTWARE TESTING & QUALITY ASSURANCE
P. 163
Software Testing and Quality Assurance
11.1 Test Cases
Testing becomes easier when systematic development models are used with formal documentation
such as product specifications and design specifications. The testing process proves to be efficient and
predictable when disciplined development models are used.
In a code-and-fix type of model, the testers have to often guess which testing to
perform and whether what they find are indeed bugs.
If testers want the whole software development process to be disciplined, they must work towards
developing some methods and rules that will help the process to run more smoothly. Precise and
systematic planning of test cases is a step in that direction. Acting accordingly is important for four
reasons:
1. Organization: It is possible to have thousands of test cases even for small projects. Several testers
may have been involved in creating the test cases over the course of several months or even
years. Good planning organizes the test cases so that all the testers in the team review and use
them effectively.
2. Repeatability: It is necessary to run the same tests several times over the course of the project to
find new bugs and ensure that old ones have been fixed. Improper planning makes it difficult to
know which test cases were last run and exactly how they were run, so that the exact tests could
be repeated.
3. Tracking: Over the course of the project, the tester should be able to answer the questions like:
(a) How many test cases were planned to be run?
(b) How many were run on the last software release?
(c) How many passed and how many failed?
(d) Were any test cases skipped?
If no planning went into running the test cases, it would be impossible to answer these questions.
4. Proof of Testing (or Not Testing): In a few high-risk projects, the software test team must confirm
that it did indeed run the tests that it planned to run. It could actually be illegal and hazardous to
release software in which a few test cases were skipped. Suitable test case planning and tracking
provides a means for proving what was tested.
Did you know? One type of software testing, known as ‘ad hoc testing’ describes performing tests
without a real plan. Here, neither is a test case planned nor is a high-level test plan
created. Some testers are naturally good and can find bugs immediately even without
a test plan.
Note down a brief outline for the test plan you would use to test a property taxing
system. Also, mention the expected results for each of the test cases.
11.1.1 Test Case Planning
By now you must be familiar with the project level test plan. The next three levels; namely: the test
design specification, the test case specification, and the test procedure specification are discussed in
detail in the subsequent sub-sections. The different levels of test documents interact and vary with
respect to their importance on the document itself or the process of creating it.
156 LOVELY PROFESSIONAL UNIVERSITY