journal article·2022-04-26Open access

RESTful API Testing Methodologies: Rationale, Challenges, and Solution Directions

Adeel Ehsan, Mohammed Ahmad M. E. Abuhaliqa, Cagatay Catal, Deepti Mishra

Applied Sciences· Volume 12· Issue 9

Abstract

Service-oriented architecture has evolved to be the backbone for large-scale integration between different applications and platforms. This concept has led to today’s reality of cloud services. Many of the major business platforms are providing their services to end-users and other companies as well. Companies are crafting ways to allow other businesses fast service integration and to get on board quickly in the market. REST (representational state transfer) has emerged as the standard protocol for implementing and consuming these services, which are called RESTful application programming interfaces (APIs). As the internal details of the RESTful APIs are not completely available during consumption, thorough testing has been a major challenge. Any unprecedented change in the APIs can cause the major failure of service operations, which can cause an organization to face both financial and trust losses. Research efforts have been made to alleviate testing challenges by introducing different frameworks and auto-generating unit test approaches. However, there is still a lack of an overview of the state-of-the-art in RESTful API testing. As such, the objective of this article is to identify, analyze, and synthesize the studies that have been performed related to RESTful APIs’ testing methodologies and unit test generation. With this perspective, a systematic literature review (SLR) study was conducted. In total, 16 papers were retrieved and included based on study selection criteria for in-depth analysis. This SLR discusses and categorizes different problems and solutions related to RESTful APIs’ testing and unit test generation.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Software System Performance and Reliability · Service-Oriented Architecture and Web Services · Software Testing and Debugging Techniques

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Department of Computer Science & Engineering, Qatar University, Doha 2713, Qatar

Software, Data and Digital Ecosystem Group, Educational Technology Laboratory, Department of Computer Science, Norwegian University of Science and Technology, 2815 Gjøvik, Norway

References (38)

