Hauptmenü
  • Autor
    • Aichernig, Bernhard K.
    • Hörmaier, Klaus
    • Lorber, Florian
    • Ničković, Dejan
    • Tiran, Stefan
  • TitelRequire, test, and trace IT
  • Datei
  • DOI10.1007/s10009-016-0444-z
  • Persistent Identifier
  • Erschienen inInternational Journal on Software Tools for Technology Transfer
  • Band19
  • Erscheinungsjahr2017
  • Heft4
  • Seiten409-426
  • ISSN1433-2787
  • ZugriffsrechteCC-BY
  • Download Statistik445
  • Peer ReviewJa
  • AbstractWe 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. Various 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. This framework defines a natural association between informal requirements, their formal specifications, and the generated tests, thus facilitating traceability. Finally, we introduce a fault-based test-case generation technique, called model-based mutation testing, to requirement interfaces. It generates a test suite that covers a set of fault models, guaranteeing the detection of any corresponding faults in deterministic systems under test. We implemented a prototype test generation tool and demonstrate its applicability in two industrial use cases.