A survey on Test Suite Reduction frameworks and tools

An extensive review on automated support for TSR.Presenting a thematic taxonomy to categorize the existing literature based on testing domains and corresponding parameters.Providing a detailed comparative analysis of TSR frameworks based on the devised taxonometric parameters.Synthesizing current state-of-the-art based on the underlying common philosophies.Highlighting several potential research issues in this field of study. Software testing is a widely accepted practice that ensures the quality of a System under Test (SUT). However, the gradual increase of the test suite size demands high portion of testing budget and time. Test Suite Reduction (TSR) is considered a potential approach to deal with the test suite size problem. Moreover, a complete automation support is highly recommended for software testing to adequately meet the challenges of a resource constrained testing environment. Several TSR frameworks and tools have been proposed to efficiently address the test-suite size problem. The main objective of the paper is to comprehensively review the state-of-the-art TSR frameworks to highlights their strengths and weaknesses. Furthermore, the paper focuses on devising a detailed thematic taxonomy to classify existing literature that helps in understanding the underlying issues and proof of concept. Moreover, the paper investigates critical aspects and related features of TSR frameworks and tools based on a set of defined parameters. We also rigorously elaborated various testing domains and approaches followed by the extant TSR frameworks. The results reveal that majority of TSR frameworks focused on randomized unit testing, and a considerable number of frameworks lacks in supporting multi-objective optimization problems. Moreover, there is no generalized framework, effective for testing applications developed in any programming domain. Conversely, Integer Linear Programming (ILP) based TSR frameworks provide an optimal solution for multi-objective optimization problems and improve execution time by running multiple ILP in parallel. The study concludes with new insights and provides an unbiased view of the state-of-the-art TSR frameworks. Finally, we present potential research issues for further investigation to anticipate efficient TSR frameworks.

[1]  Malte Lochau,et al.  Multi-objective Test Suite Optimization for Incremental Product Family Testing , 2014, 2014 IEEE Seventh International Conference on Software Testing, Verification and Validation.

[2]  Michael D. Ernst,et al.  Randoop: feedback-directed random testing for Java , 2007, OOPSLA '07.

[3]  Nor Badrul Anuar,et al.  Secure and dependable software defined networks , 2016, J. Netw. Comput. Appl..

[4]  David Leon,et al.  A comparison of coverage-based and distribution-based techniques for filtering and prioritizing test cases , 2003, 14th International Symposium on Software Reliability Engineering, 2003. ISSRE 2003..

[5]  Michael Haug,et al.  Software Quality Approaches: Testing, Verification, and Validation , 2001, Springer Berlin Heidelberg.

[6]  Mark Harman,et al.  Software Engineering Meets Evolutionary Computation , 2011, Computer.

[7]  Yong Lei,et al.  Tool support for randomized unit testing , 2006, RT '06.

[8]  C. G. Chung,et al.  An optimal representative set selection method , 2000, Inf. Softw. Technol..

[9]  Yves Ledru,et al.  Directed random reduction of combinatorial test suites , 2007, RT '07.

[10]  Arif Ali Khan,et al.  Towards experiencing the pair programming as a practice of the Rational Unified Process (RUP) , 2015, 2015 SAI Intelligent Systems Conference (IntelliSys).

[11]  José Carlos de Campos,et al.  Regression testing with GZoltar techniques for test suite minimization, selection, and prioritization , 2012 .

[12]  Jin-hua Li,et al.  User Session Data based Web Applications Test with Cluster Analysis , 2011, CSIE 2011.

[13]  Carl K. Chang,et al.  GenRed: A Tool for Generating and Reducing Object-Oriented Test Cases , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference.

[14]  Steven Furnell,et al.  Man-At-The-End attacks: Analysis, taxonomy, human aspects, motivation and future directions , 2015, J. Netw. Comput. Appl..

[15]  Xiang Chen,et al.  A study of relative redundancy in test-suite reduction while retaining or improving fault-localization effectiveness , 2010, SAC '10.

[16]  Rudolf Ramler,et al.  Economic perspectives in test automation: balancing automated and manual testing with opportunity cost , 2006, AST '06.