Show source-provided references
1. Design Patterns and Extensibility of REST API for Networking Applications10.1109/TNSM.2016.2516946 ↗
2. An Analysis of Public REST Web Service APIs10.1109/TSC.2018.2847344 ↗
3. Pahl, C., and Jamshidi, P. (, January 23–25). Microservices: A Systematic Mapping Study. Proceedings of the 6th International Conference on Cloud Computing and Services Science—Volume 1 and 2, Rome, Italy.
4. Khare, R., and Taylor, R. (2004, January 28). Extending the Representational State Transfer (REST) architectural style for decentralized systems. Proceedings of the 26th International Conference on Software Engineering, Edinburgh, UK.
5. Pautasso, C., Zimmermann, O., and Leymann, F. (2008, January 21–25). Restful web services vs. “big” web services: Making the Right Architectural Decision. Proceedings of the 17th International Conference on World Wide Web, Beijing, China.10.1145/1367497.1367606 ↗
6. Ed-Douibi, H., Izquierdo, J.L.C., and Cabot, J. (2018, January 5–8). OpenAPItoUML: A tool to generate UML models from OpenAPI definitions. Proceedings of the International Conference on Web Engineering, Cáceres, Spain.10.1007/978-3-319-91662-0_41 ↗
7. Fielding, R.T., and Taylor, R.N. (2008). Architectural Styles and the Design of Network-Based Software Architectures, University of California.
8. Mogul, J.C., Frystyk, H., Masinter, L., Leach, P., and Berners-Lee, T. (2021, November 20). Hypertext Transfer Protocol--HTTP/1.1. Terminology 1.3. Available online: https://www.w3.org/Protocols/HTTP/1.1/rfc2616.pdf.
9. Web service testing techniques: A systematic literature review
10. Nabil, E.I. (July, January 27). Specifications for web services testing: A systematic review. Proceedings of the 2015 IEEE World Congress on Services, Washington, DC, USA.10.1109/SERVICES.2015.31 ↗
11. Supporting the semi-automatic semantic annotation of web services: A systematic literature review10.1016/j.infsof.2015.01.007 ↗
12. Testing Web Services Composition: A Mapping Study10.5171/2011.598357 ↗
13. Exploiting Web service geographical neighborhood for collaborative QoS prediction10.1016/j.future.2016.09.022 ↗
14. Scalable and Accurate Prediction of Availability of Atomic Web Services10.1109/TSC.2013.3 ↗
15. Elia, I.A., Laranjeiro, N., and Vieira, M. (July, January 27). ITWS: An extensible tool for interoperability testing of web services. Proceedings of the 2014 IEEE International Conference on Web Services, Anchorage, AK, USA.10.1109/ICWS.2014.65 ↗
16. Nacer, A.A., Bessai, K., Youcef, S., and Godart, C. (July, January 27). A Multi-criteria Based Approach for Web Service Selection Using Quality of Service (QoS). Proceedings of the IEEE International Conference on Services Computing, New York City, NY, USA.
17. Selvam, R., and Senthilkumar, A. (2014, January 6–8). Webservice based vulnerability testing framework. Proceedings of the 2014 International Conference on Green Computing Communication and Electrical Engineering (ICGCCEE), Coimbatore, India.10.1109/ICGCCEE.2014.6921391 ↗
18. Barbir, A., Hobbs, C., Bertino, E., Hirsch, F., and Martino, L. (2007). Challenges of testing web services and security in SOA implementations. Test and Analysis of Web Services, Springer.10.1007/978-3-540-72912-9_14 ↗
19. Guidelines for performing Systematic Literature Reviews in Software
20. Fredlund, L.A., Earle, C.B., Herranz, A., and Marino, J. (July, January 27). Property-Based Testing of JSON Based Web Services. Proceedings of the IEEE International Conference on Web Services, Anchorage, AK, USA.
21. Fertig, T., and Braun, P. (2015, January 18–22). Model-driven Testing of RESTful APIs. Proceedings of the 24th International Conference on World Wide Web, Florence, Italy.10.1145/2740908.2743045 ↗
22. Arcuri, A. (2017, January 25–29). RESTful API Automated Test Case Generation. Proceedings of the IEEE International Conference on Software Quality, Reliability and Security (QRS), Prague, Czech Republic.10.1109/QRS.2017.11 ↗
23. Wenhui, H., Yu, H., Xueyang, L., and Chen, X. (2017, January 26–28). Study on REST API Test Model Supporting Web Service Integration. Proceedings of the IEEE 3rd International Conference on Big Data Security on Cloud (Bigdatasecurity), IEEE International Conference on High Performance and Smart Computing (Hpsc), and IEEE International Conference on Intelligent Data and Security (ids), Beijing, China.10.1109/BigDataSecurity.2017.35 ↗
24. Ed-Douibi, H., Izquierdo, J.L.C., and Cabot, J. (2018, January 16–19). Automatic Generation of Test Cases for REST APIs: A Specification-Based Approach. Proceedings of the IEEE 22nd International Enterprise Distributed Object Computing Conference (EDOC), Stockholm, Sweden.10.1109/EDOC.2018.00031 ↗
25. Metamorphic Testing of RESTful Web APIs10.1109/TSE.2017.2764464 ↗
26. Isha, A., Sharma, A., and Revathi, M. (2018, January 15–16). Automated API Testing. Proceedings of the 3rd International Conference on Inventive Computation Technologies (ICICT), Coimbatore, India.10.1109/ICICT43934.2018.9034254 ↗
27. Atlidakis, V., Godefroid, P., and Polishchuk, M. (2019, January 25–29). RESTler: Stateful REST API Fuzzing. Proceedings of the 41st International Conference on Software Engineering, Montreal, QC, Canada.10.1109/ICSE.2019.00083 ↗
28. Karlsson, S., Causevic, A., and Sundmark, D. (2020, January 24–28). QuickREST: Property-based Test Generation of OpenAPI-Described RESTful APIs. Proceedings of the IEEE 13th International Conference on Software Testing, Validation and Verification (ICST), Porto, Portugal.10.1109/ICST46399.2020.00023 ↗
29. Martin-Lopez, A. (2020, January 5–11). AI-Driven Web API Testing. Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering: Companion Proceedings (ICSE-Companion), Seoul, Korea. Available online: https://doi.ieeecomputersociety.org/.10.1145/3377812.3381388 ↗
30. Vassiliou-Gioles, T. (2020, January 11–14). A simple, lightweight framework for testing RESTful services with TTCN-2020. Proceedings of the IEEE 20th International Conference on Software Quality, Reliability and Security Companion (QRS-C), Vilnius, Lithuania.10.1109/QRS-C51114.2020.00089 ↗
31. Godefroid, P., Lehmann, D., and Polishchuk, M. (2020, January 18–22). Differential regression testing for REST APIs. Proceedings of the 29th ACM SIGSOFT International Symposium on Software Testing and Analysis, New York, NY, USA.10.1145/3395363.3397374 ↗
32. Viglianisi, E., Dallago, M., and Ceccato, M. (2020, January 24–28). RESTTESTGEN: Automated Black-Box Testing of RESTful APIs. Proceedings of the IEEE 13th International Conference on Software Testing, Validation and Verification (ICST), Porto, Portugal.10.1109/ICST46399.2020.00024 ↗
33. Mirabella, A.G., Martin-Lopez, A., Segura, S., Valencia-Cabrera, L., and Ruiz-Cortes, A. (2021, January 1). Deep Learning-Based Prediction of Test Input Validity for RESTful APIs. Proceedings of the IEEE/ACM Third International Workshop on Deep Learning for Testing and Testing for Deep Learning (DeepTest), Madrid, Spain.10.1109/DeepTest52559.2021.00008 ↗
34. Martin-Lopez, A., Segura, S., and Ruiz-Cortés, A. (2021, January 11–17). RESTest: Automated black-box testing of RESTful web APIs. Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis, New York, NY, USA.10.1145/3460319.3469082 ↗
35. A Black Box Tool for Robustness Testing of REST Services10.1109/ACCESS.2021.3056505 ↗
36. Martin-Lopez, A., Segura, S., and Ruiz-Cortés, A. (2019, January 26–27). Test coverage criteria for RESTful web APIs. Proceedings of the 10th ACM SIGSOFT International Workshop on Automating TEST Case Design, Selection, and Evaluation, New York, NY, USA.10.1145/3340433.3342822 ↗
37. Vosta, D. (2020). Evaluation of the T-Wise Approach for Testing REST APIs. [Master’s Thesis, KTH Royal Institute of Technology].
38. Zhang, M., Marculescu, B., and Arcuri, A. (2019, January 13–17). Resource-based test case generation for restful web services. Proceedings of the genetic and evolutionary computation conference, Prage, Czech Republic.10.1145/3321707.3321815 ↗