I recently hosted an episode of Software Engineering Radio called "Will McGugan on Text-Based User Interfaces"!

  • Home
  • Teaching
    • Overview
    • Data Abstraction
    • Operating Systems
  • Research
    • Overview
    • Papers
    • Presentations
  • Outreach
    • Software
    • Service
    • Blog
  • About
    • Biography
    • Schedule
    • Contact
    • Blog
    • Service
    • Papers
    • Presentations

Contents

  • Introduction
  • Research
  • Findings
  • Future

Studying the power of genetic algorithms for test suite prioritization

post
research paper
regression testing
How can genetic algorithms improve regression testing?
Author

Gregory M. Kapfhammer

Published

2010

Introduction

Ever wondered how to optimize the order of your test suite so that it quickly covers parts of your program under test? In one of my recent research papers (Conrad, Roos, and Kapfhammer 2010) , my co-authors and I experimentally investigated how genetic algorithms can best support test suite prioritizers that re-order a test suite to cover code quickly. This paper presents a comprehensive genetic algorithm-based prioritizer that employs a wide variety of mutation, crossover, and selection operators. Intrigued? Keep reading for a brief overview!

Research

Our research introduces a genetic algorithm-based prioritizer that optimizes a population of test orderings by applying six mutation operators, seven approaches to individual crossover, and three methods for performing selection. Using the coverage effectiveness (CE) metric (Kapfhammer and Soffa 2007) as a fitness function, the prioritization method incorporates both the execution time and requirement coverage of each test to evolve a test suite that rapidly covers test requirements like the statements or branches in the program under test.

Findings

The empirical study reveals the unique role that the selection operator plays in constructing an effective ordering of a test suite. The results suggest that high selection intensity and selection elitism are both important for producing good test suite orderings. Furthermore, the genetic algorithm consistently produces results that are better than random search, suggesting that it may serve as the foundation for a powerful approach to test suite prioritization.

Future

Our research opens up new avenues for future work. We intend to further investigate ways to improve the performance of the genetic algorithm, such as reducing fitness calculation time or implementing parallel genetic algorithms that reorder test suites. Interested in learning more about the power of genetic algorithms in test suite prioritization? Make sure to read (Conrad, Roos, and Kapfhammer 2010) for more information about the technique that we implemented and the approach that we took to evaluate its effectiveness.

Further Details

As we continue to explore the potential of genetic algorithms in software testing, your insights and suggestions are appreciated! If you have ideas or experiences related to this topic, please contact me. Or, if you want to stay informed about new developments and blog posts related to software testing and other topics, please consider subscribing to my mailing list.

Return to Blog Post Listing

References

Conrad, Alexander P., Robert S. Roos, and Gregory M. Kapfhammer. 2010. “Empirically Studying the Role of Selection Operators During Search-Based Test Suite Prioritization.” In Proceedings of the 12th International Conference on Genetic and Evolutionary Computation.
Kapfhammer, Gregory M., and Mary Lou Soffa. 2007. “Using Coverage Effectiveness to Evaluate Test Suite Prioritizations.” In Proceedings of the International Workshop on Empirical Assessment of Software Engineering Languages and Technologies.

GMK

Top