Abstract
Web service is a widely used implementation technique under the paradigm of Service-Oriented Architecture (SOA). A service-based system is subjected to continuous evolution and regression testing is required to check whether new faults have been introduced. Based on the current scientific work of web service regression testing, this survey aims to identify gaps in current research and suggests some promising areas for further study. To this end, we performed a broad automatic search on publications in the selected electronic databases published from 2000 to 2013. Through our careful review and manual screening, a total of 30 papers have been selected as primary studies for answering our research questions. We presented a qualitative analysis of the findings, including stakeholders, challenges, standards, techniques, and validations employed in these primary studies. Our main results include the following: (1) Service integrator is the key stakeholder that largely impacts how regression testing is performed. (2) Challenges of cost and autonomy issues have been studied heavily. However, more emphasis should be put on the other challenges, such as test timing, dynamics, privacy, quota constraints, and concurrency issues. (3) Orchestration-based services have been largely studied, while little attention has been paid to either choreography-based services or semantic-based services. (4) An appreciable amount of web service regression testing techniques have been proposed, including 48 test case prioritization techniques, 10 test selection techniques, two test suite minimization techniques, and another collaborative technique. (5) Many regression test techniques have not been theoretically proven or experimentally analyzed, which limits their application in large-scale systems. We believe that our survey has identified gaps in current research work and reveals new insights for the future work.
- W. Richards Adrion, Martha A. Branstad, and John C. Cherniavsky. 1982. Validation, verification, and testing of computer software. ACM Comput. Surv. 14, 2 (1982), 159--192. Google ScholarDigital Library
- Wasif Afzal, Richard Torkar, and Robert Feldt. 2009. A systematic review of search-based testing for non-functional system properties. Inf. Softw. Technol. 51, 6 (2009), 957--976. Google ScholarDigital Library
- A. Askarunisa, A. M. Abirami, K. Arockia Jackulin Punitha, B. Karthik Selvakumar, and R. Arunkumar. 2010. Sequence-based techniques for black-box test case prioritization for composite service testing. In Proceedings of the 2010 IEEE International Conference on Computational Intelligence and Computing Research (ICCIC'10). 1--4.Google Scholar
- A. Askarunisa, K. A. J. Punitha, and A. M. Abirami. 2011. Black box test case prioritization techniques for semantic based composite web services using OWL-S. In Proceedings of the 2011 International Conference on Recent Trends in Information Technology (ICRTIT'11). 1215--1220.Google Scholar
- B. Athira and P. Samuel. 2010. Web services regression test case prioritization. In Proceedings of the 2010 International Conference on Computer Information Systems and Industrial Management Applications (CISIM'10). 438--443.Google Scholar
- Xiaoying Bai and Ron S. Kenett. 2009. Risk-Based adaptive group testing of semantic web services. In Proceedings of the 2009 33rd Annual IEEE International Computer Software and Applications Conference (COMPSAC'09). 485--490. Google ScholarDigital Library
- Cesare Bartolini, Antonia Bertolino, Eda Marchetti, and Andrea Polini. 2008. Towards automated WSDL-Based testing of web services. In Proceedings of the 6th International Conference on Service-Oriented Computing (ICSOC'08). 524--529. Google ScholarDigital Library
- P. Benedusi, A. Cmitile, and U. De Carlini. 1988. Post-Maintenance testing based on path change analysis. In Proceedings of the International Conference on Software Maintenance (ICSM'88). 352--361.Google Scholar
- Mustafa Bozkurt. 2013. Cost-aware pareto optimal test suite minimisation for service-centric systems. In Proceedings of the 15th Annual Conference on Genetic and Evolutionary Computation (GECCO'13). 1429--1436. Google ScholarDigital Library
- Mustafa Bozkurt, Mark Harman, and Youssef Hassoun. 2013. Testing and verification in service-oriented architecture: a survey. Software Testing, Verification and Reliability 23, 4 (2013), 261--313.Google ScholarCross Ref
- Gerardo Canfora and Massimiliano Di Penta. 2006. Testing services and service-centric systems: Challenges and opportunities. IT Professional 8, 2 (2006), 10--17. Google ScholarDigital Library
- Gerardo Canfora and Massimiliano Di Penta. 2009. Service-Oriented architectures testing: A survey. In Software Engineering. Springer, 78--105. Google ScholarDigital Library
- Lin Chen, Ziyuan Wang, Lei Xu, Hongmin Lu, and Baowen Xu. 2010. Test case prioritization for web service regression testing. In Proceedings of the 2010 5th IEEE International Symposium on Service Oriented System Engineering (SOSE'10). 173--178. Google ScholarDigital Library
- Subhankar Dhar and Upkar Varshney. 2011. Challenges and business models for mobile location-based services and advertising. Commun. ACM 54, 5 (2011), 121--128. Google ScholarDigital Library
- Massimiliano Di Penta, Marcello Bruno, Gianpiero Esposito, Valentina Mazza, and Gerardo Canfora. 2007. Web services regression testing. In Test and Analysis of Web Services. Springer, 205--234.Google Scholar
- Wenli Dong. 2008. Test case reduction technique for BPEL-based testing. In Proceedings of the 2008 International Symposium on Electronic Commerce and Security (ISECS'08). 814--817. Google ScholarDigital Library
- Sebastian Elbaum, Alexey G. Malishevsky, and Gregg Rothermel. 2002. Test case prioritization: A family of empirical studies. IEEE Trans. Softw. Eng. 28, 2 (2002), 159--182. Google ScholarDigital Library
- Emelie Engström, Per Runeson, and Mats Skoglund. 2010. A systematic review on regression test selection techniques. Inf. Softw. Technol. 52, 1 (2010), 14--30. Google ScholarDigital Library
- Todd L. Graves, Mary Jean Harrold, Jung Min Kim, Adam Porter, and Gregg Rothermel. 2001. An empirical study of regression test selection techniques. ACM Trans. Softw. Eng. Methodol. 10, 2 (2001), 184--208. Google ScholarDigital Library
- Mary Jean Harrold, James A. Jones, Tongyu Li, Donglin Liang, Alessandro Orso, Maikel Pennings, Saurabh Sinha, S. Alexander Spoon, and Ashish Gujarathi. 2001. Regression test selection for Java software. In Proceedings of the 16th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'01). 312--326. Google ScholarDigital Library
- Shan Shan Hou, Lu Zhang, Tao Xie, and Jia Su Sun. 2008. Quota-Constrained test-case prioritization for regression testing of service-centric systems. In Proceedings of the 24th IEEE International Conference on Software Maintenance (ICSM'08). 257--266.Google Scholar
- R. Kavitha and Dr. N. Sureshkumar. 2010. Test case prioritization for regression testing based on severity of fault. Int. J. Comput. Sci. Engin.g 2, 5 (2010), 1462--1466.Google Scholar
- Tamim Ahmed Khan and Reiko Heckel. 2009. A methodology for model-based regression testing of web services. In Proceedings of the 2009 Testing: Academic and Industrial Conference - Practice and Research Techniques (TAIC-PART'09). 123--124. Google ScholarDigital Library
- Tamim Ahmed Khan and Reiko Heckel. 2011. On model-based regression testing of web-services using dependency analysis of visual contracts. In Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering: Part of the Joint European Conferences on Theory and Practice of Software (FASE'11/ETAPS'11). 341--355. Google ScholarDigital Library
- Barbara A. Kitchenham and S. Charters. 2007. Guidelines for Performing Systematic Literature Reviews in Software Engineering. Technical Report EBSE-2007-01. Keele University.Google Scholar
- Bixin Li, Dong Qiu, Shunhui Ji, and Di Wang. 2010. Automatic test case selection and generation for regression testing of composite service based on extensible BPEL flow graph. In Proceedings of the 26th IEEE International Conference on Software Maintenance (ICSM'10). 1--10. Google ScholarDigital Library
- Bixin Li, Dong Qiu, Hareton Leung, and Di Wang. 2012. Automatic test case selection for regression testing of composite service based on extensible Bpel flow graph. J. Syst. Softw. 85, 6 (2012), 1300--1324. Google ScholarDigital Library
- Zheng Li, Mark Harman, and Robert M. Hierons. 2007. Search algorithms for regression test case prioritization. IEEE Trans. Softw. Eng. 33, 4 (2007), 225--237. Google ScholarDigital Library
- Z. J. Li, H. F. Tan, H. H. Liu, J. Zhu, and N. M. Mitsumori. 2008. Business-Process-Driven gray-box SOA testing. IBM Syst. J. 47, 3 (2008), 457--472. Google ScholarDigital Library
- Hehui Liu, Zhongjie Li, Jun Zhu, and Huafang Tan. 2007. Business process regression testing. In Proceedings of the 5th International Conference on Service-Oriented Computing (ICSOC'07). 157--168. Google ScholarDigital Library
- Lijun Mei, Yan Cai, Changjiang Jia, Bo Jiang, and W. K. Chan. 2013a. Prioritizing structurally complex test pairs for validating WS-BPEL evolutions. In Proceedings of the 20th International Conference on Web Services (ICWS'13). 147--154. Google ScholarDigital Library
- Lijun Mei, Yan Cai, Changjiang Jia, Bo Jiang, and W. K. Chan. 2013b. Test pair selection for test case prioritization in regression testing for WS-BPEL programs. Int. J. Web Serv. Res. 10, 1 (2013), 73--102. Google ScholarDigital Library
- Lijun Mei, W. K. Chan, and T. H. Tse. 2008. An adaptive service selection approach to service composition. In Proceedings of the IEEE International Conference on Web Services (ICWS'08). 70--77. Google ScholarDigital Library
- Lijun Mei, W. K. Chan, T. H. Tse, and Robert G. Merkel. 2009. Tag-Based techniques for black-box test case prioritization for service testing. In Proceedings of the 2009 9th International Conference on Quality Software (QSIC'09). 21--30. Google ScholarDigital Library
- Lijun Mei, W. K. Chan, T. H. Tse, and Robert G. Merkel. 2011. XML-Manipulating test case prioritization for XML-manipulating services. J. Syst. Softw. 84, 4 (2011), 603--619. Google ScholarDigital Library
- Lijun Mei, Ke Zhai, Bo Jiang, W. K. Chan, and T. H. Tse. 2012. Preemptive regression test scheduling strategies: A new testing approach to thriving on the volatile service environments. In Proceedings of the 2012 IEEE 36th Annual Computer Software and Applications Conference (COMPSAC'12). 72--81. Google ScholarDigital Library
- Lijun Mei, Zhenyu Zhang, W. K. Chan, and T. H. Tse. 2009. Test case prioritization for regression testing of service-oriented business applications. In Proceedings of the 18th International Conference on World Wide Web (WWW'09). 901--910. Google ScholarDigital Library
- Cu D. Nguyen, Alessandro Marchetto, and Paolo Tonella. 2011a. Change sensitivity based prioritization for audit testing of webservice compositions. In Proceedings of the 2011 IEEE 4th International Conference on Software Testing, Verification and Validation Workshops (ICSTW'11). 357--365. Google ScholarDigital Library
- Cu D. Nguyen, Alessandro Marchetto, and Paolo Tonella. 2011b. Test case prioritization for audit testing of evolving web services using information retrieval techniques. In Proceedings of the 2011 IEEE International Conference on Web Services (ICWS'11). 636--643. Google ScholarDigital Library
- Akira K. Onoma, Wei-Tek Tsai, Mustafa Poonawala, and Hiroshi Suganuma. 1998. Regression testing in an industrial environment. Commun. ACM 41, 5 (1998), 81--86. Google ScholarDigital Library
- Marcos Palacios, José García-Fanjul, and Javier Tuya. 2011. Testing in service oriented architectures with dynamic binding: A mapping study. Inf. Softw. Technol. 53, 3 (2011), 171--189. Google ScholarDigital Library
- Mark Petticrew and Helen Roberts. 2005. Systematic Reviews in the Social Sciences: A Practical Guide. Wiley.Google Scholar
- Gregg Rothermel and Mary Jean Harrold. 1996. Analyzing regression test selection techniques. IEEE Trans. Softw. Eng. 22, 8 (1996), 529--551. Google ScholarDigital Library
- Gregg Rothermel and Mary Jean Harrold. 1997. A safe, efficient regression test selection technique. ACM Trans. Softw. Eng. Methodol. 6, 2 (1997), 173--210. Google ScholarDigital Library
- Gregg Rothermel, Mary Jean Harrold, Jeffery von Ronne, and Christie Hong. 2002. Empirical studies of test-suite reduction. Softw. Test. Verif. Reliab. 12, 4 (2002), 219--249.Google ScholarCross Ref
- Gregg Rothermel, Roland J. Untch, and Chengyun Chu. 2001. Prioritizing test cases for regression testing. IEEE Trans. Softw. Eng. 27, 10 (2001), 929--948. Google ScholarDigital Library
- Michael Ruth and Shengru Tu. 2007a. Concurrency issues in automating RTS for web services. In Proceedings of the 2007 IEEE International Conference on Web Services (ICWS'07). 1142--1143.Google ScholarCross Ref
- Michael Ruth and Shengru Tu. 2007b. A safe regression test selection technique for web services. In Proceedings of the 2nd International Conference on Internet and Web Applications and Services (ICIW'07). 47--52. Google ScholarDigital Library
- Michael E. Ruth. 2008. Concurrency in a decentralized automatic regression test selection framework for web services. In Proceedings of the 15th ACM Mardi Gras Conference (MG'08). 7:1--7:8. Google ScholarDigital Library
- Michael E. Ruth. 2011. Employing privacy-preserving techniques to protect control-flow graphs in a decentralized, end-to-end regression test selection framework for web services. In Proceedings of the 2011 IEEE 4th International Conference on Software Testing, Verification and Validation Workshops (ICSTW'11). 139--148. Google ScholarDigital Library
- Michael E. Ruth, Feng Lin, and Shengru Tu. 2006. Applying safe regression test selection techniques to java web services. Int. J. Web Service Pract. 2, 1--2 (2006), 1--10.Google Scholar
- Michael E. Ruth, Sehun Oh, Adam Loup, Brian Horton, Olin Gallet, Marcel Mata, and Shengru Tu. 2007. Towards automatic regression test selection for web services. In Proceedings of the 31st Annual International Computer Software and Applications Conference (COMPSAC'07). 729--736. Google ScholarDigital Library
- Michael E. Ruth and Curtis Rayford. 2011. A privacy-aware, end-to-end, CFG-Based regression test selection framework for web services using only local information. In Proceedings of the 2011 4th International Conference on the Applications of Digital Information and Web Technologies (ICADIWT'11). 13--18.Google Scholar
- Michael E. Ruth and Shengru Tu. 2007c. Towards automating regression test selection for web services. In Proceedings of the 16th International Conference on World Wide Web (WWW'07). 1265--1266. Google ScholarDigital Library
- Michael E. Ruth and Shengru Tu. 2008. Empirical studies of a decentralized regression test selection framework for web services. In Proceedings of the 2008 Workshop on Testing, Analysis, and Verification of Web Services and Applications (TAV-WEB'08). 8--14. Google ScholarDigital Library
- Mary Shaw. 2003. Writing good software engineering research papers: Minitutorial. In Proceedings of the 25th International Conference on Software Engineering (ICSE'03). 726--736. Google ScholarDigital Library
- A. Tarhini, H. Fouchal, and N. Mansour. 2006. Regression testing web services-based applications. In Proceedings of the 2006 IEEE International Conference on Computer Systems and Applications (AICCSA'06). 163--170. Google ScholarDigital Library
- Wei Tek Tsai, Yinong Chen, Raymond Paul, Hai Huang, Xinyu Zhou, and Xiao Wei. 2005. Adaptive testing, oracle generation, and test case ranking for web services. In Proceedings of the 29th Annual International Computer Software and Applications Conference (COMPSAC'05). 101--106. Google ScholarDigital Library
- W. T. Tsai, Y. Chen, R. Paul, N. Liao, and H. Huang. 2004. Cooperative and group testing in verification of dynamic composite web services. In Proceedings of the 28th Annual International Computer Software and Applications Conference (COMPSAC'04). 170--173. Google ScholarDigital Library
- Wei Tek Tsai, Xinyu Zhou, Raymond A. Paul, Yinong Chen, and Xiaoying Bai. 2009. A coverage relationship model for test case selection and ranking for multi-version software. In High Assurance Services Computing. Springer, 285--311.Google Scholar
- W. T. Tsai, Xinyu Zhou, Raymond A. Paul, Yinong Chen, and Xiaoying Bai. 2007. A coverage relationship model for test case selection and ranking for multi-version software. In Proceedings of the 10th IEEE High Assurance Systems Engineering Symposium (HASE'07). 105--112. Google ScholarDigital Library
- Di Wang, Bixin Li, and Ju Cai. 2008. Regression testing of composite service: An XBFG-based approach. In Proceedings of the 2008 IEEE Congress on Services (SERVICES'08). 112--119. Google ScholarDigital Library
- Chunyang Ye, S. C. Cheung, W. K. Chan, and Chang Xu. 2009. Atomicity analysis of service composition across organizations. IEEE Trans. Softw. Eng. 35, 1 (2009), 2--28. Google ScholarDigital Library
- S. Yoo and M. Harman. 2012. Regression testing minimization, selection and prioritization: A survey. Softw. Test. Verif. Reliab. 22, 2 (2012), 67--120. Google ScholarDigital Library
- Zulfa Zakaria, Rodziah Atan, Abdul Azim Abdul Ghani, and Nor Fazlida Mohd. Sani. 2009. Unit testing approaches for BPEL: A systematic review. In Proceedings of the 2009 16th Asia-Pacific Software Engineering Conference (APSEC'09). 316--322. Google ScholarDigital Library
- Ke Zhai and W. K. Chan. 2010. Point-of-Interest aware test case prioritization: Methods and experiments. In Proceedings of the 2010 10th International Conference on Quality Software (QSIC'10). 449--456. Google ScholarDigital Library
- Ke Zhai, Bo Jiang, and WK Chan. 2012. Prioritizing test cases for regression testing of location-based services: Metrics, techniques and case study. IEEE Trans. Serv. Comput. 7, 1, 54--67. Google ScholarDigital Library
- Ke Zhai, Bo Jiang, W. K. Chan, and T. H. Tse. 2010. Taking advantage of service selection: A study on the testing of location-based web services through test case prioritization. In Proceedings of the 2010 IEEE International Conference on Web Services (ICWS'10). 211--218. Google ScholarDigital Library
- Lingming Zhang, Dan Hao, Lu Zhang, Gregg Rothermel, and Hong Mei. 2013. Bridging the gap between the total and additional test-case prioritization strategies. In Proceedings of the 35th International Conference on Software Engineering (ICSE'13). 192--201. Google ScholarDigital Library
Index Terms
- Regression Testing of Web Service: A Systematic Mapping Study
Recommendations
Coverage-based regression test case selection, minimization and prioritization: a case study on an industrial system
This paper presents a case study of coverage-based regression testing techniques on a real world industrial system with real regression faults. The study evaluates four common prioritization techniques, a test selection technique, a test suite ...
Regression testing minimization, selection and prioritization: a survey
Regression testing is a testing activity that is performed to provide confidence that changes do not harm the existing behaviour of the software. Test suites tend to grow in size as software evolves, often making it too costly to execute entire test ...
Test Case Prioritization for Web Service Regression Testing
SOSE '10: Proceedings of the 2010 Fifth IEEE International Symposium on Service Oriented System EngineeringRegression testing is necessary to assure the quality of service-oriented business applications in their evolutions. However, because of the constraint of testing resource, entire test suite may not run as a result. Therefore, test case prioritization ...
Comments