Towards Automated Test Sequence Generation

The article presents a novel control-flow based test sequence generation technique using UML 2.0 activity diagram, which is a behavioral type of UML diagram. Like other model-based techniques, this technique can be used in the earlier phases of the development process owing to the availability of the design models of the system. The activity diagram model is seamlessly converted into a colored Petri net. We proposed a technique that enables the automatic generation of test sequences according to a given coverage criteria from the execution of the colored Petri nets model. Two types of structural coverage criteria for AD based models, namely sequential and concurrent coverage are described. The proposed technique was applied to an example to demonstrate its feasibility and the generated test sequences were evaluated against selected coverage criteria. This technique can potentially be adapted to service oriented applications, workflows, and concurrent applications.

[1]  Harald Störrle,et al.  Semantics of Control-Flow in UML 2.0 Activities , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[2]  Lionel C. Briand,et al.  A UML-Based Approach to System Testing , 2001, Software and Systems Modeling.

[3]  Robert B. France,et al.  A tool-supported approach to testing UML design models , 2005, 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'05).

[4]  Mingsong Chen,et al.  Automatic test case generation for UML activity diagrams , 2006, AST '06.

[5]  Harry Robinson Graph Theory Techniques in Model-Based Testing , 1999 .

[6]  Joseph Robert Horgan,et al.  Effect of Test Set Minimization on Fault Detection Effectiveness , 1995, 1995 17th International Conference on Software Engineering.

[7]  Phyllis G. Frankl,et al.  An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing , 1993, IEEE Trans. Software Eng..

[8]  Sanjai Rayadurgam,et al.  Auto-generating Test Sequences Using Model Checkers: A Case Study , 2003, FATES.

[9]  Conrad Bock,et al.  UML 2 Activity and Action Models, Part 5: Partitions , 2004, J. Object Technol..

[10]  Hong Zhu,et al.  A Theory of Testing High Level Petri Nets , 2000 .

[11]  Jana Koehler,et al.  Improving Business Process Models with Reference Models in Business-Driven Development , 2006, Business Process Management Workshops.

[12]  Benjamin Lieberman UML Activity Diagrams : Versatile Roadmaps for Understanding System Behavior , 2001 .

[13]  S. Ramaswamy,et al.  Software Design and Testing Using Petri Nets : A Case Study Using a Distributed Simulation Software System * , 2002 .

[14]  Peter J. Clarke,et al.  Evaluating test adequacy coverage of high level petri nets using spin , 2008, AST '08.

[15]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[16]  Srini Ramaswamy,et al.  A Petri net based approach for establishing necessary software design and testing requirements , 2000, Smc 2000 conference proceedings. 2000 ieee international conference on systems, man and cybernetics. 'cybernetics evolving to systems, humans, organizations, and their complex interactions' (cat. no.0.

[17]  Chiou Peng Lam,et al.  Transformation methodology for UML 2.0 activity diagram into colored Petri nets , 2007 .

[18]  Georg Kösters,et al.  Coupling Use Cases and Class Models as a Means for Validation and Verification of Requirements Specifications , 2001, Requirements Engineering.

[19]  Xiaoqing Bai,et al.  An approach to generate the thin-threads from the UML diagrams , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[20]  Rik Eshuis,et al.  A Formal Semantics for UML Activity Diagrams - Formalising Workflow Models , 2001 .

[21]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..

[22]  Kuo-Chung Tai Testing of concurrent software , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.

[23]  Jens Bæk Jørgensen Coloured Petri Nets in Development of a Pervasive Health Care System , 2003, ICATPN.

[24]  Stephan Merz,et al.  Model Checking: A Tutorial Overview , 2000, MOVEP.

[25]  Ganesh Gopalakrishnan,et al.  Random Walk Based Heuristic Algorithms for Distributed Memory Model Checking , 2003, PDMC@CAV.

[26]  Robert B. France,et al.  A Systematic Approach to Generate Inputs to Test UML Design Models , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[27]  Roland Meyer,et al.  Compositional Semantics for UML 2.0 Sequence Diagrams Using Petri Nets , 2005, SDL Forum.

[28]  Tomohiro Kudoh,et al.  Test suite generation methods for concurrent systems based on coloured Petri nets , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[29]  David Lee,et al.  Conformance testing of protocols specified as communicating finite state machines-a guided random walk based approach , 1996, IEEE Trans. Commun..

[30]  Robert B. France,et al.  Test adequacy criteria for UML design models , 2003, Softw. Test. Verification Reliab..

[31]  Antonia Bertolino,et al.  Software Testing Research and Practice , 2003, Abstract State Machines.

[32]  Yossi Lichtenstein,et al.  Testing concurrent programs: a formal evaluation of coverage criteria , 1996, Proceedings of the Seventh Israeli Conference on Computer Systems and Software Engineering.

[33]  Sarfraz Khurshid,et al.  Generalized Symbolic Execution for Model Checking and Testing , 2003, TACAS.

[34]  Levi Lucio,et al.  Formal Test Generation from UML Models , 2006, Research Results of the DICS Program.

[35]  R.-D. Yang,et al.  A path analysis approach to concurrent program testing , 1990, Ninth Annual International Phoenix Conference on Computers and Communications. 1990 Conference Proceedings.

[36]  Charles W. Butler,et al.  Design complexity measurement and testing , 1989, CACM.