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.

partition testing beats r<strong>and</strong>om testing by an insignificant amount, then the<br />

effectiveness of proportional partition testing when compared with r<strong>and</strong>om testing<br />

is questionable not only in terms of cost (overhead of generation of thous<strong>and</strong>s of<br />

test cases) but also in terms of how effective it is in detecting failures.<br />

Ntafos (1998) also pointed out that partition testing strategies that rely on<br />

r<strong>and</strong>om selection of representatives from subdomains that are considered<br />

homogenous are ineffective in finding certain errors when compared with testing<br />

strategies that involve knowledge-based selection of test cases. These would<br />

include boundary values in domain testing, selection of test cases based on<br />

anticipated failures or risk-prone areas in case of risk-based approach <strong>and</strong> selection<br />

of test cases based on important features or functions of a software. He further<br />

argued that forming perfectly homogeneous subdomains has been practically<br />

impossible, so r<strong>and</strong>om selection of test cases from so-called homogeneous<br />

subdomains might not be a great idea after all.<br />

2.02.03 Risk-Based Selection<br />

Here we select test cases based on risk. Section 2.01.02.02 discussed how risk-<br />

based testing strategies determine risks <strong>and</strong> select test cases based on these risks.<br />

One of the most familiar risk-based test case selection strategies is called boundary<br />

values analysis. Jorgensen (2002) also identified certain other risk-based test<br />

selection strategies, such as special value testing <strong>and</strong> worst case testing.<br />

2.02.03.01 Boundary Value Analysis<br />

“Experience shows that test cases that explore boundary conditions have a higher<br />

payoff than test cases that do not. Boundary conditions are those situations directly<br />

on, above, <strong>and</strong> beneath the edges of input equivalence classes <strong>and</strong> output<br />

equivalence classes” (Myers, 1979, p. 50).<br />

“A boundary describes a change-point for a program. The program is<br />

supposed to work one way for anything on one side of the boundary. It does<br />

something different for anything on the other side” (Kaner et al., 1999, p. 399).<br />

28

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

Saved successfully!

Ooh no, something went wrong!