Bridging the Gap between Requirements and Aspect State Machines to Support Non-functional Testing: Industrial Case Studies

Requirements are often structured and documented as use cases while UML state machine diagrams often describe the behavior of a system. State machines capture rich and detailed behavior of a system, which can serve as a basis for many automated activities such as automated test case and code generation. The former is of interest in this paper. Non-functional behavior can be modeled using standard UML state machines, but usually results in complex state machines. To cope with such complexity, Aspect-Oriented Modeling (AOM) is often recommended. AspectSM is a UML profile defined to model crosscutting behavior on UML state machines called as aspect state machines with the focus of supporting model-based test case generation for non-functional behavior. Hence, an automatic transition from use cases to aspect state machines would provide significant, practical help for testing system requirements. In this paper, we propose an approach to automatically generate aspect state machines from use cases for the purpose of non-functional testing. Our approach is implemented in a tool, which we used for two industrial case studies. Results show that high quality aspect state machines can be generated, which can be manually refined at a reasonable cost to support testing.

[1]  Lionel C. Briand,et al.  Automated Transition from Use Cases to UML State Machines to Support State-Based Testing , 2011, ECMFA.

[2]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[3]  Lionel C. Briand,et al.  Modeling robustness behavior using aspect-oriented modeling to support robustness testing of industrial systems , 2011, Software & Systems Modeling.

[4]  Lionel C. Briand,et al.  A systematic review of transformation approaches between user requirements and analysis models , 2011, Requirements Engineering.

[5]  Zafar I. Malik,et al.  Comprehensively evaluating conformance error rates of applying aspect state machines , 2012, AOSD '12.

[6]  Stéphane S. Somé An Approach for the Synthesis of State Transition Graphs from Use Cases , 2003, Software Engineering Research and Practice.

[7]  Olav Lysne,et al.  Simula Research Laboratory, by Thinking Constantly about it , 2009 .

[8]  Lionel C. Briand,et al.  An Automated Approach to Transform Use Cases into Activity Diagrams , 2010, ECMFA.

[9]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[10]  Lionel C. Briand,et al.  Does aspect-oriented modeling help improve the readability of UML state machines? , 2012, Software & Systems Modeling.

[11]  Lionel C. Briand,et al.  A Use Case Modeling Approach to Facilitate the Transition towards Analysis Models: Concepts and Empirical Evaluation , 2009, MoDELS.

[12]  Tao Yue,et al.  Automatically deriving a uml analysis model from a use case model , 2010 .

[13]  Oscar Pastor,et al.  Requirements Engineering-Based Conceptual Modelling , 2002, Requirements Engineering.

[14]  Lionel C. Briand,et al.  Facilitating the transition from use case models to analysis models: Approach and experiments , 2013, TSEM.