Specification-based Test Case Generation with Genetic Algorithm

As the current specification-based testing (SBT) face some challenges in test case generation for regression testing, we propose a new method for efficient test case generation that combines formal specifications with genetic algorithm (GA). This method mainly reforms formal specifications though GA to generate inputs that can kill as many as possible mutants of the target program under test. For case study, two classic examples are presented to demonstrate the efficiency of this method. The result shows that this method is able to help efficiently generate useful test cases to uncover all the program mutants, which contributes to further maintenance of software.

[1]  Eliane Martins,et al.  ConData: A Tool for Automating Specification-Based Test Case Generation for Communication Systems , 2004, Software Quality Journal.

[2]  Koushik Sen,et al.  Concolic testing , 2007, ASE.

[3]  Jeremy Dick,et al.  Automating the Generation and Sequencing of Test Cases from Model-Based Specifications , 1993, FME.

[4]  Mark Harman,et al.  Strong higher order mutation-based test data generation , 2011, ESEC/FSE '11.

[5]  Shaoying Liu,et al.  Applying SOFL to a Railway Interlocking System in Industry , 2016, SOFL+MSVL.

[6]  Y. Yesha,et al.  Specification mutation for test generation and analysis , 2004 .

[7]  Shaoying Liu Formal Engineering for Industrial Software Development: Using the SOFL Method , 2004 .

[8]  Yuji Sato,et al.  Automatic Generation of Specification-Based Test Cases by Applying Genetic Algorithms in Reinforcement Learning , 2015, SOFL+MSVL.

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

[10]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[11]  David A. Carrington,et al.  A Framework for Specification-Based Testing , 1996, IEEE Trans. Software Eng..

[12]  Joseph Robert Horgan,et al.  A study of effective regression testing in practice , 1997, Proceedings The Eighth International Symposium on Software Reliability Engineering.

[13]  Shaoying Liu,et al.  An Approach to Integration Testing Based on Data Flow Specifications , 2004, ICTAC.

[14]  Debra J. Richardson,et al.  Approaches to specification-based testing , 1989 .

[15]  Hareton K. N. Leung,et al.  Insights into regression testing (software testing) , 1989, Proceedings. Conference on Software Maintenance - 1989.

[16]  Elaine J. Weyuker,et al.  More Experience with Data Flow Testing , 1993, IEEE Trans. Software Eng..

[17]  John H. Holland,et al.  Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence , 1992 .

[18]  Stuart Reid,et al.  An empirical analysis of equivalence partitioning, boundary value analysis and random testing , 1997, Proceedings Fourth International Software Metrics Symposium.

[19]  Shaoying Liu,et al.  Combining Specification-Based Testing, Correctness Proof, and Inspection for Program Verification in Practice , 2013, SOFL+MSVL.

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

[21]  Shaoying Liu,et al.  Generating test data from SOFL specifications , 1999, J. Syst. Softw..

[22]  Shahid Mahmood A Systematic Review of Automated Test Data Generation Techniques , 2007 .

[23]  Sarfraz Khurshid,et al.  TestEra: Specification-Based Testing of Java Programs Using SAT , 2004, Automated Software Engineering.