[17]  Victor I. Chang,et al.  NEURAL COMPUTING IN NEXT GENERATION VIRTUAL REALITY TECHNOLOGY An overview , examples , and impacts offered by Emerging Services and Analytics in Cloud Computing virtual reality , 2017 .

[18]  Patricia D. L. Machado,et al.  Test Suite Reduction based on Similarity of Test Cases , 2013 .

[19]  Arnaud Gotlieb,et al.  Cost-effective test suite minimization in product lines using search techniques , 2015, J. Syst. Softw..

[20]  A. Nadeem,et al.  TestFilter: A Statement-Coverage Based Test Case Reduction Technique , 2006, 2006 IEEE International Multitopic Conference.

[21]  Thomas Erl,et al.  Service-Oriented Architecture: Concepts, Technology, and Design , 2005 .

[22]  Muhammad Shiraz,et al.  Energy Efficient Computational Offloading Framework for Mobile Cloud Computing , 2015, Journal of Grid Computing.

[23]  Mark Harman,et al.  Using hybrid algorithm for Pareto efficient multi-objective test suite minimisation , 2010, J. Syst. Softw..

[24]  Victor I. Chang,et al.  A cybernetics Social Cloud , 2017, J. Syst. Softw..

[25]  Tim Menzies,et al.  Genetic Algorithms for Randomized Unit Testing , 2011, IEEE Transactions on Software Engineering.

[26]  Emily Hill,et al.  An empirical comparison of test suite reduction techniques for user-session-based testing of Web applications , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[27]  Richard C. Larson,et al.  Model Building in Mathematical Programming , 1979 .

[28]  Gregg Rothermel,et al.  Prioritizing test cases for regression testing , 2000, ISSTA '00.

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

[30]  Marko Becker,et al.  Service Oriented Architecture Concepts Technology And Design , 2016 .

[31]  D. Richard Kuhn,et al.  Pseudo-Exhaustive Testing for Software , 2006, 2006 30th Annual IEEE/NASA Software Engineering Workshop.

[32]  David Notkin,et al.  Rostra: a framework for detecting redundant object-oriented unit tests , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[33]  Ding Li,et al.  Energy-directed test suite optimization , 2013, 2013 2nd International Workshop on Green and Sustainable Software (GREENS).

[34]  Emily Hill,et al.  Applying Concept Analysis to User-Session-Based Testing of Web Applications , 2007, IEEE Transactions on Software Engineering.

[35]  Wang Tiantian,et al.  A test-suite reduction approach to improving fault-localization effectiveness , 2013 .

[36]  Tsong Yueh Chen,et al.  Adaptive Random Testing: The ART of test case diversity , 2010, J. Syst. Softw..

[37]  Sachin Jain,et al.  A tool for combination-based prioritization and reduction of user-session-based test suites , 2011, 2011 27th IEEE International Conference on Software Maintenance (ICSM).

[38]  Gregory Tassey,et al.  Prepared for what , 2007 .

[39]  J. R. Horgan,et al.  A data flow coverage testing tool for C , 1992, [1992] Proceedings of the Second Symposium on Assessment of Quality Software Development Tools.

[40]  Arif Ali Khan,et al.  A formal framework for web service broker to compose QoS measures , 2015, 2015 SAI Intelligent Systems Conference (IntelliSys).

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

[42]  Giuseppe A. Di Lucca,et al.  Testing Web-based applications: The state of the art and future trends , 2006, Inf. Softw. Technol..

[43]  Rajiv Gupta,et al.  A methodology for controlling the size of a test suite , 1990, Proceedings. Conference on Software Maintenance 1990.

[44]  Gregg Rothermel,et al.  On-demand test suite reduction , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[45]  Dongsong Zhang,et al.  Challenges, Methodologies, and Issues in the Usability Testing of Mobile Applications , 2005, Int. J. Hum. Comput. Interact..

[46]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[47]  Rui Abreu,et al.  GZoltar: an eclipse plug-in for testing and debugging , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[48]  Mark Harman,et al.  A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search , 2010, IEEE Transactions on Software Engineering.

[49]  James A. Jones,et al.  Fault density, fault types, and spectra-based fault localization , 2015, Empirical Software Engineering.

[50]  Gregg Rothermel,et al.  Software testing: a research travelogue (2000–2014) , 2014, FOSE.

