Accelerated robustness testing of state-based components using reverse execution

  • Authors:
  • Patrick Heckeler;Bastian Schlich;Thomas Kropf

  • Affiliations:
  • Eberhard Karls University, Tübingen, Germany;ABB Corprorate Research, Industrial Software Systems Program, Ladenburg, Germany;Eberhard Karls University, Tübingen, Germany

  • Venue:
  • Proceedings of the 28th Annual ACM Symposium on Applied Computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a methodology to test the robustness of reactive state-based software components by executing defined and undefined transitions of a UML Statechart specification, and therefore simulating a usage scenario under normal and abnormal conditions. The Z3 constraint solver is used to generate corresponding test cases. Since robustness testing is time-intensive due to a large number of undefined transitions to be tested, a main advantage of our presented approach is that it accelerates robustness testing by returning to reached states of a component, using reverse execution, and then refining them as a starting point for further tests. Furthermore, the presented approach provides runtime verification capabilities to test transition guards defined in the specification and therefore increases the test significance. This is done without instrumenting the source code. Due to the high acceleration achieved, our approach is well-suited for daily regression testing during component development.