Input Domain
the set of all input data to the program
Program path
a sequence of instructions from entry to exit
Wrong classification
means a wrong path is executed for a specific input data
Feasable path
if there exists input data which causes the path to execute
Infeasable path
no input data exists to cause the path to execute
Computation Error
specific input data causes the correct path to execute, but the output value is wrong
Domain error
specific input data causes the program to excute a wrong path
Equivalence Partitioning
Identify inputs, putputs, behaviors environment or whatever factors you are interested in testing
group the factors into classes that the system should handle equivalently = equivalent classes
create tests where at least ONE option from each class is represented
Boundary Value Analysis BVA
extension and refinment of the equivalence class partitioning technique
What is a boundary in BVA
a place where the system’s expected bahvior changes
central idea BVA
to select test data near the boundary of a data domain so that data both within and outside an equivalence class are selected
closed boundaries
points on the boundary are included in the domain of interest
open boundary
The points of the boundary do not belong to the domain of interest.
closed domain
all of its boundaries are closed
open domain
some of its boundaries are open
extreme point
point where two or more boundaries cross
Adjacent domains
have a boundary inequality in common
boudary errors
closure error
shifted boundary error
tilted boundary error
if a boundary i open when the intention is to have a closed boundary, or vice verse (>= instead of >)
when the implemented boundary is parallel to the intended boundary
x+y>5 instead of x+y>4
Tilted boundary error
the constant coefficients of the variables in a predicate defining a boundary take up wrong values
x+y>5 instead of x+0,5*y >5
ON and OFF points for a closed boundary
an ON point lies in within the domain of interest, OFF point in an adjacent domain
ON and OFF points for a open boundary
an ON point lies in an adjacent domain, whereas an OFFpoint lies within the domainof interest
2-Way test in application with 5 variables
every combination of values of any 2 variables (out of 5 variables) is covered in at least one test
Pairwise testing in condensed 2-way testing
many pairs can be tested at the same time in one combination
•Online shopping system example
•Parameters: Availability, Payment Method, Carrier, Delivery Schedule, Export Control
all combinations:
4x3x3x4x2 = 288 combinations
2-way combination?
=(4*3)+(4*3)+(4*4)+(4*2)+(3*3)+(3*4)+(3*2)+(3*4)+(3*2)+(4*2) = 101 Combinations
Pairwise with Parameter Order phases
Initialization phase
Vertical growth phase
Horizontal growth phase
Pairwise with Parameter Order
order variables based on the number of their possible values
Generate test cases by full combinations of the first two variables
Vertival growth phase
add other variables one-by-one to generate a combination
reorder certain variables values if needed
Horizontal growht phase
if re-order cannot generate enough new combinations
extend horizontally to add possibility of using re-ordering to generate new combinations
4 key concepts in functional testing
Precisely identify the domain of each input and each output variable
Select values from the data domain of each variable having important properties
Consider combinations of special values from different input domains to design test cases
Consider input values such that the program under test produces special values from the domain of the output variable
Last changed2 years ago