Multi-objective Regression Test Suite Minimisation for Mockito

  • Andrew J. Turner
  • David R. White
  • John H. Drake
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9962)


Regression testing is applied after modifications are performed to large software systems in order to verify that the changes made do not unintentionally disrupt other existing components. When employing regression testing it is often desirable to reduce the number of test cases executed in order to achieve a certain objective; a process known as test suite minimisation. We use multi-objective optimisation to analyse the trade-off between code coverage and execution time for the test suite of Mockito, a popular framework used to create mock objects for unit tests in Java. We show that a large reduction can be made in terms of execution time at the expense of only a small reduction in code coverage and discuss how the described methods can be easily applied to many projects that utilise regression testing.


Recombination Expense Harman 


  1. 1.
    Back, T., Fogel, D.B., Michalewicz, Z.: Handbook of Evolutionary Computation. IOP Publishing Ltd., Bristol (1997)CrossRefMATHGoogle Scholar
  2. 2.
    Deb, K.: Multi-Objective Optimization Using Evolutionary Algorithms, vol. 16. John Wiley & Sons, Hoboken (2001)MATHGoogle Scholar
  3. 3.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)CrossRefGoogle Scholar
  4. 4.
    Epitropakis, M.G., Yoo, S., Harman, M., Burke, E.K.: Empirical evaluation of Pareto efficient multi-objective regression test case prioritisation. In: Proceedings of the International Symposium on Software Testing and Analysis (2015)Google Scholar
  5. 5.
    Gu, Q., Tang, B., Chen, D.: Optimal regression testing based on selective coverage of test requirements. In: Proceedings of the Parallel and Distributed Processing with Applications (2010)Google Scholar
  6. 6.
    Harman, M., Burke, E., Clark, J.A., Yao, X.: Dynamic adaptive search based software engineering. In: Proceedings of the Empirical Software Engineering and Measurement (2012)Google Scholar
  7. 7.
    Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: trends, techniques and applications. ACM Comput. Surv. 45(1), 11 (2012)CrossRefGoogle Scholar
  8. 8.
    Yoo, S., Harman, M.: Pareto efficient multi-objective test case selection. In: Proceedings of the International Symposium on Software Testing and Analysis (2007)Google Scholar
  9. 9.
    Yoo, S., Harman, M.: Regression testing minimization, selection and prioritization: a survey. Softw. Test. Verification Reliab. 22(2), 67–120 (2012)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Andrew J. Turner
    • 1
  • David R. White
    • 2
  • John H. Drake
    • 3
  1. 1.Department of ElectronicsUniversity of YorkYorkUK
  2. 2.CREST, Department of Computer ScienceUniversity College LondonLondonUK
  3. 3.The OR Group, School of Electronic Engineering and Computer ScienceQueen Mary University of LondonLondonUK

Personalised recommendations