10.12.2012 Views

Domain Testing: Divide and Conquer - Testing Education

Domain Testing: Divide and Conquer - Testing Education

Domain Testing: Divide and Conquer - Testing Education

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Myers (1979) suggested associating an equivalence class with every input<br />

or output condition mentioned in the specification of the product under test. Myers<br />

cited two kinds of equivalence classes associated with every input or output<br />

condition:<br />

1. A valid equivalence class consists of all values that serve as valid input to<br />

the product or program under test, such that the corresponding input or<br />

output condition is satisfied.<br />

2. An invalid equivalence class consists of all erroneous values or invalid<br />

inputs.<br />

Ostr<strong>and</strong> <strong>and</strong> Balcer (1988) described the classic category partition method<br />

of doing functional testing using specifications. The first three tasks in their method<br />

are:<br />

1. Analyze the specification. The tester identifies individual functional<br />

units that can be tested separately. For each unit, the tester identifies:<br />

• parameters of the functional unit<br />

• characteristics of each parameter<br />

• objects in the environment whose state could affect the<br />

functional unit’s operation<br />

• characteristics of each environment object<br />

The tester then classifies these items into categories that have an effect on<br />

the behavior of the functional unit.<br />

2. Partition the categories into choices. The tester determines the different<br />

significant cases that can occur within each parameter <strong>and</strong> environment<br />

category.<br />

3. Determine constraints among the choices. The tester decides how the<br />

choices interact, how the occurrence of one choice can affect the existence<br />

of another, <strong>and</strong> what special restrictions might affect any choice. (p. 679)<br />

Kaner et al. (1999) described an example of a program whose specification<br />

includes 64K to 256K RAM memory requirements. In this case, one could identify<br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!