By John Morrison on Sep 03, 2007
We look at a list of methodologies used in the process of designing test cases. The obvious questions that folks new to / not too familiar with testing tend to ask is ... why Test Case Design and why all of these methodologies ?
The answer to the why is based on a fundamental premise of Software Testing i.e. "Complete" or "100%" testing is not possible.
Yep, sounds a little negative to the uninitiated, but thats the fact. The derivative of the above statement implies that "all" Testing is incomplete, although the degree of incompleteness varies. In reality, testing is performed within various limitations and boundaries defined by variables such as resources, time, cost, etc.
Given these constraints, Testers need to come up with a set of Test Cases that has the highest probability of unearthing the greatest number of defects. This is where Test Case Design plays a significant role.
In this post, we'll keep things short and only take a really quick, very high-level view of the methodologies. These cover both Black and White box techniques. Here they are ...
1) Equivalence Partitioning
2) Boundary Value Analysis (BVA)
3) Cause-Effect Graph / Decision Table
4) Error Guessing
5) Statement Coverage
6) Decision Coverage
7) Condition Coverage
8) Combination of Decision & Condition Coverage
9) Multiple Condition Coverage
We'll look at some of the above in upcoming posts. For now, if you are really keen to deep dive, Googling might be a good idea or better still grab a book on Software Testing and let the concepts soak in. One other thing since we are on this subject of Test Case Design ... while it sure is important to test to check if the program does what its supposed to do, its also very important to test to check if the program does what its not supposed to be doing ...
| Slashdot It! | Submit to del.icio.us