Skip to main content

Applying Evolutionary Approaches to Data Flow Testing at Unit Level

  • Conference paper
Software Engineering, Business Continuity, and Education (ASEA 2011)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 257))

Abstract

Data flow testing is a white box testing approach that uses the dataflow relations in a program for the selection of test cases. Evolutionary testing uses the evolutionary approaches for the generation and selection of test data. This paper presents a novel approach applying evolutionary algorithms for the automatic generation of test paths using data flow relations in a program. Our approach starts with a random initial population of test paths and then based on the selected testing criteria new paths are generated by applying a genetic algorithm. A fitness function evaluates each chromosome (path) based on the selected data flow testing criteria and computes its fitness. We have applied one point crossover and mutation operators for the generation of new population. The approach has been implemented in Java by a prototype tool called ETODF for validation. In experiments with this prototype, our approach has much better results as compared to random testing.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baresel, A., Sthamer, H., Schmidt, M.: Fitness Function Design to improve Evolutionary Structural Testing. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2002), New York, USA (July 2002)

    Google Scholar 

  2. Bashir, M.B., Nadeem, A.: A State based Fitness Function for Evolutionary Testing of Object-Oriented Programs. In: Lee, R., Ishii, N. (eds.) Software Engineering Research, Management and Applications 2009. SCI, vol. 253, pp. 83–94. Springer, Heidelberg (2009), doi:10.1007/978-3-642-05441-9

    Chapter  Google Scholar 

  3. Cheon, Y., Kim, M.Y., Perumandla, A.: A Complete Automation of Unit Testing for Java Programs. In: The 2005 International Conference on Software Engineering Research and Practice (SERP), Las Vegas, Nevada, USA (June 2005)

    Google Scholar 

  4. Cheon, Y., Kim, M.: A specification-based fitness function for evolutionary testing of object-oriented programs. In: Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation, Washington, USA (July 2006)

    Google Scholar 

  5. Dharsana, C.S.S., Askarunisha, A.: Java based Test case Generation and Optimization Using Evolutionary Testing. In: International Conference on Computational Intelligence and Multimedia Applications, Sivakasi, India (December 2007)

    Google Scholar 

  6. Jones, B., Sthamer, H., Eyres, D.: Automatic structural testing using genetic algorithms. Software Engineering Journal 11(5), 299–306 (1996)

    Article  Google Scholar 

  7. Liaskos, K., Roper, M., Wood, M.: Investigating data-flow coverage of classes using evolutionary algorithms. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, London, England (July 2007)

    Google Scholar 

  8. McGraw, G., Michael, C., Schatz, M.: Generating software test data by evolution. IEEE Transactions on Software Engineering 27(12), 1085–1110 (2001)

    Article  Google Scholar 

  9. McMinn, P., Holcombe, M.: The State Problem for Evolutionary Testing. In: Cantú-Paz, E., Foster, J.A., Deb, K., Davis, L., Roy, R., O’Reilly, U.-M., Beyer, H.-G., Kendall, G., Wilson, S.W., Harman, M., Wegener, J., Dasgupta, D., Potter, M.A., Schultz, A., Dowsland, K.A., Jonoska, N., Miller, J., Standish, R.K. (eds.) GECCO 2003. LNCS, vol. 2724, pp. 2488–2497. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  10. McMinn, P.: Search-based Software Test Data Generation: a Survey. Journal of Software Testing, Verifications, and Reliability 14(2), 105–156 (2004)

    Article  Google Scholar 

  11. Pargas, R., Harrold, M., Peck, R.: Test-data generation using genetic algorithms. Software Testing. Verification and Reliability 9(4), 263–282 (1999)

    Article  Google Scholar 

  12. Roper, M.: Computer aided software testing using genetic algorithms. In: 10th International Software Quality Week, San Francisco, USA (May 1997)

    Google Scholar 

  13. Sthamer, H.: The automatic generation of software test data using genetic algorithms, PhD Thesis, University of Ghamorgan, Pontyprid, Wales, Great Britain (1996)

    Google Scholar 

  14. Seesing, A., Gross, H.: A Genetic Programming Approach to Automated Test Generation for Object-Oriented Software. International Transactions on Systems Science and Applications 1(2), 127–134 (2006)

    Google Scholar 

  15. Tracey, N., Clark, J., Mander, K., McDermid, J.: Automated test-data generation for exception conditions. Software—Practice and Experience, 61–79 (January 2000)

    Google Scholar 

  16. Tonella, P.: Evolutionary Testing of Classes. In: Proceedings of the ACM SIGSOFT International Symposium of Software Testing and Analysis, Boston, MA, pp. 119–128 (July 2004)

    Google Scholar 

  17. Watkins, A.: The automatic generation of test data using genetic algorithms. In: Proceedings of the Fourth Software Quality Conference, pp. 300–309. ACM (1995)

    Google Scholar 

  18. Wegener, J., Baresel, A., Sthamer, H.: Evolutionary test environment for automatic structural testing. Information and Software Technology Special Issue on Software Engineering using Metaheuristic Innovative Algorithms 43, 841–854 (2001)

    Google Scholar 

  19. Wegener, J., Buhr, K., Pohlheim, H.: Automatic test data generation for structural testing of embedded software systems by evolutionary testing. In: Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2002), pp. 1233–1240. Morgan Kaufmann, New York (2002)

    Google Scholar 

  20. Lee, C.: A Practitioner’s Guide to Software Test Design. STQE Publishing (2004)

    Google Scholar 

  21. Beizer, B.: Software Testing Techniques. International Thomson Computer Press (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Khan, S.A., Nadeem, A. (2011). Applying Evolutionary Approaches to Data Flow Testing at Unit Level. In: Kim, Th., et al. Software Engineering, Business Continuity, and Education. ASEA 2011. Communications in Computer and Information Science, vol 257. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-27207-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-27207-3_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-27206-6

  • Online ISBN: 978-3-642-27207-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics