07.01.2013 Views

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

Lecture Notes in Computer Science 3472

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.

302 Christophe Gaston and Dirk Seifert<br />

the whole <strong>in</strong>put doma<strong>in</strong> of the implementation <strong>in</strong>to several subdoma<strong>in</strong>s. For<br />

example, doma<strong>in</strong> D = {0, 1, 2} is separated <strong>in</strong>to two subdoma<strong>in</strong>s D1 = {0, 1}<br />

and D2 = {2}. D1 and D2 def<strong>in</strong>e together a partition (<strong>in</strong> the mathematical<br />

sense) of D. Usually, the term<strong>in</strong>ology of partition based test<strong>in</strong>g is associated to<br />

any technique <strong>in</strong>volv<strong>in</strong>g a division of the <strong>in</strong>put doma<strong>in</strong> <strong>in</strong>to several subdoma<strong>in</strong>s<br />

even if these subdoma<strong>in</strong>s overlap. For example, if the doma<strong>in</strong> D = {0, 1, 2} is<br />

divided <strong>in</strong>to the follow<strong>in</strong>g two subdoma<strong>in</strong>s: D ′ 1 = {0, 1} and D ′ 2 = {1, 2}.<br />

Let us consider any structural selection criterion applied on a given model and<br />

program. Select<strong>in</strong>g a test suite implies divid<strong>in</strong>g the whole <strong>in</strong>put doma<strong>in</strong> of the<br />

implementation. For example, a model described <strong>in</strong> a formalism conta<strong>in</strong><strong>in</strong>g the<br />

”if-then-else” statement with x rang<strong>in</strong>g over D: if (x ≤ 1) then <strong>in</strong>st1 else <strong>in</strong>st2.<br />

By us<strong>in</strong>g decision coverage, the selected test suite conta<strong>in</strong>s at least two test cases:<br />

one for which the selected test data is such that x ≤ 1 and one for which the<br />

test data is such that x > 1. This example clearly demonstrates that test<strong>in</strong>g<br />

techniques <strong>in</strong> which test case selection processes are based on structural criteria<br />

are <strong>in</strong> fact partition based test<strong>in</strong>g techniques.<br />

The first part of the follow<strong>in</strong>g section is to compare abilities to detect faults of<br />

structural coverage based test<strong>in</strong>g techniques and of random based test<strong>in</strong>g. Random<br />

based test<strong>in</strong>g consists <strong>in</strong> select<strong>in</strong>g a certa<strong>in</strong> number of test data randomly<br />

out of the <strong>in</strong>put doma<strong>in</strong> and evaluat<strong>in</strong>g outputs caused by test data with regard<br />

to <strong>in</strong>tended results expressed <strong>in</strong> the model. Follow<strong>in</strong>g the discussion above, we<br />

discuss contributions which compare random based test<strong>in</strong>g and partition based<br />

test<strong>in</strong>g techniques. Section 11.4.1 provides a structured presentation of several<br />

significant contributions to this aspect.<br />

The second part of the follow<strong>in</strong>g section is to compare techniques based on<br />

different structural criteria on the basis of abilities to detect faults. One of the<br />

most well known ways to compare criteria is by the subsume relation. It is a way<br />

to compare the severity of test<strong>in</strong>g methods (<strong>in</strong> terms of adequacy of test suites).<br />

In Section 11.4.2 we present several relations derived from the subsume relation.<br />

Then, it is studied whether or not these relations impact the fault detection<br />

ability. That is, the follow<strong>in</strong>g question is addressed: If two criteria are <strong>in</strong>volved<br />

<strong>in</strong> one of these relations, what can we say about their respective abilities to<br />

detect faults?<br />

11.4.1 Partition Test<strong>in</strong>g Versus Random Test<strong>in</strong>g<br />

Here we focus on contributions which address the problem of compar<strong>in</strong>g respective<br />

abilities to detect faults of random based and partition based test<strong>in</strong>g<br />

[DN84, HT90, Nta98, Gut99]. All these contributions are based on a common<br />

mathematical framework. This framework is called the failure rate model and is<br />

now described.<br />

We suppose that an implementation is used for a long period of time with<br />

various samples of randomly selected test data. Furthermore we suppose that<br />

we are able to observe the number of detected faults at any time. The number<br />

of faults will converge towards a constant. We denote θ the ratio between this

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

Saved successfully!

Ooh no, something went wrong!