A Tool for Automated Test Code Generation from High-Level Petri Nets

Automated software testing has gained much attention because it is expected to improve testing productivity and reduce testing cost. Automated generation and execution of tests, however, are still very limited. This paper presents a tool, ISTA (Integration and System Test Automation), for automated test generation and execution by using high-level Petri nets as finite state test models. ISTA has several unique features. It allows executable test code to be generated automatically from a MID (Model-Implementation Description) specification - including a high-level Petri net as the test model and a mapping from the Petri net elements to implementation constructs. The test code can be executed immediately against the system under test. It supports a variety of languages of test code, including Java, C/C++, C#, VB, and html/Selenium IDE (for web applications). It also supports automated test generation for various coverage criteria of Petri nets. ISTA is useful not only for function testing but also for security testing by using Petri nets as threat models. It has been applied to several industry-strength systems.

[1]  Hartmann J. Genrich,et al.  Predicate/Transition Nets , 1986, Advances in Petri Nets.

[2]  Jörg Desel,et al.  Validation of information system models: Petri nets and test case generation , 1997, 1997 IEEE International Conference on Systems, Man, and Cybernetics. Computational Cybernetics and Simulation.

[3]  Dianxiang Xu,et al.  Automated Test Code Generation from Class State Models , 2009, Int. J. Softw. Eng. Knowl. Eng..

[4]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.

[5]  Grzegorz Rozenberg,et al.  Advances in Petri Nets 1985 , 1985, Lecture Notes in Computer Science.

[6]  Hong Zhu,et al.  A methodology of testing high-level Petri nets , 2002, Inf. Softw. Technol..

[7]  Benjamin W. Wah,et al.  Wiley Encyclopedia of Computer Science and Engineering , 2009, Wiley Encyclopedia of Computer Science and Engineering.

[8]  John Yen,et al.  Modeling and Analyzing Multi-Agent Behaviors Using Predicate/Transition Nets , 2003, Int. J. Softw. Eng. Knowl. Eng..

[9]  Gary Mcgraw Software security , 2004, IEEE Security & Privacy Magazine.

[10]  Dianxiang Xu,et al.  Threat-driven modeling and verification of secure software using aspect-oriented Petri nets , 2006, IEEE Transactions on Software Engineering.

[11]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[12]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[13]  Ding-Jung Chiang,et al.  Using a Petri net model approach to object-oriented class testing , 1999, IEEE SMC'99 Conference Proceedings. 1999 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.99CH37028).

[14]  Johannes Sametinger,et al.  Software Security , 2013, 2013 20th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS).