MOTCP: A tool for the prioritization of test cases based on a sorting genetic algorithm and Latent Semantic Indexing

Test prioritization techniques can be used to determine test case ordering and early discover faults in source code. Several of these techniques exploit a single objective function, e.g., code or requirements coverage. In this tool demo paper, we present MOTCP, a software tool that implements a multi-objective test prioritization technique based on the information related to the code and requirements coverage, as well as the execution cost of each test case. To establish users' and system requirements coverage, the MOTCP uses Latent Semantic Indexing to recover traceability links among application source code and requirements specifications. The test case ordering is then obtained by applying a non-dominated sorting genetic algorithm.

[1]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[2]  Gregg Rothermel,et al.  Test Case Prioritization: A Family of Empirical Studies , 2002, IEEE Trans. Software Eng..

[3]  Genny Tortora,et al.  Recovering traceability links in software artifact management systems using information retrieval methods , 2007, TSEM.

[4]  Mark Harman,et al.  Search Algorithms for Regression Test Case Prioritization , 2007, IEEE Transactions on Software Engineering.

[5]  Mark Harman,et al.  Pareto efficient multi-objective test case selection , 2007, ISSTA '07.

[6]  Giuseppe Scanniello,et al.  A Multi-Objective Technique to Prioritize Test Cases , 2016, IEEE Transactions on Software Engineering.

[7]  Mark Harman,et al.  Regression testing minimization, selection and prioritization: a survey , 2012, Softw. Test. Verification Reliab..

[8]  Richard A. Harshman,et al.  Indexing by Latent Semantic Analysis , 1990, J. Am. Soc. Inf. Sci..

[9]  Bogdan Dit,et al.  Traceclipse: an eclipse plug-in for traceability link recovery and management , 2011, TEFSE '11.

[10]  Paolo Tonella,et al.  Test Case Prioritization for Audit Testing of Evolving Web Services Using Information Retrieval Techniques , 2011, 2011 IEEE International Conference on Web Services.

[11]  Dorothea Heiss-Czedik,et al.  An Introduction to Genetic Algorithms. , 1997, Artificial Life.

[12]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[13]  Gregg Rothermel,et al.  Test case prioritization: an empirical study , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[14]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[15]  Giuseppe Scanniello,et al.  A Multi-Objective Technique to Prioritize Test Cases Based on Latent Semantic Indexing , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.