Test-Ideas Catalog: Test Ideas for Mixtures of ANDs and ORs
This catalog applies to expressions that combine ANDs and ORs. As a reminder,
here's how to derive test requirements for homogenous expressions:
A1 && A2 && ... && An:
- one test idea with All Ai's true
- N cases, each of which has exactly one term false.
Example:
A && B && C |
A |
B |
C |
true |
true |
true |
FALSE |
true |
true |
true |
FALSE |
true |
true |
true |
FALSE |
A1 || A2 || ... || An:
- one test idea with All Ai's false
- N cases, each of which has exactly one term true.
Example:
A
|| B || C |
A |
B |
C |
FALSE |
FALSE |
FALSE |
FALSE |
true |
FALSE |
true |
FALSE |
FALSE |
FALSE |
FALSE |
true |
Two Boolean Operators
(A
&& B) || C |
A |
B |
C |
FALSE |
true |
true |
true |
true |
FALSE |
FALSE |
true |
FALSE |
true |
FALSE |
FALSE |
A
&& (B || C) |
A |
B |
C |
true |
FALSE |
FALSE |
true |
FALSE |
true |
true |
true |
FALSE |
FALSE |
FALSE |
true |
A
|| (B && C) |
A |
B |
C |
true |
true |
FALSE |
FALSE |
true |
true |
FALSE |
FALSE |
true |
FALSE |
true |
FALSE |
(A
|| B) && C |
A |
B |
C |
FALSE |
FALSE |
true |
FALSE |
true |
true |
true |
FALSE |
true |
FALSE |
true |
FALSE |
Three Boolean Operators
One And
To help find an expression, read down the columns. The ANDs
drift from the left to the right as you read.
(A
&& B) || C || D |
|
((A
|| B) && C) || D |
A |
B |
C |
D |
|
A |
B |
C |
D |
FALSE |
true |
true |
FALSE |
|
FALSE |
FALSE |
true |
FALSE |
true |
true |
FALSE |
FALSE |
|
FALSE |
true |
true |
FALSE |
FALSE |
true |
FALSE |
FALSE |
|
true |
FALSE |
true |
FALSE |
true |
FALSE |
FALSE |
FALSE |
|
FALSE |
FALSE |
true |
true |
true |
FALSE |
FALSE |
true |
|
FALSE |
true |
FALSE |
FALSE |
A
&& (B || C || D) |
|
A
|| (B && (C || D)) |
A |
B |
C |
D |
|
A |
B |
C |
D |
true |
FALSE |
FALSE |
FALSE |
|
FALSE |
true |
FALSE |
FALSE |
true |
FALSE |
true |
FALSE |
|
FALSE |
true |
FALSE |
true |
true |
true |
FALSE |
FALSE |
|
FALSE |
true |
true |
FALSE |
true |
FALSE |
FALSE |
true |
|
true |
true |
FALSE |
FALSE |
FALSE |
FALSE |
FALSE |
true |
|
FALSE |
FALSE |
FALSE |
true |
A
|| (B && C) || D |
|
A
|| B || (C && D) |
A |
B |
C |
D |
|
A |
B |
C |
D |
true |
true |
FALSE |
FALSE |
|
FALSE |
true |
true |
FALSE |
FALSE |
true |
true |
FALSE |
|
FALSE |
FALSE |
FALSE |
true |
FALSE |
FALSE |
true |
FALSE |
|
true |
FALSE |
true |
FALSE |
FALSE |
true |
FALSE |
FALSE |
|
FALSE |
FALSE |
true |
true |
FALSE |
true |
FALSE |
true |
|
FALSE |
FALSE |
true |
FALSE |
(A||B)
&& (C || D) |
|
(A
|| B || C) && D |
A |
B |
C |
D |
|
A |
B |
C |
D |
FALSE |
FALSE |
FALSE |
true |
|
FALSE |
FALSE |
FALSE |
true |
FALSE |
true |
FALSE |
true |
|
FALSE |
true |
FALSE |
true |
true |
FALSE |
true |
FALSE |
|
true |
FALSE |
FALSE |
true |
FALSE |
true |
FALSE |
FALSE |
|
FALSE |
FALSE |
true |
true |
|
|
|
|
|
FALSE |
FALSE |
true |
FALSE |
Three Boolean Operators
Two Ands
To help find an expression, read down the columns. The ORs drift
from the right to the left as you read
(A
&& B && C) || D |
|
((A
&& B) || C) && D |
A |
B |
C |
D |
|
A |
B |
C |
D |
true |
true |
true |
FALSE |
|
FALSE |
true |
true |
true |
FALSE |
true |
true |
FALSE |
|
true |
true |
FALSE |
true |
true |
FALSE |
true |
FALSE |
|
FALSE |
true |
FALSE |
true |
true |
FALSE |
true |
true |
|
true |
FALSE |
FALSE |
true |
true |
true |
FALSE |
FALSE |
|
true |
FALSE |
true |
FALSE |
A
&& B && (C || D) |
|
A
&& (B || (C && D)) |
A |
B |
C |
D |
|
A |
B |
C |
D |
true |
true |
FALSE |
true |
|
true |
true |
true |
FALSE |
FALSE |
true |
FALSE |
true |
|
true |
FALSE |
true |
true
|
true |
FALSE |
FALSE |
true |
|
true |
FALSE |
FALSE |
true |
true |
true |
FALSE |
FALSE |
|
true |
FALSE |
true |
FALSE |
true |
true |
true |
FALSE |
|
FALSE |
FALSE |
true |
true |
A
&& (B || C) && D |
|
(A
|| B) && C && D |
A |
B |
C |
D |
|
A |
B |
C |
D |
true |
FALSE |
FALSE |
true |
|
FALSE |
FALSE |
true |
true |
true |
FALSE |
true |
true |
|
FALSE |
true |
true |
true |
true |
true |
FALSE |
true |
|
true |
FALSE |
true |
true |
FALSE |
FALSE |
true |
true |
|
FALSE |
true |
FALSE |
true |
true |
FALSE |
true |
FALSE |
|
FALSE |
true |
true |
FALSE |
(A
&& B) || (C && D) |
|
A
|| (B && C && D) |
A |
B |
C |
D |
|
A |
B |
C |
D |
FALSE |
true |
true |
true |
|
FALSE |
true |
true |
true |
true |
true |
true |
FALSE |
|
FALSE |
FALSE |
true |
true |
FALSE |
true |
FALSE |
true |
|
FALSE |
true |
FALSE |
true |
true |
FALSE |
true |
FALSE |
|
true |
true |
true |
FALSE |
|
|
|
|
|
FALSE |
true |
true |
FALSE |
|