[51]  David Notkin,et al.  Detecting Redundant Unit Tests for AspectJ Programs , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[52]  Victor I. Chang,et al.  The Business Intelligence as a Service in the Cloud , 2014, Future Gener. Comput. Syst..

[53]  Jan Bosch,et al.  Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization , 2002, SPLC.

[54]  Uwe Hansmann,et al.  Agile Software Development: Best Practices for Large Software Development Projects , 2009 .

[55]  Martin Burger,et al.  Minimizing reproduction of software failures , 2011, ISSTA '11.

[56]  Gregg Rothermel,et al.  Leveraging user-session data to support Web application testing , 2005, IEEE Transactions on Software Engineering.

[57]  Hong Mei,et al.  Jtop: Managing JUnit Test Cases in Absence of Coverage Information , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[58]  Emanuel Melachrinoudis,et al.  Bi-criteria models for all-uses test suite reduction , 2004, Proceedings. 26th International Conference on Software Engineering.

[59]  Nicholas R. Jennings,et al.  On agent-based software engineering , 2000, Artif. Intell..

[60]  Heung Seok Chae,et al.  An automated approach to reducing test suites for testing retargeted C compilers for embedded systems , 2011, J. Syst. Softw..

[61]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[62]  Boris Beizer,et al.  Software Testing Techniques , 1983 .

[63]  Gregg Rothermel,et al.  Infrastructure support for controlled experimentation with software testing and regression testing techniques , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[64]  Margus Veanes,et al.  Optimal strategies for testing nondeterministic systems , 2004, ISSTA '04.

[65]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[66]  Victor I. Chang,et al.  A model to compare cloud and non-cloud storage of Big Data , 2016, Future Gener. Comput. Syst..

[67]  Wang Yu,et al.  State dependency probabilistic model for fault localization , 2015, Inf. Softw. Technol..

[68]  H. P. Williams,et al.  Model Building in Mathematical Programming , 1979 .

[69]  Sai Peck Lee,et al.  An Analysis of the Code Coverage-based Greedy Algorithms for Test Suite Reduction , 2013 .

[70]  Frank Elberzhager,et al.  Reducing test effort: A systematic mapping study on existing approaches , 2012, Inf. Softw. Technol..

[71]  Heung Seok Chae,et al.  An Intermediate Representation Approach to Reducing Test Suites for Retargeted Compilers , 2007, Ada-Europe.

[72]  Ding Li,et al.  Integrated energy-directed test suite optimization , 2014, ISSTA 2014.

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

[74]  Gregory M. Kapfhammer,et al.  A Framework to Support Research in and Encourage Industrial Adoption of Regression Testing Techniques , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[75]  Saif Ur Rehman Malik,et al.  The impact of test case reduction and prioritization on software testing effectiveness , 2009, 2009 International Conference on Emerging Technologies.

[76]  Abdulazeez S. Boujarwah,et al.  Compiler test case generation methods: a survey and assessment , 1997, Inf. Softw. Technol..

[77]  P. Jaccard,et al.  Etude comparative de la distribution florale dans une portion des Alpes et des Jura , 1901 .

[78]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[79]  Michael D. Bond,et al.  Correcting the Dynamic Call Graph Using Control-Flow Constraints , 2007, CC.

[80]  Alessandro Orso,et al.  MINTS: A general framework and tool for supporting test-suite minimization , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[81]  Victor I. Chang,et al.  Corrigendum to "The business intelligence as a service in the cloud" [Future Gener. Comput. Systems 37C (2014) 512-534] , 2014, Future Gener. Comput. Syst..

[82]  Aamer Nadeem,et al.  A state-based approach to integration testing based on UML models , 2007, Inf. Softw. Technol..

[83]  Victor Chang Cloud computing for brain segmentation - a perspective from the technology and evaluations , 2014, Int. J. Big Data Intell..

[84]  Yuan-Cheng Lai,et al.  Test Coverage Optimization for Large Code Problems , 2012, 2012 26th International Conference on Advanced Information Networking and Applications Workshops.

[85]  Muthu Ramachandran,et al.  Towards Achieving Data Security with the Cloud Computing Adoption Framework , 2016, IEEE Transactions on Services Computing.