# A Tool Support for Model-Driven Development: An Industrial Case Study from a Measurement Domain
## 7 Related Work
### Summary of Related Work in Model-Based Testing  
MDD has not only changed the way software is built, it also brings the new way this software must be tested [56] - MBT is recommended for model-driven development. [PERSON] et al. [56] have surveyed model-driven testing techniques. They concentrated in the following aspects of a model-driven testing: (1) Modeling language: What kind of modeling language researchers and practitioners are using for MBT, (2) Automatic test generation: If the MBT systems provide functionality of automated generation of tests, (3) Testing target: The artefacts of testing (models, implementation, etc. ), (4) Tool support: MBT tools that can be used to reduce time to market to generate the test cases. Another survey on MBT was done by [PERSON] et al. [37]. Most commonly, researchers use UML notation as a modeling language for MBT [57; 58; 59]. It is similar with the tool Tedeso [60], which is a testing platform integrated within Eclipse and used by Siemens. It uses UML-based notation to specify a test which, during the generation phase, is connected with a specific unit testing API (JUnit, NUnit), depending on the selected target language. Similarly, Sequencer has its domain-specific notation, which uses DUnit API for code generation. A Tedeso supports automatic test generation, while SeTT does not have such a feature. The Tedeso testing target is the more extensible and interoperable solution, available also for general-purpose languages, whilst SeTT is dedicated to Sequencer, and hardly-coupled within the MDDE. An example of a tool with automatic test generation in the form of a test model, U2 TP (UML 2.0 Testing Profile) was introduced by [PERSON] et al. [61]. They automated the transformation of design models into test models and generating test cases. As stated earlier, Sequencer does not support the automated generation of SeTT models from Sequencer models. However, automated generation is possible, since SeTT's metamodel is an extension of Sequencer's metamodel. Consequently, all Sequencer models are valid SeTT models. The missing part which should be added is the testing code in models. Our interest in an automated generation is in mutation MBT [62]. Here, part of the model is mutated (changed), and new test cases are executed to check if we can find any error in the measurements. Note, that the measurement domain is a complex system that integrates mechanical,electrical, and software subsystems. It takes a lot of repetitions with different settings to be sure that the solution is working properly. With mutation MBT we could generate missing manual model tests. Model-Based Testing solutions target different software artefacts, ranging from abstract [57] to executable models [58], from specific [63] to composite parts of implementation [59], or even target the whole system [64]. In the case of SeTT, we can test executable models as well as the whole system. At the customer location, we are opting for testing the whole measurement system. As such, we can validate if the measurement system (equipment together with measurement models) is installed properly, and that the real-world data acquisitions can be started. For in-house testing, we also support testing of \"virtual\" models. In this case, measurement equipment is replaced by virtual (demo) devices, which enables detection of potential design model errors. As the last aspect of [PERSON] et al. 's survey [56], they outlined tool support. Developing a debugger or testing support is effort and time consuming. We can reduce these expenses using publicly available platforms. [PERSON] et al. [65] shared their experience of integrating the TEMA model-based development platform with a test generator with a keyword-driven test automation open-source solution Robot framework ([[http://robotframework.org/](http://robotframework.org/)]([http://robotframework.org/](http://robotframework.org/))). The authors claim that the amount of implementation work was rather small when compared to the benefits of the integration.