TY - JOUR
T1 - Using aspects for testing of embedded software
T2 - Experiences from two industrial case studies
AU - Metsä, Jani
AU - Maoz, Shahar
AU - Katara, Mika
AU - Mikkonen, Tommi
N1 - Funding Information:
Acknowledgments The first and the third listed authors acknowledge partial funding from the Academy of Finland (grant number 121012). Part of the second listed author’s work was done while he was with the Weizmann Institute of Science, Rehovot, Israel. In addition, the second listed author acknowledges partial funding from an Advanced Research Grant awarded to David Harel of the Weizmann Institute from the European Research Council (ERC) under the European Community’s 7th Framework Programme (FP7/2007-2013).
PY - 2014/6
Y1 - 2014/6
N2 - Aspect-oriented software testing is emerging as an important alternative to conventional procedural and object-oriented testing techniques. This paper reports experiences from two case studies where aspects were used for the testing of embedded software in the context of an industrial application. In the first study, we used code-level aspects for testing non-functional properties. The methodology we used for deriving test aspect code was based on translating high-level requirements into test objectives, which were then implemented using test aspects in AspectC++. In the second study, we used high-level visual scenario-based models for the test specification, test generation, and aspect-based test execution. To specify scenario-based tests, we used a UML2-compliant variant of live sequence charts. To automatically generate test code from the models, a modified version of the S2A Compiler, outputting AspectC++ code, was used. Finally, to examine the results of the tests, we used the Tracer, a prototype tool for model-based trace visualization and exploration. The results of the two case studies show that aspects offer benefits over conventional techniques in the context of testing embedded software; these benefits are discussed in detail. Finally, towards the end of the paper, we also discuss the lessons learned, including the technological and other barriers to the future successful use of aspects in the testing of embedded software in industry.
AB - Aspect-oriented software testing is emerging as an important alternative to conventional procedural and object-oriented testing techniques. This paper reports experiences from two case studies where aspects were used for the testing of embedded software in the context of an industrial application. In the first study, we used code-level aspects for testing non-functional properties. The methodology we used for deriving test aspect code was based on translating high-level requirements into test objectives, which were then implemented using test aspects in AspectC++. In the second study, we used high-level visual scenario-based models for the test specification, test generation, and aspect-based test execution. To specify scenario-based tests, we used a UML2-compliant variant of live sequence charts. To automatically generate test code from the models, a modified version of the S2A Compiler, outputting AspectC++ code, was used. Finally, to examine the results of the tests, we used the Tracer, a prototype tool for model-based trace visualization and exploration. The results of the two case studies show that aspects offer benefits over conventional techniques in the context of testing embedded software; these benefits are discussed in detail. Finally, towards the end of the paper, we also discuss the lessons learned, including the technological and other barriers to the future successful use of aspects in the testing of embedded software in industry.
KW - Aspect-oriented programming
KW - Case studies
KW - Embedded software
KW - Software testing
UR - http://www.scopus.com/inward/record.url?scp=84899475238&partnerID=8YFLogxK
U2 - 10.1007/s11219-012-9193-8
DO - 10.1007/s11219-012-9193-8
M3 - ???researchoutput.researchoutputtypes.contributiontojournal.article???
AN - SCOPUS:84899475238
SN - 0963-9314
VL - 22
SP - 185
EP - 213
JO - Software Quality Journal
JF - Software Quality Journal
IS - 2
ER -