Comparative Analysis of API Testing Approaches in Service-Oriented Architectures

Authors

Keywords:

API testing; service-oriented architecture; microservices; interaction contract; REST Assured; Retrofit; Citrus; test automation; integration testing; qualitative comparison

Abstract

This article compares three approaches to automated application programming interface (API) testing for service-oriented and microservice architectures, where application programming interfaces serve as the principal points of interaction between independent services. The growing number of such systems underscores the need for a well-founded choice of approach, since each one supports protocols and test design styles differently. The objective is to qualitatively compare a fluent assertion syntax, a typed-client harness, and an action-based scenario engine, with a focus on test design, readability, maintainability, and scope of application. The three approaches are not interchangeable products, and the comparison is drawn between the test code each of them produces rather than between feature lists. The novelty lies in a direct comparison of reference implementations that solve one common scenario, reproduced in full in the text and evaluated against criteria tied to indicators observable in the code. The analysis shows that a flexible domain-specific syntax suits the verification of Representational State Transfer (REST) interfaces, that a typed client concentrates the contract in a single declaration, and that the multi-protocol engine covers integration scenarios and message-based interaction. The choice depends on the type of interaction and the maintenance horizon of the test base. The work will be useful for test automation engineers, quality architects, and software quality assurance instructors.

Author Biography

  • Aleksei Taranenko

    QA Automation Engineer, Phuket, Thailand

References

[1] V. Velepucha and P. Flores, "A survey on microservices architecture: Principles, patterns and migration challenges," IEEE Access, vol. 11, pp. 88339–88358, 2023, doi: 10.1109/ACCESS.2023.3305687.

[2] A. Golmohammadi, M. Zhang, and A. Arcuri, "Testing RESTful APIs: A survey," ACM Transactions on Software Engineering and Methodology, vol. 33, no. 1, Nov. 2023, Art. no. 27, doi: 10.1145/3617175.

[3] S. Newman, Building Microservices: Designing Fine-Grained Systems, 2nd ed. Sebastopol, CA, USA: O'Reilly Media, 2021.

[4] M. Cohn, Succeeding with Agile: Software Development Using Scrum, 1st ed. Boston, MA, USA: Addison-Wesley Professional, 2009.

[5] J. Lehvä, N. Mäkitalo, and T. Mikkonen, "Consumer-driven contract tests for microservices: A case study," in Proc. 20th Int. Conf. Product-Focused Softw. Process Improvement (PROFES), Barcelona, Spain, 2019, pp. 497–512, doi: 10.1007/978-3-030-35333-9_35.

[6] M. Waseem, P. Liang, G. Márquez, and A. Di Salle, "Testing microservices architecture-based applications: A systematic mapping study," in Proc. 27th Asia-Pacific Softw. Eng. Conf. (APSEC), Singapore, 2020, pp. 119–128, doi: 10.1109/APSEC51365.2020.00020.

[7] M. Kim, Q. Xin, S. Sinha, and A. Orso, "Automated test generation for REST APIs: No time to rest yet," in Proc. 31st ACM SIGSOFT Int. Symp. Softw. Testing Anal. (ISSTA), Virtual, South Korea, 2022, pp. 289–301, doi: 10.1145/3533767.3534401.

[8] J. Haleby. "REST Assured documentation and usage guide." REST Assured project. Accessed: May 25, 2026. [Online]. Available: https://rest-assured.io/

[9] "Retrofit: A type-safe HTTP client for Android and the JVM." Square, Inc. Accessed: May 31, 2026. [Online]. Available: https://square.github.io/retrofit/

[10] "Citrus Framework reference documentation: Automated integration testing for message-based applications and microservices." Citrus Framework, release 4.x. Accessed: Jun. 7, 2026. [Online]. Available: https://citrusframework.org/

Downloads

Published

2026-08-31

Issue

Section

Articles

How to Cite

Taranenko , A. . (2026). Comparative Analysis of API Testing Approaches in Service-Oriented Architectures. International Journal of Computer (IJC), 57(1), 620-634. https://ijcjournal.org/InternationalJournalOfComputer/article/view/2567