Require, Test and Trace IT
- Cite this paper as:
- Aichernig B.K., Hörmaier K., Lorber F., Ničković D., Tiran S. (2015) Require, Test and Trace IT. In: Núñez M., Güdemann M. (eds) Formal Methods for Industrial Critical Systems. FMICS 2015. Lecture Notes in Computer Science, vol 9128. Springer, Cham
We propose a framework for requirement-driven test generation that combines contract-based interface theories with model-based testing. We design a specification language, requirement interfaces, for formalizing different views (aspects) of synchronous data-flow systems from informal requirements. Multiple views of a system, modeled as requirement interfaces, are naturally combined by conjunction.
We develop an incremental test generation procedure with 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 an industrial use case.
KeywordsModel-based testing Test-case generation Requirements engineering Traceability Requirement interfaces Formal specification Synchronous systems Consistency checking Incremental test-case generation
Unable to display preview. Download preview PDF.