Automated slicing scheme for test case prioritization in regression testing
Keywords:Automated Slicing, Regression Testing, Test Case Prioritization.
Motivation: The testing approach which ensures that the software does not have any adverse affects due to the changes made in the existing features or addition of some new features is called regression testing. For testing the changes made in the previous versions of software, this type of testing is performed. To ensure that the numbers of test cases available in the software is not too large, it is important to select the regression tests and to do so, several techniques have been designed. To detect the individual functions from the software, the existing work applied the slicing technique. The parameters which are used in this approach are calculated manually to analyze importance of individual functions. The number of times the function is encountered and the number of functions relevant to the specific function are the two different parameters calculated here. A list of changes in the source code and the execution traces generated from the test cases which are run on previous versions are used to combine the modification, minimization and prioritization-based selection which thus generates a hybrid technique.
Problem Statement: In the existing system, the manual slicing technique is applied to perform test case prioritization. In manual slicing, the total number of times a function is triggered and the total numbers of functions attached are calculated manually to generate final function importance. This approach is very time consuming and inaccurate.
Method: In this paper, we studied that to prioritize the test cases based on the changes, a type of regression testing is used which is test case prioritization. The test cases of the functions which have higher priority are executed first and so on. Based on the changes made, the test cases are prioritized. For identifying maximum number of faults from the modified software, manual slicing and automated slicing are applied in this work. The proposed method will be the enhancement of manual slicing technique. The automated slicing technique will automatically calculate the functional importance based on number of attached functions and number of times function triggered. The proposed method has low execution time and detects more number of defects from the software. The dataset of ten different projects is used to test the performances of proposed and existing algorithms in MATLAB. Each project has seven functions and four numbers of changes are defined for the regression testing.
Results: The simulation results achieved at the end show that in comparison to manual methods, the implementation of automated test case prioritization has provided improvement in the fault detection rate and reduction in the execution time.
 Zheng Li, Mark Harman, and Robert M. Hierons, â€œSearch algorithm for Regression Test Case Prioritization,â€ IEEE Transactions on Software Engineering, Vol. 33, No.4, April 2007. https://doi.org/10.1109/TSE.2007.38.
 Dennis Jeffrey and Neelam Gupta, â€œImproving Fault Detection Capability by Selectively Retaining Test Cases during Test Suite Reduction,â€ IEEE Transactions on software Engineering, VOL. 33 NO.2, February 2007.
 Jennifer Black, Emanuel Melachrinoudis and David Kaeli, â€œBi Criteria Models for All uses Test Suite-Reduction,â€ 26th International Conference on Software Engineering (ICSEâ€™04).
 Wes Masri, Andy Podgurski and David Leon, â€œAn EmpricalStudey of Test Case Filtering Techniques Based on Exercising Information Flows,â€ IEEE Transactions on software Engineering, VOL. 33, NO.7, February 2007.
 Scott McMaster, Atif M. Memon, â€œCall Stack Coverage for GUI Test Suite Rdduction,â€ IEEE Transactions on software Engineering, VOL. 34 NO.1, January/February 2008.
 Maruan Khoury, â€œCost Effective Regression Testing,â€ October 5, 2006.
 Alexey G. Malishevsy, Gregg Rothermel, Sebastian Elbaum,â€Modeling the Cost-Benefits Tradeoffs for Regression Testing Techniques,â€ Proceedings of the International Conference on Software Maintenance ICSMâ€™02), 2002 IEEE.
 Sebastian Elbaum, Alexey G. Malishevsky and Gregg Rothermel, â€œTest Case Prioritization: A Family of Emprical Studies,â€ IEEE Transactions on software Engineering, VOL. 28, NO.2, February 2002.
 Gregg Rothermel, Roland H. Untch, Chentun Chu and Mary Jean Harrold, â€œPrioritizing Test Cases for Regression Testing,â€ IEEE Transactions on software Engineering, VOL. 27 NO.10, October 2001.
 Hema Srikanth, Laurie Williams and Jason Osborne, â€œSystem Test Case Prioritization of New and Regression Test Casesâ€, In Proceedings of the 4th International Symposium on Empirical Software Engineering (ISESE), pages 62â€“71. IEEE Computer Society, 2005. https://doi.org/10.1109/ISESE.2005.1541815.
 Hyunsook Do and Gregg Rothermel, â€œOn the Use of Mutation Faults in Empirical Assessments of Test Case Prioritization Techniquesâ€, IEEE Transactions on Software Engineering, V. 32, No. 9, pages 733- 752, 2006. https://doi.org/10.1109/TSE.2006.92.
 K. Onoma, W.-T. Tsai, M. Poonawala, and H. Suganuma, â€œRegression testing in an industrial environmentâ€, Comm. Of the ACM, 41(5):81â€“86, 1988.
 K. R. Walcott, M. L. Soffa, G. M. Kapfhammer and R. S. Roos, â€œTime-Aware Test Suite Prioritizationâ€, In Proceedings of the International Symposium on Software testing and Analysis, pages 1-12, 2006
 Londesbrough, I., â€œTest Process for all Lifecyclesâ€, IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTWâ€™08, 2008. https://doi.org/10.1109/ICSTW.2008.4.
 Lu Luo, â€œSoftware Testing Techniques: Technology Maturation and Research Strategiesâ€, Carnegie Mellon University, USA, 1999.
 Sreedevi Sampath, Sara Sprenkle, Emily Gibson and Lori Pollock, â€œWeb Application Testing with Customized Test Requirements â€“ An Experimental Comparison Studyâ€, 17th International Symposium on Software Reliability Engineering (ISSREâ€™06), 2006.
 Xiaofang Zhang, Baowen Xu, ChanghaiNie and Liang Shi, â€œAn Approach for Optimizing Test Suite Based on Testing Requirement Reductionâ€, Journal of Software (in Chinese), 18(4): 821-831, 2007. https://doi.org/10.1360/jos180821.
 Jennifer Black, Emanuel Melachrinoudis and David Kaeli, â€œBi-Criteria Models for All-Uses Test Suite Reductionâ€, Proceedings of the 26th International Conference on Software Engineering (ICSEâ€™04), 2004. https://doi.org/10.1109/ICSE.2004.1317433.
 Jung-Min Kim, Adam Porter and Gregg Rothermel, â€œAn Empirical Study of Regression Test Application Frequencyâ€, ICSE2000, 2000.
 Jung-Min Kim and Adam Porter, â€œA History-Based Test Prioritization Technique for Regression Testing in Resource Constrained Environmentsâ€, In Proceedings of the International Conference on Software Engineering (ICSE), pages 119â€“129. ACM Press, 2002.
 Dipesh Pradhan, Shuai Wang, Shaukat Ali, Tao Yue, Marius Liaaen, â€œREMAP: Using Rule Mining and Multi-Objective Search for Dynamic Test Case Prioritizationâ€, 2018 IEEE 11th International Conference on Software Testing, Verification and Validation.
 Paruchuri Ramya, VemuriSindhura, Dr. P. Vidya Sagar, â€œCLUSTERING BASED PRIORITIZATION OF TEST CASESâ€, Proceedings of the 2nd International Conference on Inventive Communication and Computational Technologies (ICICCT 2018).
 Yijie Ren, Bei-Bei Yin, Bin Wang, â€œTest Case Prioritization for GUI Regression Testing based on Centrality Measuresâ€, 2018 42nd IEEE International Conference on Computer Software & Applications. https://doi.org/10.1109/COMPSAC.2018.10275.
 TomÃ¡Å¡PospÃÅ¡il, JiÃNovÃ¡k, â€œNew Similarity Function for Test Case Prioritization in Model-Based Contextâ€, 2018 16th Biennial Baltic Electronics Conference (BEC).
 Qi Luo, Kevin Moran, Denys Poshyvanyk, Massimiliano Di Penta, â€œAssessing Test Case Prioritization on Real Faults and Mutantsâ€, 2018 IEEE International Conference on Software Maintenance and Evolution. https://doi.org/10.1109/ICSME.2018.00033.
Maral Azizi, Hyunsook Do, â€œGraphite: A Greedy Graph-Based Technique for Regression Test Case Prioritizationâ€, 2018 IEEE International Symposium on Software Reliability Engineering Workshops. https://doi.org/10.1109/ISSREW.2018.00014.