salle A. Turing CE4
28 May 2014 - 14h00
Require, Test and Trace It
by Dejan Nickovic from Austrian Institute of Technology
Abstract: We propose a framework for requirement-driven test generation which combines contract-based interface theories with model-based testing. We design a specification language, that we call requirement interfaces, for formalizing different views (aspects) of synchronous data-flow systems
from their informal requirements. Multiple views of a system, each modeled as a requirement interface, are naturally combined by conjunction.
We develop an incremental test generation consistency checking procedure which has several advantages. The test generation is driven by a single requirement interface at a time. It follows that each test assesses a specific aspect or feature of the system, specified by its associated
requirement interface. Since we do not explicitly compute the conjunction of all requirement interfaces of the system, we avoid state space explosion while generating tests. However, we incrementally complete a test for a specific feature with the constraints defined by other requirement interfaces. This allows catching violations of any other requirement during test execution, and not only of the one used to generate the test. Finally, this framework defines a natural association between informal requirements, their formal specifications and the generated tests, thus facilitating traceability. We implemented a prototype test generation tool and we demonstrate its applicability on several examples.