New software development methods based on models and distributed component technology are major steps towards more efficient software systems. The growing complexity of embedded systems increases the need for solid testing to ensure the reliability. However, testing is often not well linked with other development phases. One reason for this is that designers, developers and testers use different languages, file formats and tools, making it difficult to communicate with each other and to exchange documents.
The early integration of test development into the system development process becomes more and more important. Design mistakes and implementation faults can be detected in an early stage of the system development. This allows for reducing the overall software production time and costs significantly.
Mobile embedded systems vary in size and complexity, and might include such divergent things. Although the use of models is beneficial, there are certain trade-offs required when using MDD (model driven development) on embedded systems. Small and resource-constrained systems may have such limited memory.
Within embedded software circles, the practices of Test-Driven Development (TDD) and Continuous Integration (CI) are either unknown or have been regarded as prohibitively difficult to use. The direct interaction of programming and hardware as well as limited resources in Real-Time Operating System (RTOS) becomes prohibitive. In such cases, operating system services like threads, processes, or tasks are not available. Modeling tools that provide MDD capabilities need to take these diverse constraints into account.
Because of the characteristics of embedded software, automated testing has difficulty performing all relevant tests and evaluation of the areas of concern. Model-Driven Testing (MDT) techniques artifacts software engineering bases on model transformation principle. This implies increasing research on automation of the testing processes.
In this paper, we present an approach to deriving tests from the model of embedded system. The analysis of methodologies used for embedded as well as for standard system development demands creation of a bridge between them.
We also discuss the reliable testing processes. In particular, test development for each phase of system engineering is proposed. Input signals as continuous, discrete and real time constraints are the factors indicating object-oriented or function-oriented approach.
To read more of this external content, download the complete paper from the author archives online at SERSC.