Testing is a critical component of modern software development. The pr
oblem of designing a suite of test cases is superficially similar to t
hat of designing an experiment to estimate main effects and interactio
ns, but there are crucial differences. Additive models are unhelpful,
and classical design criteria are also. We propose a new class of mode
ls and new measures of effectiveness. We compare several designs.