The economic attractiveness of component-based systems grows thanks to the opportunity they offer to save development costs. Decomposing systems into building blocks supports their development by allowing the re-use of prefabricated components; nonetheless, systematic integration testing strategies focused on providing evidence for correct component interaction are still required in order to ensure reliability at system level. This project is meant to answer to such needs by providing systematic support during the integration testing phase.
For this purpose the project identified different testing criteria based on the degree of interface coverage achieved during integration testing. In the context of this investigation various classes of component coupling were considered, giving rise to a number of corresponding testing strategies. Depending on the application-specific complexity of component interactions, only a selection of such strategies may be implemented during testing at affordable effort.
Sub-project A: "Development of an Integration Testing System"
In order to evaluate the quality of an integration test, suitable test criteria are required. Within this sub-project a number of criteria for integration tests were formally defined, based on the degree of interface coverage. Test cases fulfilling a given criterion may be represented by appropriate restrictions posed on the amount of all possible test runs. On this basis, a technique was developed allowing to analyze the model of the integrated system and to generate appropriate formal restrictions in OCL or CTL. This approach allows to automatically verify whether given testing criteria were fulfilled or not.
Sub-project B: "Evaluation of Integration Testing Effort"
The selection of an optimal testing strategy essentially depends also on the testing effort it requires. A technique for evaluating the amount of effort required by different integration testing strategies was developed. To this end, for a selection of coverage criteria the maximal effort they require (e.g. in terms of number and length of sequences required to be tested) was determined by means of the UML models underlying the component-based application considered. This approach was finally implemented by a tool supporting the selection of the optimal test strategy.
During the reporting period, the results of this research project were refined and processed in the light of their exploitation for the purpose of automated test data generation aiming at a systematic interface verification (see subproject 2 of project "UnITeD - Automatic Test Data Generation to Support Incremental Model- and Code-based Testing Procedures for High Reliability Software Systems").
Ansprechpartner: Prof. Dr. Francesca Saglietti