Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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
ABC
truetruetrue
FALSEtruetrue
trueFALSEtrue
truetrueFALSE

A1 || A2 || … || An:

  • one test idea with All Ai’s false
  • N cases, each of which has exactly one term true.

Example:

**AB
ABC
FALSEFALSEFALSE
FALSEtrueFALSE
trueFALSEFALSE
FALSEFALSEtrue

Two Boolean Operators

**(A && B)C**
ABC
FALSEtruetrue
truetrueFALSE
FALSEtrueFALSE
trueFALSEFALSE
**A && (BC)**
ABC
trueFALSEFALSE
trueFALSEtrue
truetrueFALSE
FALSEFALSEtrue
**A(B && C)**
ABC
truetrueFALSE
FALSEtruetrue
FALSEFALSEtrue
FALSEtrueFALSE
**(AB) && C**
ABC
FALSEFALSEtrue
FALSEtruetrue
trueFALSEtrue
FALSEtrueFALSE

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)CD**
ABCDABCD
FALSEtruetrueFALSEFALSEFALSEtrueFALSE
truetrueFALSEFALSEFALSEtruetrueFALSE
FALSEtrueFALSEFALSEtrueFALSEtrueFALSE
trueFALSEFALSEFALSEFALSEFALSEtruetrue
trueFALSEFALSEtrueFALSEtrueFALSEFALSE
**A && (BCD)**
ABCDABCD
trueFALSEFALSEFALSEFALSEtrueFALSEFALSE
trueFALSEtrueFALSEFALSEtrueFALSEtrue
truetrueFALSEFALSEFALSEtruetrueFALSE
trueFALSEFALSEtruetruetrueFALSEFALSE
FALSEFALSEFALSEtrueFALSEFALSEFALSEtrue
**A(B && C)D**
ABCDABCD
truetrueFALSEFALSEFALSEtruetrueFALSE
FALSEtruetrueFALSEFALSEFALSEFALSEtrue
FALSEFALSEtrueFALSEtrueFALSEtrueFALSE
FALSEtrueFALSEFALSEFALSEFALSEtruetrue
FALSEtrueFALSEtrueFALSEFALSEtrueFALSE
**(AB) && (CD)**
ABCDABCD
FALSEFALSEFALSEtrueFALSEFALSEFALSEtrue
FALSEtrueFALSEtrueFALSEtrueFALSEtrue
trueFALSEtrueFALSEtrueFALSEFALSEtrue
FALSEtrueFALSEFALSEFALSEFALSEtruetrue
FALSEFALSEtrueFALSE

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)
ABCDABCD
truetruetrueFALSEFALSEtruetruetrue
FALSEtruetrueFALSEtruetrueFALSEtrue
trueFALSEtrueFALSEFALSEtrueFALSEtrue
trueFALSEtruetruetrueFALSEFALSEtrue
truetrueFALSEFALSEtrueFALSEtrueFALSE
**A && B && (CD)****A && (B
ABCDABCD
truetrueFALSEtruetruetruetrueFALSE
FALSEtrueFALSEtruetrueFALSEtruetrue
trueFALSEFALSEtruetrueFALSEFALSEtrue
truetrueFALSEFALSEtrueFALSEtrueFALSE
truetruetrueFALSEFALSEFALSEtruetrue
**A && (BC) && D****(A
ABCDABCD
trueFALSEFALSEtrueFALSEFALSEtruetrue
trueFALSEtruetrueFALSEtruetruetrue
truetrueFALSEtruetrueFALSEtruetrue
FALSEFALSEtruetrueFALSEtrueFALSEtrue
trueFALSEtrueFALSEFALSEtruetrueFALSE
**(A && B)(C && D)****A
ABCDABCD
FALSEtruetruetrueFALSEtruetruetrue
truetruetrueFALSEFALSEFALSEtruetrue
FALSEtrueFALSEtrueFALSEtrueFALSEtrue
trueFALSEtrueFALSEtruetruetrueFALSE
FALSEtruetrueFALSE