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.

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

To generate a test suite a set of test purposes is needed, which represent<br />

sequences of <strong>in</strong>put and output events exchanged between the SUT and its environment<br />

(black box test<strong>in</strong>g). Two modes are offered to generate them. In the <strong>in</strong>teractive<br />

mode the user can def<strong>in</strong>e test purposes with the help a SDL-simulator.<br />

Guid<strong>in</strong>g a stepwise simulation of the system one can construct a sequence of<br />

<strong>in</strong>terest.<br />

Based on the SDL specification the tool can automatically complete a set of<br />

test purposes based on a state space exploration to achieve a given percentage<br />

of system-coverage. As <strong>in</strong> AutoL<strong>in</strong>k the coverage unit is an observational step,<br />

i.e. a sequence of events connect<strong>in</strong>g two states <strong>in</strong> which the only possible actions<br />

are an <strong>in</strong>put stimuli or a timeout of an <strong>in</strong>ternal timer (so called stable states). A<br />

test purpose corresponds to such an observational step which aga<strong>in</strong> corresponds<br />

to one or many basic blocks, i.e. blocks of SDL <strong>in</strong>structions without branch<strong>in</strong>g.<br />

It is the same approach as the one from AutoL<strong>in</strong>k and hence there is the same<br />

problem with nondeterm<strong>in</strong>ism, see 14.2.15.<br />

In addition to depth-first and supertrace algorithms TestComposer offers a<br />

breadth-first search to traverse the reachability graph. To narrow the search it<br />

is possible to exclude parts of the SDL specification (like transitions, processes<br />

or whole blocks) from the state exploration. To automatically generate postambles<br />

which br<strong>in</strong>g the SUT back to a suitable idle-state, TestComposer allows to<br />

manually def<strong>in</strong>e boolean expressions that signalizes such idle states and therefore<br />

allow a search back to them. Test purposes are automatically partitioned<br />

<strong>in</strong>to preamble, test body and postamble. Observer processes can also be used as<br />

abstract test purposes. They do not have to be transformed <strong>in</strong>to MSCs like <strong>in</strong><br />

AutoFocus. Such an observer can be used to prune paths of the state space or<br />

generate reports when a given condition holds.<br />

A test purpose does not have to cover a complete sequence of observable<br />

events, it can be <strong>in</strong>complete (respectively abstract). TestComposer computes the<br />

miss<strong>in</strong>g events needed to b<strong>in</strong>d the specified ones together. There can be many<br />

ways to complete the abstract sequence which allows an abstract test purpose<br />

to describe the set of all possible completions. This is especially useful when the<br />

order of signals does not matter which is a common situation when different<br />

communication channels are <strong>in</strong>volved.<br />

To generate test cases, paths <strong>in</strong> the SDL specification have to be found which<br />

correspond to the test purposes. Here come the TGV algorithms <strong>in</strong>to operation<br />

which perform also the postamble computation.<br />

Tool Interfaces<br />

SDL specifications serve as <strong>in</strong>puts. An API (Application Programm<strong>in</strong>g Language)<br />

allows the user to construct <strong>in</strong>terfaces with arbitrary test specification<br />

languages. A module for TTCN is already <strong>in</strong>cluded.<br />

Summary<br />

TestComposer is very similar to AutoL<strong>in</strong>k. Some of the comparative results of<br />

[SEG00] will be addressed <strong>in</strong> 14.3.

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

Saved successfully!

Ooh no, something went wrong!