D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange
D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange
D.3.3 ALGORITHMS FOR INCREMENTAL ... - SecureChange
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