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.

o Help (? Key)<br />

• All of the subjects identified the first 6 variables. None of them considered Help. None<br />

identified any other variables.<br />

Input or Output: The first six variables are both input <strong>and</strong> output variables. On the input side,<br />

you enter or select a value (that's the input). On the output side, the value of the variable controls<br />

how the program displays <strong>and</strong> prints slides.<br />

• All of the subjects identified these six variables as input variables or they made no explicit<br />

identification <strong>and</strong> then treated the variables (in the equivalence class table) as input<br />

variables.<br />

• Only 2 subjects, JLT11S4 <strong>and</strong> JL1418S2, explicitly identified any variables as output.<br />

Neither of these actually analyzed the output variables. Their equivalence class table dealt<br />

only with the input-related issues for these variables. One additional subject, JL28A1S4,<br />

mentioned output tests (for example, s/he said of # of slides that an error could be failure<br />

to print the slides correctly) but s/he listed all variables only as input variables <strong>and</strong> s/he<br />

didn't explore the output-related risks in any detail.<br />

• If I put the "width" variable in front of 10 experienced testers, especially if I asked them to<br />

identify output variables, I would expect several, perhaps all, to deal with at least one or<br />

two output dimensions associated with this variable. I interpret the subjects' failure to<br />

consider the output issues involved with these variables as partially due to their<br />

inexperience <strong>and</strong> partially due to negative transfer from a course that focused primarily on<br />

analysis of input variables.<br />

Dimensions: The question is, what should we vary to test this variable?<br />

Here's an example:<br />

• Slides Sized For<br />

o It is both an input <strong>and</strong> an output variable. You select a value (input) but that value<br />

controls how the program displays <strong>and</strong> prints slides. If you change this with an<br />

existing presentation, you may change the font size of the existing slides.<br />

o Has only two obvious dimensions, as an input variable. One dimension is the<br />

enumerated list. The other is the side effect impact on the other variables (height,<br />

width, etc.) As an output variable, it changes a lot of things, such as default font<br />

size, the font sizes of existing text, the default scaling of the slide on the screen,<br />

the ability of the attached printer to print the slide.<br />

• To test the input variable, one obvious dimension involves the value that the program<br />

appears to be requesting. Examples:<br />

o the Slides Sized For variable is enumerated. One "dimension" is the set of all<br />

values in the enumerated list.<br />

o the Width variable is floating point. The dimension runs from smaller Widths to<br />

larger Widths. It appears to run from 1 to 56 inches.<br />

• There are other aspects of the input variable that are orthogonal to the identified<br />

dimension. For example, for the width:

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

Saved successfully!

Ooh no, something went wrong!