Written by: S. Ali, L. Briand, and H. Hemmati. Journal of Software and Systems Modeling, 2011.
Model-based robustness testing requires, precise and complete behavioral, robustness modeling, for example using state machines, to support automated test case generation. Robustness behavior is a crosscutting behavior and, if modeled directly, often results in large, complex state machines. These in practice tend to be error-prone and difficult to read and understand. As a result, modeling robustness behavior in this way is not scalable for complex industrial systems. To overcome these problems, Aspect Oriented Modeling (AOM) can be employed to model robustness behavior as aspects in the form of state machines specifically designed to model robustness behavior. In this paper, we present a RobUstness Modeling Methodology (RUMM) that allows modeling robustness behavior as aspects. At the core of RUMM is a UML profile (AspectSM) that allows modeling UML state machine aspects as UML state machines (aspect state machines). Such an approach, relying on a standard and using the target notation as the basis to model the aspects themselves, is expected to make the practical adoption of aspect modeling easier, and thus in our context support robustness modeling for the purpose of automated model-based testing in industry. We discuss the benefits, such as reduced modeling effort and improved readability, achieved when applying RUMM to an industrial case study where we have used the profile to model the crosscutting robustness behavior of a videoconferencing system.