Fermat Spiral-Based Moth-Flame Optimization Algorithm for Object-Oriented Testing

Correctness of developed software is validated via software testing, as it guarantees that the developed software is error free. But with the advancement in software development using object-oriented technology, software testing has now become a very challenging task. The key concepts of object orientation, i.e., polymorphism, encapsulation, and inheritance introduce various threats in testing. So, there is an extreme need to optimize this process of object-oriented testing. Also, in the quest to develop software with all the desired functionalities, knowingly or unknowingly, the complexity of software increases which in turn increases the testing effort exponentially. To overcome these issues of software testing, interest nowadays has diverted from code-based testing to model-based testing. Model-based testing tests with respect to a formal model which assures cheaper, faster, and better testing methodology. However, optimal test paths generation is still an open area of research. Various bio-inspired meta-heuristic algorithms have been exploited for the same. In this paper, a new version of Moth-Flame Optimization (MFO) algorithm is proposed for the creation of test paths. Originally, moth-flame optimization algorithm is based on the transverse orientation used by moths for navigation. Even after this transverse orientation, moths may get misguided by the artificial lights and start moving spirally around the light source. Originally, logarithmic spiral has been used to capture this spiral motion of moths. But as logarithmic spiral is a self-similar curve, which means movement of moths will be exactly or approximately same to its part, which may not be the case always. Hence, to improve this, here, we are presenting an improved version of this algorithm based on the Fermat’s spiral, which is further applied on State Transition Diagram (STD) of the seven object-oriented software applications to produce the test paths.

[1]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[2]  Roland Mittermeir,et al.  Nature-inspired techniques for conformance testing of object-oriented software , 2010, Appl. Soft Comput..

[3]  Chiou Peng Lam,et al.  Software Test Data Generation using Ant Colony Optimization , 2004, International Conference on Computational Intelligence.

[4]  Xin-She Yang,et al.  Nature-Inspired Metaheuristic Algorithms , 2008 .

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

[6]  G. Myers,et al.  The Art of Software Testing: Myers/Art , 2012 .

[7]  Joachim Wegener,et al.  Applying particle swarm optimization to software testing , 2007, GECCO '07.

[8]  Praveen Ranjan Srivastava,et al.  Automated Software Testing Using Metahurestic Technique Based on an Ant Colony Optimization , 2010, 2010 International Symposium on Electronic System Design.

[9]  Xin-She Yang,et al.  Optimal test sequence generation using firefly algorithm , 2013, Swarm Evol. Comput..

[10]  Stephen J. Mellor,et al.  Object lifecycles: modeling the world in states , 1992 .

[11]  Bruno Legeard,et al.  A taxonomy of model‐based testing approaches , 2012, Softw. Test. Verification Reliab..

[12]  John A. Clark,et al.  Investigating the effectiveness of object‐oriented testing strategies using the mutation method , 2001 .

[13]  Peter Van Roy,et al.  Programming paradigms for dummies: what every programmer should know , 2009 .

[14]  Seyed Mohammad Mirjalili,et al.  Moth-flame optimization algorithm: A novel nature-inspired heuristic paradigm , 2015, Knowl. Based Syst..

[15]  Daniel G. Bobrow,et al.  Object-Oriented Programming: Themes and Variations , 1989, AI Mag..

[16]  Anju Saha,et al.  Optimal test sequence generation in state based testing using moth flame optimization algorithm , 2018, J. Intell. Fuzzy Syst..

[17]  Praveen Ranjan Srivastava Path Generation for Software Testing: A Hybrid Approach Using Cuckoo Search and Bat Algorithm , 2017 .

[18]  Keiichiro Yasuda,et al.  Primary study of spiral dynamics inspired optimization , 2011 .

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

[20]  Praveen Ranjan Srivastava,et al.  Test sequence optimisation: an intelligent approach via cuckoo search , 2012, Int. J. Bio Inspired Comput..

[21]  Anju Saha,et al.  Optimization of object-oriented testing using firefly algorithm , 2017 .

[22]  H. Vogel A better way to construct the sunflower head , 1979 .