Synthesizing tests for combinatorial coverage of modal scenario specifications

Software-intensive systems often consist of many components that interact to fulfill complex functionality. Testing these systems is vital, preferably by a minimal set of tests that covers all relevant cases. The behavior is typically specified by scenarios that describe what the system may, must, or must not do. When designing tests, as in the design of the system itself, the challenge is to consider interactions of scenarios. When doing this manually, critical interactions are easily overlooked. Inspired by Combinatorial Test Design, which exploits that bugs are typically found by regarding the interaction of a small set of parameters, we propose a new test coverage criterion based on scenario interactions. Furthermore, we present a novel technique for automatically synthesizing from Modal Sequence Diagram specifications a minimal set of tests that ensures a maximal coverage of possible t-wise scenario interactions. The technique is evaluated on an example specification from an industrial project.

[1]  Kim G. Larsen,et al.  Tools for Model-Checking Timed Systems , 2013, Communicating Embedded Systems.

[2]  Kim G. Larsen,et al.  Efficient On-the-Fly Algorithms for the Analysis of Timed Games , 2005, CONCUR.

[3]  Patrícia Duarte de Lima Machado,et al.  Test case generation by means of UML sequence diagrams and labeled transition systems , 2007, 2007 IEEE International Conference on Systems, Man and Cybernetics.

[4]  D. Richard Kuhn,et al.  Software fault interactions and implications for software testing , 2004, IEEE Transactions on Software Engineering.

[5]  Siddhartha R. Dalal,et al.  Model-based testing in practice , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[6]  Falk Fraikin,et al.  SeDiTeC-testing based on sequence diagrams , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[7]  David Harel,et al.  Assert and negate revisited: modal semantics for UML sequence diagrams , 2006, SCESM.

[8]  Michael Ebner TTCN-3 Test Case Generation from Message Sequence Charts , 2004 .

[9]  Johan Lilius,et al.  Synthesis of Scenario Based Test Cases from B Models , 2006, FATES/RV.

[10]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[11]  Joel Greenyer,et al.  The ScenarioTools Play-Out of Modal Sequence Diagram Specifications with Environment Assumptions , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[12]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[13]  Sung Deok Cha,et al.  Generating test sequences from a set of MSCs , 2003, Comput. Networks.

[14]  Jean-Marc Jézéquel,et al.  Test Synthesis from UML Models of Distributed Software , 2007, IEEE Trans. Software Eng..

[15]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[16]  Scenario-Based Design and Simulation of Mechatronic Systems , 2009 .

[17]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[18]  Yu Lei,et al.  A Test Generation Strategy for Pairwise Testing , 2002, IEEE Trans. Software Eng..

[19]  Clémentine Nebut,et al.  Automatic test generation: a use case driven approach , 2006, IEEE Transactions on Software Engineering.

[20]  Antonio Bucchiarone,et al.  TESTOR: deriving test sequences from model-based specifications , 2005, CBSE'05.

[21]  Lionel C. Briand,et al.  Combining UML Sequence and State Machine Diagrams for Data-Flow Based Integration Testing , 2012, ECMFA.

[22]  Mika Katara,et al.  Model-Based Testing Using LSCs and S2A , 2009, MoDELS.

[23]  Martin Glinz,et al.  Using Dependency Charts to Improve Scenario-Based Testing , 2000 .

[24]  Maxime Cordy,et al.  Incrementally synthesizing controllers from scenario-based product line specifications , 2013, ESEC/FSE 2013.