|Authors||S. Ali and T. Yue|
|Title||Search-based Test Optimization for Software Systems|
|Project(s)||MBT4CPS: Model-Based Testing For Cyber-Physical Systems|
|Publication Type||Talks, contributed|
|Year of Publication||2019|
|Location of Talk||GECCO 2018|
Test optimization is a crucial activity to select, generate, minimize, or prioritize test cases to test software systems cost-effectively. Test optimization is a complex problem that requires often solving contradictory relationships among cost (e.g., test execution time), effectiveness (e.g., fault detection ability), and efficiency (fault detection per execution time) objectives. Search algorithms including both single objective (e.g., Genetic Algorithms) and multi-objective (e.g., NSGA-II) have been extensively used for solving a variety of test optimization problems in diverse contexts. This tutorial will provide an introduction to test optimization with both single and multi-objective search algorithms. Mainly, it will focus on a variety of real industrial test selection, test minimization, and test prioritization problems. The tutorial will focus on the following aspects:1) How to optimally encoding test optimization problems for search algorithms? 2) How to define effective fitness functions that can guide search algorithms to find optimal solutions cost-effectively? 3) How to pick a suitable search algorithm to solve test optimization problem? 4) How to select and configure proper parameter settings for the selected search algorithms? 5) How to choose appropriate quality indicators to assess the quality of solutions generated by multi-objective algorithms? 6) How to choose appropriate statistical tests to evaluate search algorithms for a particular test optimization problem empirically?