The evolution and re-engineering of software is strongly supported by comprehensive test suites for checking the correctness and robustness of software systems. However, this requires comprehensive test suites to be in place or developed prior to re-engineering of systems. Many techniques and strategies have been proposed to automate the creation of test suites. Specification-based testing aims to use all available behavioral specifications of software to drive black-box testing of software. In this paper, we present an approach, which applies specification-based testing to component software in the engineering domain, supporting an ongoing re-engineering process aiming to transform monolithic C++ engineering software into reusable fine-grained computational services. The developed test generator (TxTea) uses source code annotations added to component interface definitions and drives test data generation by a randomized testing approach, which integrates a satisfiability modulo theories (SMT) solver to check satisfiability and generate test data for comprehensive preconditions. As we show, TxTea can be successfully applied to a given component technology, and as we discuss in this paper, the customized specification language and generic implementation make reuse in more general use cases feasible.
Man Fai LauYuen Tak YuPak‐Lok Poon
Rong WangYuji SatoShaoying Liu
Gordon FraserAngelo Gargantini
Guillaume PetiotNikolaï KosmatovAlain GiorgettiJacques Julliand