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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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
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)
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)
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)
Jones, B., Sthamer, H., Eyres, D.: Automatic structural testing using genetic algorithms. Software Engineering Journal 11(5), 299–306 (1996)
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)
McGraw, G., Michael, C., Schatz, M.: Generating software test data by evolution. IEEE Transactions on Software Engineering 27(12), 1085–1110 (2001)
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)
McMinn, P.: Search-based Software Test Data Generation: a Survey. Journal of Software Testing, Verifications, and Reliability 14(2), 105–156 (2004)
Pargas, R., Harrold, M., Peck, R.: Test-data generation using genetic algorithms. Software Testing. Verification and Reliability 9(4), 263–282 (1999)
Roper, M.: Computer aided software testing using genetic algorithms. In: 10th International Software Quality Week, San Francisco, USA (May 1997)
Sthamer, H.: The automatic generation of software test data using genetic algorithms, PhD Thesis, University of Ghamorgan, Pontyprid, Wales, Great Britain (1996)
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)
Tracey, N., Clark, J., Mander, K., McDermid, J.: Automated test-data generation for exception conditions. Software—Practice and Experience, 61–79 (January 2000)
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)
Watkins, A.: The automatic generation of test data using genetic algorithms. In: Proceedings of the Fourth Software Quality Conference, pp. 300–309. ACM (1995)
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)
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)
Lee, C.: A Practitioner’s Guide to Software Test Design. STQE Publishing (2004)
Beizer, B.: Software Testing Techniques. International Thomson Computer Press (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)