A Test Framework for Executing Model-Based Testing in Embedded Systems

Model Driven Development (MDD) and Model Based Testing (MBT) are gaining inroads individually for their application in embedded software engineering projects. However, their full-edged and integrated usage in real-life embedded software engineering projects (e.g. industrially relevant examples) and...

Full description

Bibliographic Details
Main Author: Iyenghar, Padma
Other Authors: Prof. Dr. Elke Pulvermüller
Format: Doctoral Thesis
Language:English
Published: 2012
Subjects:
Online Access:https://repositorium.ub.uni-osnabrueck.de/handle/urn:nbn:de:gbv:700-2012092510320
id ndltd-uni-osnabrueck.de-oai-repositorium.ub.uni-osnabrueck.de-urn-nbn-de-gbv-700-2012092510320
record_format oai_dc
collection NDLTD
language English
format Doctoral Thesis
sources NDLTD
topic Embedded Software Engineering
Model-Based Testing
Test Framework
Unified Modeling Language (UML)
UML Testing Profile (UTP)
ddc:000
spellingShingle Embedded Software Engineering
Model-Based Testing
Test Framework
Unified Modeling Language (UML)
UML Testing Profile (UTP)
ddc:000
Iyenghar, Padma
A Test Framework for Executing Model-Based Testing in Embedded Systems
description Model Driven Development (MDD) and Model Based Testing (MBT) are gaining inroads individually for their application in embedded software engineering projects. However, their full-edged and integrated usage in real-life embedded software engineering projects (e.g. industrially relevant examples) and executing MBT in resource constrained embedded systems (e.g. 16 bit system/64 KiByte memory) are emerging fields. Addressing the aforementioned gaps, this thesis proposes an integrated model-based approach and test framework for executing the model-based test cases, with minimal overhead, in embedded systems. Given a chosen System Under Test (SUT) and the system design model, a test framework generation algorithm generates the necessary artifacts (i.e., the test framework) for executing the model-based test cases. The main goal of the test framework is to enable test automation and test case execution at the host computer (which executes the test harness), thereby only the test input data is executed at the target. Significant overhead involved in interpreting the test data at the target is eliminated, as the test framework makes use of a target debugger (communication and decoding agent) on the host and a target monitor (software-based runtime monitoring routine) in the embedded system. In the prototype implementation of the proposed approach, corresponding (standardized) languages such as the Unified Modeling Language (UML) and the UML Testing Profile (UTP) are used for the MDD and MBT phases respectively. The applicability of the proposed approach is demonstrated using an experimental evaluation (of the prototype) in real-life examples. The empirical results indicate that the total time spent for executing the test cases in the target (runtime-time complexity), comprises of only the time spent to decode the test input data by the target monitor and execute it in the embedded system. Similarly, the only memory requirement in the target for executing the model-based test cases in the target is that of the software-based target monitor. A quantitative comparison on the percentage change in the memory overhead (runtime-memory complexity) for the existing approach and the proposed approach indicates that the existing approach (e.g. in a MDD/MBT tool-Rhapsody), introduces approximately 150% to 350% increase in memory overhead for executing the test cases. On the other hand, in the proposed approach, the target monitor is independent of the number of test cases to be executed and their complexity. Hence, the percentage change in the memory overhead for the proposed approach shows a declining trend w.r.t the increasing code-size for equivalent application scenarios (approximately 17% to 2%). Thus, the proposed test automation approach provides the essential benefit of executing model- based tests, without downloading the test harness in the target. It is demonstrated that it is feasible to execute the test cases specified at higher abstraction levels (e.g. using UML sequence diagrams) in resource constrained embedded systems and how this may be realized using the proposed approach. Further, as the proposed runtime monitoring mechanism is time and memory-aware, the overhead parameters can be accommodated in the earlier phases of the embedded software development cycle (if necessary) and the target monitor can be included in the final production code. The aforementioned advantages highlight the scalability, applicability, reliability and superiority of the proposed approach over the existing methodologies for executing the model-based test cases in embedded systems.
author2 Prof. Dr. Elke Pulvermüller
author_facet Prof. Dr. Elke Pulvermüller
Iyenghar, Padma
author Iyenghar, Padma
author_sort Iyenghar, Padma
title A Test Framework for Executing Model-Based Testing in Embedded Systems
title_short A Test Framework for Executing Model-Based Testing in Embedded Systems
title_full A Test Framework for Executing Model-Based Testing in Embedded Systems
title_fullStr A Test Framework for Executing Model-Based Testing in Embedded Systems
title_full_unstemmed A Test Framework for Executing Model-Based Testing in Embedded Systems
title_sort test framework for executing model-based testing in embedded systems
publishDate 2012
url https://repositorium.ub.uni-osnabrueck.de/handle/urn:nbn:de:gbv:700-2012092510320
work_keys_str_mv AT iyengharpadma atestframeworkforexecutingmodelbasedtestinginembeddedsystems
AT iyengharpadma testframeworkforexecutingmodelbasedtestinginembeddedsystems
_version_ 1719354398416568320
spelling ndltd-uni-osnabrueck.de-oai-repositorium.ub.uni-osnabrueck.de-urn-nbn-de-gbv-700-20120925103202020-10-28T17:22:53Z A Test Framework for Executing Model-Based Testing in Embedded Systems Iyenghar, Padma Prof. Dr. Elke Pulvermüller Prof. Dr. Clemens Westerkamp Embedded Software Engineering Model-Based Testing Test Framework Unified Modeling Language (UML) UML Testing Profile (UTP) ddc:000 Model Driven Development (MDD) and Model Based Testing (MBT) are gaining inroads individually for their application in embedded software engineering projects. However, their full-edged and integrated usage in real-life embedded software engineering projects (e.g. industrially relevant examples) and executing MBT in resource constrained embedded systems (e.g. 16 bit system/64 KiByte memory) are emerging fields. Addressing the aforementioned gaps, this thesis proposes an integrated model-based approach and test framework for executing the model-based test cases, with minimal overhead, in embedded systems. Given a chosen System Under Test (SUT) and the system design model, a test framework generation algorithm generates the necessary artifacts (i.e., the test framework) for executing the model-based test cases. The main goal of the test framework is to enable test automation and test case execution at the host computer (which executes the test harness), thereby only the test input data is executed at the target. Significant overhead involved in interpreting the test data at the target is eliminated, as the test framework makes use of a target debugger (communication and decoding agent) on the host and a target monitor (software-based runtime monitoring routine) in the embedded system. In the prototype implementation of the proposed approach, corresponding (standardized) languages such as the Unified Modeling Language (UML) and the UML Testing Profile (UTP) are used for the MDD and MBT phases respectively. The applicability of the proposed approach is demonstrated using an experimental evaluation (of the prototype) in real-life examples. The empirical results indicate that the total time spent for executing the test cases in the target (runtime-time complexity), comprises of only the time spent to decode the test input data by the target monitor and execute it in the embedded system. Similarly, the only memory requirement in the target for executing the model-based test cases in the target is that of the software-based target monitor. A quantitative comparison on the percentage change in the memory overhead (runtime-memory complexity) for the existing approach and the proposed approach indicates that the existing approach (e.g. in a MDD/MBT tool-Rhapsody), introduces approximately 150% to 350% increase in memory overhead for executing the test cases. On the other hand, in the proposed approach, the target monitor is independent of the number of test cases to be executed and their complexity. Hence, the percentage change in the memory overhead for the proposed approach shows a declining trend w.r.t the increasing code-size for equivalent application scenarios (approximately 17% to 2%). Thus, the proposed test automation approach provides the essential benefit of executing model- based tests, without downloading the test harness in the target. It is demonstrated that it is feasible to execute the test cases specified at higher abstraction levels (e.g. using UML sequence diagrams) in resource constrained embedded systems and how this may be realized using the proposed approach. Further, as the proposed runtime monitoring mechanism is time and memory-aware, the overhead parameters can be accommodated in the earlier phases of the embedded software development cycle (if necessary) and the target monitor can be included in the final production code. The aforementioned advantages highlight the scalability, applicability, reliability and superiority of the proposed approach over the existing methodologies for executing the model-based test cases in embedded systems. 2012-09-25 doc-type:doctoralThesis https://repositorium.ub.uni-osnabrueck.de/handle/urn:nbn:de:gbv:700-2012092510320 eng http://rightsstatements.org/vocab/InC/1.0/ application/pdf application/zip