Fault-Based Generation of Test Cases from UML-Models - Approach and Some Experiences

In principle, automated test case generation - both from source code and models - is a fairly evolved technology, which is on the way to common use in industrial testing and quality assessment of safety-related, softwareintensive systems. However, common coverage measures such as branch or MC/DC1 for source code and states or transitions for state-based models provide only very limited information about the covered (implementation) faults. Fault-based test case generation tries to improve this situation by looking for detecting faults explicitly. This paper describes an approach combining fault- and model-based testing which has been realized in the European project MOGENTES2, using UML state machines for representing requirements, and discusses results of its application to a use case from the automotive domain.

[1]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

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

[3]  Bernhard K. Aichernig,et al.  Mutation testing in UTP , 2009, Formal Aspects of Computing.

[4]  Alex Groce,et al.  Modular verification of software components in C , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[5]  Paulo César Masiero,et al.  Mutation testing applied to validate specifications based on statecharts , 1999, Proceedings 10th International Symposium on Software Reliability Engineering (Cat. No.PR00443).

[6]  Manfred Broy,et al.  Perspectives of System Informatics , 2001, Lecture Notes in Computer Science.

[7]  Jan Tretmans,et al.  Test Generation with Inputs, Outputs, and Quiescence , 1996, TACAS.

[8]  Bernhard K. Aichernig,et al.  Automated Conformance Verification of Hybrid Systems , 2010, 2010 10th International Conference on Quality Software.

[9]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[10]  Elisa Bertino,et al.  ECOOP 2000 — Object-Oriented Programming , 2000, Lecture Notes in Computer Science.

[11]  Bernhard K. Aichernig,et al.  Protocol Conformance Testing a SIP Registrar: an Industrial Application of Formal Methods , 2007, Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007).

[12]  Bernhard K. Aichernig,et al.  Efficient Mutation Killers in Action , 2011, 2011 Fourth IEEE International Conference on Software Testing, Verification and Validation.

[13]  Dirk Seifert,et al.  Test Case Generation for UML Statecharts , 2003, Ershov Memorial Conference.

[14]  Peter Fröhlich,et al.  Automated Test Case Generation from Dynamic Models , 2000, ECOOP.

[15]  Norbert Oster,et al.  Automatic Test Data Generation by Multi-objective Optimisation , 2006, SAFECOMP.

[16]  Yongwang Zhao,et al.  Towards a Formal Verification Approach for Implementation of Web Services Specifications , 2010, 2010 IEEE Asia-Pacific Services Computing Conference.

[17]  Stephan Weißleder,et al.  Deriving Input Partitions from UML Models for Automatic Test Generation , 2008, MoDELS.

[18]  Ralph-Johan Back,et al.  Distributed cooperation with action systems , 1988, TOPL.

[19]  David Clark,et al.  Safety and Security Analysis of Object-Oriented Models , 2002, SAFECOMP.

[20]  Massimiliano Di Penta,et al.  Assessing and improving state-based class testing: a series of experiments , 2004, IEEE Transactions on Software Engineering.

[21]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[22]  Christoph Lüth,et al.  Experiences in Applying Formal Verification in Robotics , 2010, SAFECOMP.

[23]  Kaisa Sere,et al.  An Approach to Object-Orientation in Action Systems , 1998, MPC.

[24]  Zhong Shao Certified software , 2010, Commun. ACM.

[25]  Diego Latella,et al.  Formal test-case generation for UML statecharts , 2004, Proceedings. Ninth IEEE International Conference on Engineering of Complex Computer Systems.