Testing software modelling tools using data mutation

Modelling tools play a crucial role in model-driven software development methods. A particular difficulty in testing such software systems is the generation of adequate test cases because the test data are structurally complicated. This paper proposes an approach called data mutation to generating a large number of test data from a few seed test cases. It is inspired in mutation testing methods, but differs from them in the way that mutation operators are defined and used. In our approach, mutation operators transform the input data rather than the program under test or the specification of the software. It is not a test adequacy measurement. Instead, it generates test cases. The paper also reports a case study with the method on testing a modelling tool and illustrates the applicability of the proposed method. Experiment data clearly demonstrated that the method can achieve a high test adequacy. It has a high fault detecting ability and good cost effectiveness.

[1]  Phil McMinn,et al.  The State Problem for Evolutionary Testing , 2003, GECCO.

[2]  Richard Denney Test-case generation from Prolog-based specifications , 1991, IEEE Software.

[3]  Bogdan Korel,et al.  Dependence analysis in reduction of requirement based test suites , 2002, ISSTA '02.

[4]  Roy P. Pargas,et al.  Test‐data generation using genetic algorithms , 1999 .

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

[6]  A. Jefferson Offutt,et al.  An Approach to Fault Modeling and Fault Seeding Using the Program Dependence Graph , 1997, J. Syst. Softw..

[7]  M. R. Woodward,et al.  From weak to strong, dead or alive? an analysis of some mutation testing issues , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

[8]  Robert M. Hierons Checking states and transitions of a set of communicating finite state machines , 2001, Microprocess. Microsystems.

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

[10]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[11]  Edward Yourdon,et al.  Modern structured analysis , 1989 .

[12]  A. DeMilloR.,et al.  Hints on Test Data Selection , 1978 .

[13]  Brian L. Meek,et al.  The effectiveness of error seeding , 1989, SIGP.

[14]  Hong Zhu,et al.  Consistency check in modelling multi-agent systems , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[15]  William E. Howden,et al.  Methodology for the Generation of Program Test Data , 1975, IEEE Transactions on Computers.

[16]  Hong Zhu,et al.  Agent-oriented modelling and specification of Web services , 2005, 10th IEEE International Workshop on Object-Oriented Real-Time Dependable Systems.

[17]  Kuo-Chung Tai Predicate-based test generation for computer programs , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[18]  Laurent Fribourg,et al.  Test sets generation from algebraic specifications using logic programming , 1986, J. Syst. Softw..

[19]  Hong Zhu,et al.  Formal Specification of Evolutionary Software Agents , 2002, ICFEM.

[20]  Volker Gruhn,et al.  BINTEST - Binary Search-based Test Case Generation , 2003 .

[21]  Roy P. Pargas,et al.  Test-Data Generation Using Genetic Algorithms , 1999, Softw. Test. Verification Reliab..

[22]  Stacy J. Prowell Using Markov Chain Usage Models to Test Complex Systems , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[23]  Paulo Fernandes,et al.  Representing software usage models with stochastic automata networks , 2002, SEKE '02.

[24]  Patrick John Graydon Formal Specification of , 2006 .

[25]  Hong Zhu,et al.  WELL-FORMEDNESS , CONSISTENCY AND COMPLETENESS OF GRAPHIC MODELS , 2006 .

[26]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[27]  Ferhat Khendek,et al.  Test Selection Based on Finite State Models , 1991, IEEE Trans. Software Eng..

[28]  Hong Zhu,et al.  Modelling and specifying scenarios and agent behaviour , 2003, IEEE/WIC International Conference on Intelligent Agent Technology, 2003. IAT 2003..

[29]  A. Jefferson Offutt,et al.  Using UML Collaboration Diagrams for Static Checking and Test Generation , 2000, UML.

[30]  Ji Wang,et al.  Property-oriented test generation from UML Statecharts , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[31]  A. Jefferson Offutt,et al.  Constraint-Based Automatic Test Data Generation , 1991, IEEE Trans. Software Eng..

[32]  A. Jefferson Offutt,et al.  Experimental results from an automatic test case generator , 1993, TSEM.

[33]  Mary Lou Soffa,et al.  Generating test data for branch coverage , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[34]  M. R. Woodward,et al.  Errors in algebraic specifications and an experimental mutation testing tool , 1993, Softw. Eng. J..

[35]  Hong Zhu,et al.  Software requirements validation via task analysis , 2002, J. Syst. Softw..

[36]  Phyllis G. Frankl,et al.  The ASTOOT approach to testing object-oriented programs , 1994, TSEM.

[37]  William E. Howden,et al.  Weak Mutation Testing and Completeness of Test Sets , 1982, IEEE Transactions on Software Engineering.

[38]  James Miller,et al.  Testing the semantics of W3C XML schema , 2005, 29th Annual International Computer Software and Applications Conference (COMPSAC'05).

[39]  Kangde Yao,et al.  A Brief Guide to the Standard Object Modelling Language , 2000 .

[40]  Bogdan Korel,et al.  Automated Software Test Data Generation , 1990, IEEE Trans. Software Eng..

[41]  Alexandros G Moukas,et al.  Amalthaea--information filtering and discovery using a multiagent evolving system , 1997 .

[42]  Paulo Fernandes,et al.  Test case generation using stochastic automata networks: quantitative analysis , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[43]  David Lee,et al.  Principles and methods of testing finite state machines-a survey , 1996, Proc. IEEE.

[44]  Avi Ziv,et al.  Coverage directed test generation for functional verification using Bayesian networks , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[45]  Jesse H. Poore,et al.  Markov analysis of software specifications , 1993, TSEM.

[46]  Alan Hartman,et al.  The AGEDIS tools for model based testing , 2004, ISSTA '04.

[47]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[48]  Gregg Rothermel,et al.  Automated test case generation for spreadsheets , 2002, ICSE '02.

[49]  Lori A. Clarke,et al.  A System to Generate Test Data and Symbolically Execute Programs , 1976, IEEE Transactions on Software Engineering.

[50]  Timothy A. Budd,et al.  Program Testing by Specification Mutation , 1985, Comput. Lang..

[51]  Shing-Chi Cheung,et al.  Automatic generation of database instances for white-box testing , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[52]  Hong Zhu,et al.  Caste-centric Modelling of Multi-agent Systems: The CAMLE Modelling Language and Automated Tools , 2005, Model-Driven Software Development.

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

[54]  Phil McMinn,et al.  Search‐based software test data generation: a survey , 2004, Softw. Test. Verification Reliab..

[55]  Alexander Pretschner,et al.  One evaluation of model-based testing and its automation , 2005, ICSE.

[56]  Bogdan Korel,et al.  Requirement-based automated black-box test generation , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[57]  A. Jefferson Offutt,et al.  Generating test cases for XML-based Web component interactions using mutation analysis , 2001, Proceedings 12th International Symposium on Software Reliability Engineering.