Abstract
Because software system testing typically consists of only a very small sample from the set of possible scenarios of system use, it can be difficult or impossible to generalize the test results from a limited amount of testing based on high-level usage models. It can also be very difficult to determine the nature and location of the errors that caused any failures experienced during system testing (and therefore very difficult for the developers to find and fix these errors). To address these issues, this paper presents a Genetic Algorithm (GA) approach to focused software usage testing. Based on the results of macro-level software system testing, a GA is used to select additional test cases to focus on the behavior around the initial test cases to assist in identifying and characterizing the types of test cases that induce system failures (if any) and the types of test cases that do not induce system failures. Whether or not any failures are experienced, this GA approach supports increased test automation and provides increased evidence to support reasoning about the overall quality of the software. When failures are experienced, the approach can improve the efficiency of debugging activities by providing information about similar, but different, test cases that reveal faults in the software and about the input values that triggered the faults to induce failures.
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
Chambers, L., Ed. (2000), The Practical Handbook of Genetic Algorithms: Applications, Second Edition, Chapman & Hall/CRC.
Coello Coello, C.A., D.A.V. Veldhuizen, G.B. Lamont (2002), Evolutionary Algorithms for Solving Multi-Objective Problems, Kluwer Academic Publishers, New York, NY.
Coley, D. A. (2001), An Introduction to Genetic Algorithms for Scientists and Engineers, World Scientific, River Edge, NJ.
Deb, K. (1999), “Multi-objective genetic algorithms: Problem difficulties and construction of test problems”, Evolutionary Computation Journal, 7,3, 205–230.
Dickinson, W., D. Leon, and A. Podgurski (2001), “Pursuing Failure: The Distribution of Program Failures in a Profile Space.” In Proceedings of the 9 th ACM SIGSOFT Symposium on Foundations of Software Engineering, pp. 246–255.
Drake, T. (2000), “Testing Software Based Systems: The Final Frontier.” Software Tech News, Vol. 3, No. 3.
Fonseca, C. M. and P. J. Fleming (1995), “An overview of evolutionary algorithms in multiobjective optimization”, Evolutionary Computation Journal, 3,1, 1–16.
Goldberg, D. E. (1989), Genetic Algorithms in Search, Optimization, and Machine Learning. Addison-Wesley.
Goldberg, D.E. (1990), “Real-coded Genetic Algorithms, Virtual Alphabets, and Blocking,” Illinois Genetic Algorithms Laboratory, University of Illinois at Urbana-Champaign, Urbana, Illinois, Tech. Rep.90001.
Haupt, R. L., and S. E. Haupt (1998), Practical Genetic Algorithms John Wiley & Sons, Inc. New York, NY.
Holland, J. H. (1975), Adaptation in Natural and Artificial Systems. University of Michigan Press.
Horn, J. (1997), “The Nature of Niching: Genetic Algorithms and the Evolution of Optimal, Cooperative Populations”, PhD Thesis, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois.
IEEE Std. 829–1998, IEEE Standard for Software Test Documentation.
Karr, C. L., and L. M. Freeman, Ed. (1999), Industrial Applications of Genetic Algorithms, CRC Press, New York, NY.
Mahfoud, S. W. (1995), “Niching Methods for Genetic Algorithms.” PhD Thesis, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois.
Mitchell, M. (1996), An Introduction to Genetic Algorithms, MIT Press.
Myers, G.J. (1976), Software Reliability, John Wiley & Sons, Inc., New York.
Myers, G.J. (1979), The Art of Software Testing, John Wiley & Sons, Inc., New York.
Schultz, A. C, J. J. Grefenstette, and K. A. De Jong (1992), “Adaptive testing of controllers for autonomous vehicles.” In Proceedings of the 1992 Symposium on Autonomous Underwater Vehicle Technology, pp. 158–64.
Zeller, A. (2001), “Automated Debugging: Are We Close?” IEEE Computer, 34, 11, 26–31
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer Science+Business Media New York
About this chapter
Cite this chapter
Patton, R.M., Wu, A.S., Walton, G.H. (2003). A Genetic Algorithm Approach to Focused Software Usage Testing. In: Khoshgoftaar, T.M. (eds) Software Engineering with Computational Intelligence. The Springer International Series in Engineering and Computer Science, vol 731. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-0429-0_10
Download citation
DOI: https://doi.org/10.1007/978-1-4615-0429-0_10
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-5072-9
Online ISBN: 978-1-4615-0429-0
eBook Packages: Springer Book Archive