(CSC 4133)
Domain Testing
1
Outline
•
•
•
•
•
•
•
•
Basic Idea
Domain Error
Testing for Domain Errors
Sources of Domains
Types of Domain Errors
ON and OFF Points
Test Selection Criterion
Summary
2
Domain Testing
• One of the most important areas where partition-based testing has made a strong impact is domain testing or input domain testing, where the overall input domain is partitioned into sub-domains, and the associated boundaries as well as the sub-domains are tested.
• Many problems are commonly observed at the boundaries, leading us to examine various boundary testing strategies.
• The basic idea of domain testing is to generate test cases by assigning specific values to input variables based on some analyses of the input domain. This analysis is called domain analysis/ input domain analysis.
• Basically black-box in nature, but could be white-box.
3
Domain Testing: General Idea
1) Identifying the input variable, input space and define the input domain based on specifications (black-box) or implementation details (whitebox) for the program unit under testing.
2) Dividing or classifying the input domain into sub-domains to form a partition. 3) Performing domain analysis for each sub-domain to examine its limits in each dimension and its boundary properties, such as the specific boundary definitions and the related closure properties.
4) Selecting test points to cover these partitioned sub-domains based on domain analysis results.
5) Testing with the above selected test points as input, checking the results(output values), dealing with observed problems, and carrying out analysis & follow-up activities.
4
Domain Error
•
•
•
Two fundamental elements of a computer program are:
– Input domain: The set of all input data to the program
– Program path: A sequence of instructions from entry to exit
A program path corresponds to some flow of control