An Efficient Metamorphic Testing Technique Using Genetic Algorithm

  • Gagandeep Batra
  • Jyotsna Sengupta
Part of the Communications in Computer and Information Science book series (CCIS, volume 141)


Testing helps in preserving the quality and reliability of the software component thus ensuring its successful functioning. The task of testing components for which the final output for arbitrary input cannot be known in advance is a challenging task; as sometimes conditions or predicates in the software restrict the input domain Metamorphic testing is an effective technique for testing systems that do not have test oracles. In it existing test case input is modified to produce new test cases in such a manner that they satisfy the metamorphic relations. In this paper, we propose a genetically augmented metamorphic testing approach, which integrates genetic algorithms into metamorphic testing, to detect subtle defects and to optimize test cases for the component. We have further verified metamorphic testing results by all path coverage criteria information, which is generated during the metamorphic testing of the program and its mutants. The effectiveness of the approach has been investigated through testing a triangle type determination program.


Metamorphic testing test oracle problem genetic algorithm 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chen, T.Y., Feng, J., Tse, T.H.: Metamorphic testing of programs on partial differential equations: a case study. In: 26th IEEE Annual International Computer Software and Applications Conference (COMPSAC), pp. 327–333. IEEE Computer Society Press, Los Alamitos (2002)Google Scholar
  2. 2.
    Gotlieb, A., Botella, B.: Automated metamorphic testing. In: The Twenty-Seventh IEEE Annual International Computer Software and Application Conference (COMPSAC 2003), pp. 34–40. IEEE Computer Society Press, Los Alamitos (2003)Google Scholar
  3. 3.
    Zhou, Z.Q., Huang, D.H., Tse, T.H., Yang, Z., Huang, H., Chen, T.Y.: Metamorphic testing and its applications. In: 8th International Symposium on Future Software Technology (ISFST 2004). Software Engineers Association, Japan (2004)Google Scholar
  4. 4.
    Chen, T.Y., Huang, D.H., Tse, T.H., Zhou, Z.Q.: Case study on the selection of useful relations in metamorphic testing. In: The Fourth Ibero-American Symposium on Software Engineering and Knowledge Engineering (JIISIC 2004), pp. 569–583. Polytechnic University of Madrid, Spain (2004)Google Scholar
  5. 5.
    Michael, C.C., McGraw, G.E., Schatz, M.A., Walton, C.C.: Genetic algorithm for dynamic test data generation. Technical Report, RSTR-003-97-11Google Scholar
  6. 6.
    Girgis, M.R.: Automatic test data generation for data flow testing using a genetic algorithm. Journal of Universal Computer Science 11(6), 898–915 (2005)Google Scholar
  7. 7.
    Dong, G., Changhai, N., Baowen, X., Lulu, W.: An effective iterative metamorphic testing algorithm based on program path analysis. In: The Seventh International Conference on Quality Software (QSIC 2007), Portland, Oregon, USA, pp. 292–297 (2007)Google Scholar
  8. 8.
    Srivastava, P.R., Kim, T.H.: Application of genetic algorithm in software testing. International Journal of Software Engineering and Its Applications 3(4) (October 2009)Google Scholar
  9. 9.
    Chan, W.K., Cheung, S.C.: A metamorphic testing approach for online testing of service-oriented software applications. International Journal of Web Services Research X (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Gagandeep Batra
    • 1
  • Jyotsna Sengupta
    • 1
  1. 1.Department of Computer SciencePunjabi UniversityPatialaIndia

Personalised recommendations