Test Design Techniques Flashcards
Test Strategies
Random
Partitioning
Random Strategy
Randomly generated test cases. Easy to run millions of tests in a short amount of time. Can find range-bugs effectively. Difficult to find single-point bugs. Cheap.
Partitioning Strategy
Reduces an infinite set of test cases into a finite set of classes. Targeted test cases are efficient with single-point bugs. Sensitive to accuracy of specification. More expensive as you have to plan the tests. Susceptible to pesticide paradox.
Pesticide Paradox
When the tests are the same so you fix them but don’t know if there are other tests out there that need fixing.
What is best at addressing single point bugs
Partitioning Strategy
Combinatorial Testing Techniques
Manual step for structuring specification into a set of properties or attributes that can be systematically varied and used to generate test cases.
Four main types of combinatorial testing
- Brute Force
- Category-Partition Testing
- Pairwise Combination Testing
- Catalogue-Based Testing
Brute Force Testing
Simple and blunt. Try as many combinations as possible. Difficult to monitor and control. Intention is to try out as many test cases as possible.
Category Partition Testing
Separates the identification of the values that characterize the input space from the combination of different values into test cases.
Early estimation of number of test cases and monitoring of test progress. Identify features to be tested separately.
Equivalence Class
Two values belong to the same class if they are treated in the same way by the program
Boundary Value Analysis
Looking at the edge cases
Pairwise Combination Testing
Automatically testing all possible combinations for n parameters
Use of Tools
Generating combinations that efficiently cover all pairs is nearly impossible to do manually for non-trivial situations. Automated tools can do this for you