23.02.2015 Views

D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange

D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange

D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange

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.

Legend:<br />

Fig. 5. Basic testing concepts<br />

– requirement: statement about what the system should do<br />

– test model: dedicated model for capturing the expected SUT behavior (Class diagram, State machine)<br />

– test case: a finite sequence of test steps<br />

– test intention: user’s view of testing needs<br />

– test suite: a finite set of test cases<br />

– test script: executable version of a test case<br />

– test step: operation’s call or verdict computation<br />

– test objective: high level test intention.<br />

etc.) have been performed. Test may have a status new in case of a newly generated test<br />

for a newly introduced target.<br />

If none of the model elements covered by the test is impacted, the test is run as<br />

is on the new version of the model M ′ , without modifying the test sequence. The test<br />

is thus said to be reusable. More precisely, there are two cases: unimpacted and reexecuted.<br />

A test is unimpacted if the test sequence is identical to its previous version,<br />

and the covered requirements still exist. The test is re-executed if it covers impacted<br />

model elements, but it can still be animated on the new version of the model without<br />

any modification.<br />

If a test covers model elements impacted by the evolution from M to M ′ , and if the<br />

test cannot be animated on M ′ the test becomes obsolete. There are two cases: either<br />

the target represents deleted model elements, and thus the test does not make any sense<br />

on M ′ and it is said to be outdated, or, the test fails when animated on model M ′ (e.g.<br />

due to a modification of the system behaviour), it is then failed. When the test case<br />

operations can be animated but produce different outputs, a new version of the test is<br />

created in which the expected outputs (i.e. the oracle) are updated w.r.t. M ′ . In this case<br />

the tests have the status updated. When the test case operations can not be animated as<br />

is in the first version of the test, a new operation sequence has to be computed to cover<br />

the test target. In the latter case, tests have status adapted.<br />

To determine the status of a test when evolution takes place, the SeTGaM approach<br />

relies on dependency analysis that is performed to compute the differences between the<br />

models, and their impacts on test cases. We have four different classification suites.<br />

– evolution test suite contains tests classified as new and adapted;<br />

8

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

Saved successfully!

Ooh no, something went wrong!