Questo catalogo si applica a espressioni che combinano AND e OR. Come promemoria, di seguito viene riportato come
derivare i requisiti di test per espressioni omogenee:
A1 && A2 && ... && An:
-
una proposta di test con tutte Ai è true
-
N casi, ognuno dei quali ha esattamente un termine false.
Esempio:
A && B && C
|
A
|
B
|
C
|
true
|
true
|
true
|
FALSE
|
true
|
true
|
true
|
FALSE
|
true
|
true
|
true
|
FALSE
|
A1 || A2 || ... || An:
-
una proposta di test con tutte Ai è false
-
N casi, ognuno dei quali ha esattamente un termine true.
Esempio:
A || B || C
|
A
|
B
|
C
|
FALSE
|
FALSE
|
FALSE
|
FALSE
|
true
|
FALSE
|
true
|
FALSE
|
FALSE
|
FALSE
|
FALSE
|
true
|
Due operatori booleani
(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
|
Tre operatori booleani
Un And
Per rilevare un'espressione, scorrere le colonne. Gli AND si accumulano da sinistra a destra, man mano che si legge.
(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
|
Tre operatori booleani
Due And
Per rilevare un'espressione, scorrere le colonne. Gli OR si accumulano da destra a sinistra, man mano che si legge
(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
|
|