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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

406 Axel Bel<strong>in</strong>fante, Lars Frantzen, and Christian Schallhart<br />

14.2.4 AutoFocus<br />

Introduction<br />

Autofocus 6 is a graphical tool that is targeted at the model<strong>in</strong>g and development<br />

of distributed systems [HSE97]. With<strong>in</strong> AutoFocus, distributed systems<br />

are described as collections of components which are communicat<strong>in</strong>g over typed<br />

channels. The components can be decomposed <strong>in</strong>to networks of communicat<strong>in</strong>g<br />

subcomponents. More specifically, a model <strong>in</strong> AutoFocus is a hierarchically<br />

organized set of time-synchronous communicat<strong>in</strong>g EFSMs which use functional<br />

programs for its guards and assignments. A model <strong>in</strong> AutoFocus can be used for<br />

code generation and as basis for verification and test<strong>in</strong>g.<br />

The test<strong>in</strong>g facilities [PPS + 03] of AutoFocus require a model of the SUT,<br />

a test case specification, and the SUT itself. The test case specification might<br />

be functional, structural, or stochastic. Functional specifications are used to test<br />

given properties of the SUT, structural specifications are based on some coverage<br />

criterion, and stochastic specifications are used to generate sequences randomly<br />

wrt. some given <strong>in</strong>put data distributions. Based on the model and the test case<br />

specification, a set of test cases is generated automatically with the help of a<br />

constra<strong>in</strong>t logic programm<strong>in</strong>g (CLP) environment.<br />

To execute a suite of test sequences, the SUT needs to be adapted to the<br />

abstraction level of the model which underlies the test sequences. The adaption<br />

has to translate the IO between the conceptual level of the model and the concrete<br />

implementation level of the SUT.<br />

The test<strong>in</strong>g environment for smart cards used <strong>in</strong> [PPS + 03] is automatically execut<strong>in</strong>g<br />

the complete test suite and reports deviations between the expected and<br />

actual IO-traces of the SUT.<br />

Test Method<br />

Functional Specifications Functional test purposes are used for test<strong>in</strong>g of a particular<br />

feature, i.e., test sequences have to be generated which trigger the execution<br />

of a certa<strong>in</strong> functionality. AutoFocus employs a nondeterm<strong>in</strong>istic state<br />

mach<strong>in</strong>e to represent the set of sequences which are of <strong>in</strong>terest, i.e., trigger the<br />

functionality <strong>in</strong> question. In many cases, there is more than one way to exercise<br />

a specific feature. In such situations, nondeterm<strong>in</strong>istic state mach<strong>in</strong>e allow to<br />

represent the set of possible test sequences <strong>in</strong> a natural way. Also, it is possible<br />

to add transitions that will cause a failure <strong>in</strong> the protocol represented by the<br />

state mach<strong>in</strong>e.<br />

The composition of the model and the functional test specification yields a<br />

generator which enumerates test sequences for a given length exhaustively or<br />

stochastically.<br />

6 See also http://autofocus.<strong>in</strong>formatik.tu-muenchen.de.

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

Saved successfully!

Ooh no, something went wrong!