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.

356 Kirsten Berkenkötter and Raimund Kirner<br />

model-based test case generation <strong>in</strong> Section 13.3. Different model<strong>in</strong>g techniques<br />

like timed process algebras and timed automata are discussed for real-time and<br />

hybrid systems as well as their application <strong>in</strong> test case generation. After that,<br />

evolutionary test<strong>in</strong>g is <strong>in</strong>troduced as a method for improv<strong>in</strong>g generated test<br />

suites with respect to test<strong>in</strong>g tim<strong>in</strong>g constra<strong>in</strong>ts <strong>in</strong> Section 13.4. We conclude<br />

with a discussion of the presented techniques <strong>in</strong> Section 13.5.<br />

13.2 Test Automation<br />

Test<strong>in</strong>g is one of the most time consum<strong>in</strong>g parts of the software development<br />

process. Hence, a high degree of automation is needed. The general structure<br />

for a test automation system is the same for untimed, timed, and hybrid systems.<br />

In contrast, the <strong>in</strong>ternals of the different parts of a test automation system differ,<br />

as the specific characteristics of timed and hybrid systems must be considered.<br />

13.2.1 Overview<br />

First, we have to <strong>in</strong>troduce some test<strong>in</strong>g term<strong>in</strong>ology. Test<strong>in</strong>g itself means the<br />

execution of the system to be tested which we call system under test (SUT).<br />

The SUT is fed <strong>in</strong>put data while the output data is monitored for check<strong>in</strong>g its<br />

correctness.<br />

A test case is a set of test <strong>in</strong>puts, execution conditions, and expected results.<br />

This does not mean that the test case necessarily gives explicit <strong>in</strong>put data, it<br />

may also specify rules for generat<strong>in</strong>g test data. The set of test cases for a SUT<br />

is called test suite. Thetest procedure gives detailed <strong>in</strong>formation about the<br />

set-up and execution of test cases and the evaluation of the test results. If only<br />

the <strong>in</strong>terfaces of the SUT are accessible, a test is called black-box test. In<br />

contrast, if also <strong>in</strong>ternal states can be observed and <strong>in</strong>fluenced, a test is called<br />

white-box test.<br />

As stated <strong>in</strong> Peleska et al. [PAD + 98], a test automation system consists of<br />

several logical build<strong>in</strong>g blocks as depicted <strong>in</strong> Figure 13.1:<br />

• Model The test model represents the required functionality of the SUT.<br />

More precisely, it abstracts the functionality to a sensible size to allow the<br />

generation of a test suite with manageable size. Different representations can<br />

be chosen, e.g. automata or process algebra.<br />

• Test Generation The test generator uses the model for deriv<strong>in</strong>g test<br />

cases. In addition, more specific test case specifications that describe<br />

a test case or a set of test cases can be used for this purpose. The test<br />

generator is responsible for achiev<strong>in</strong>g a manageable number of test cases out<br />

of the <strong>in</strong>f<strong>in</strong>itely many possible ones. Therefore it plays an important role <strong>in</strong><br />

the test automation system.<br />

• Test Monitor<strong>in</strong>g The execution of test cases must be monitored to keep<br />

track of <strong>in</strong>puts and outputs. This is done by the test monitor. Ontheone<br />

hand, this is needed for documentation purposes. On the other hand, results

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

Saved successfully!

Ooh no, something went wrong!