Automated Generation of Integration Test Sequences from Logical Contracts

This paper exploits logical contracts (i.e., Preconditions and post conditions) to automatically generate integration tests. The approach transforms a contract-based test model into an operational model, which makes it feasible to analyze correctness of the test model and generate integration tests to meet coverage criteria of the test model. This approach has been implemented in MISTA, a tool for automated generation of executable tests. MISTA allows executable test code to be generated in a rich variety of programming languages (e.g., Java, C, C++, C#, and PHP) and test execution environments. We have evaluated the fault-detection capability of contract-based test models through fault injection. The results show that contract-based tests can be highly effective in fault detection and that robustness tests targeting the situations of broken contracts are critical to finding faults related to component interactions.

[1]  Dianxiang Xu,et al.  A Tool for Automated Test Code Generation from High-Level Petri Nets , 2011, Petri Nets.

[2]  Didier Buchs,et al.  Semi-Automatic Test Case Generation from CO-OPN Specifications , 2007 .

[3]  Tsong Yueh Chen,et al.  TACCLE: a methodology for object-oriented software testing at the class and cluster levels , 2001, TSEM.

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

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

[6]  Hans-Gerhard Groß,et al.  Built-In Contract Testing in Component Integration Testing , 2003, Electron. Notes Theor. Comput. Sci..

[7]  Bertrand Meyer,et al.  ARTOO: adaptive random testing for object-oriented software , 2008, ICSE.

[8]  Hartmann J. Genrich Predicate/Transition Nets , 1986 .

[9]  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.

[10]  Dianxiang Xu,et al.  A model-based approach to automated testing of access control policies , 2012, SACMAT '12.

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

[12]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[13]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

[14]  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).

[15]  Tsong Yueh Chen,et al.  An Overview of Integration Testing Techniques for Object-Oriented Programs , 2002 .

[16]  A. Jefferson Offutt,et al.  MuJava: an automated class mutation system , 2005, Softw. Test. Verification Reliab..

[17]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[18]  Silva Lúcio,et al.  SATEL — A test intention language for object-oriented specifications of reactive systems , 2009 .