Articles | Open Access | https://doi.org/10.55640/

ENABLING INDEPENDENT DEPLOYABILITY: A SOCIO-TECHNICAL ANALYSIS OF CONSUMER-DRIVEN CONTRACT TESTING IN MICROSERVICE ARCHITECTURES

Kofi Annan Mensah , School of Computing, National University of Singapore, Singapore, Singapore
Maria Clara Santos , College of Engineering, University of the Philippines Diliman, Quezon City, Philippines

Abstract

Background: The adoption of microservice architectures is driven by the promise of agility, scalability, and independent deployability. However, this architectural style introduces significant complexity in integration testing. Traditional end-to-end (E2E) testing strategies are often slow, brittle, and create development bottlenecks, undermining the very agility microservices aim to achieve.

Objective: This article provides a socio-technical analysis of Consumer-Driven Contract Testing (CDCT) as a strategic alternative to traditional E2E testing. We aim to (1) synthesize the technical mechanisms of CDCT, (2) analyze the critical organizational and cultural shifts required for its successful adoption, and (3) propose a framework for its integration at scale.

Methods: A systematic literature review and thematic analysis were conducted, synthesizing insights from peer-reviewed academic sources, seminal industry publications, and technical white papers. The analysis focuses on identifying the failures of traditional paradigms and the technical and socio-technical components of a successful CDCT implementation.

Results: The analysis reveals that CDCT, exemplified by tools like Pact, effectively shifts integration testing left, enabling asynchronous development by verifying interactions via executable "contracts." We find that the primary challenges to adoption are not technical but socio-technical, relating to team communication, code ownership, and cultural resistance. The role of a central "contract broker" is identified as critical for managing contract versioning and enabling scalable CI/CD integration.

Conclusion: CDCT is a fundamental enabler of independent deployability in microservice ecosystems. However, its implementation must be treated as a strategic shift in engineering culture, not merely the adoption of a new tool. We conclude that organizations must invest in fostering shared responsibility and communication alongside the technical infrastructure to realize the full benefits of CDCT.

Keywords

Microservices, Consumer-Driven Contract Testing, Integration Testing

References

Aghamohammadi, A., Mirian-Hosseinabadi, S.-H. and Jalali, S. (2021) ‘Statement frequency coverage: A code coverage criterion for assessing test suite effectiveness’, Information and Software Technology, 129, p. 106426. Available at: https://doi.org/10.1016/j.infsof.2020.106426.

André, S. (2018) Testing of Microservices, Spotify Engineering. Available at: https://engineering.atspotify.com/2018/01/testing-of-microservices/ (Accessed: 15 October 2023).

Baresi, L. and Garriga, M. (2020) ‘Microservices: The Evolution and Extinction of Web Services?’, in A. Bucchiarone et al. (eds) Microservices. Cham: Springer International Publishing, pp. 3–28. Available at: https://doi.org/10.1007/978-3-030-31646-4_1.

Bird, C. et al. (2011) ‘Don’t touch my code!: examining the effects of ownership on software quality’, in Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering. ESEC/FSE’11: Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Szeged Hungary: ACM, pp. 4–14. Available at: https://doi.org/10.1145/2025113.2025119.

Clemson, T. (2014) Testing Strategies in a Microservice Architecture, martinfowler.com. Available at: https://martinfowler.com/articles/microservice-testing/ (Accessed: 11 December 2023).

Cohn, M. (2010) Succeeding with agile: software development using Scrum. Pearson Education.

Crispin, L. and Gregory, J. (2009) Agile testing: a practical guide for testers and agile teams. Upper Saddle River, NJ: Addison-Wesley (The Addison-Wesley signature series).

Dos Santos, E.W. and Nunes, I. (2017) ‘Investigating the Effectiveness of Peer Code Review in Distributed Software Development’, in Proceedings of the XXXI Brazilian Symposium on Software Engineering. SBES’17: 31st Brazilian Symposium on Software Engineering, Fortaleza CE Brazil: ACM, pp. 84–93. Available at: https://doi.org/10.1145/3131151.3131161.

Foucault, M., Falleri, J.-R. and Blanc, X. (2014) ‘Code ownership in open-source software’, in Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering. EASE ’14: 18th International Conference on Evaluation and Assessment in Software Engineering, London England United Kingdom: ACM, pp. 1–9. Available at: https://doi.org/10.1145/2601248.2601283.

Greiler, M., Herzig, K. and Czerwonka, J. (2015) ‘Code Ownership and Software Quality: A Replication Study’, in 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories (MSR), Florence, Italy: IEEE, pp. 2–12. Available at: https://doi.org/10.1109/MSR.2015.8.

Hassan, A.E. (2009) ‘Predicting faults using the complexity of code changes’, in 2009 IEEE 31st International Conference on Software Engineering. 2009 IEEE 31st International Conference on Software Engineering, Vancouver, BC, Canada: IEEE, pp. 78–88. Available at: https://doi.org/10.1109/ICSE.2009.5070510.

Inozemtseva, L. and Holmes, R. (2014) ‘Coverage is not strongly correlated with test suite effectiveness’, in Proceedings of the 36th International Conference on Software Engineering. ICSE ’14: 36th International Conference on Software Engineering, Hyderabad India: ACM, pp. 435–445. Available at: https://doi.org/10.1145/2568225.2568271.

Kauppinen, M. (2005) Introducing requirements engineering into product development : towards systematic user requirements definition. Helsinki University of Technology. Available at: https://aaltodoc.aalto.fi:443/handle/123456789/2625 (Accessed: 15 October 2023).

Kochhar, P.S., Thung, F. and Lo, D. (2015) ‘Code coverage and test suite effectiveness: Empirical study with real bugs in large systems’, in 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER), pp. 560–564. Available at: https://doi.org/10.1109/SANER.2015.7081877.

Sagar Kesarpu. (2025). Contract Testing with PACT: Ensuring Reliable API Interactions in Distributed Systems. The American Journal of Engineering and Technology, 7(06), 14–23. https://doi.org/10.37547/tajet/Volume07Issue06-03

Lazar, J. (2017) Research methods in human computer interaction. 2nd edition. Cambridge, MA: Elsevier.

Lehvä, J., Mäkitalo, N. and Mikkonen, T. (2019) ‘Consumer-Driven Contract Tests for Microservices: A Case Study’, in X. Franch, T. Männistö, and S. Martínez-Fernández (eds) Product-Focused Software Process Improvement. Cham: Springer International Publishing (Lecture Notes in Computer Science), pp. 497–512. Available at: https://doi.org/10.1007/978-3-030-35333-9_35.

Lunney, J. and Lueder, S. (2017) Google - Site Reliability Engineering. Available at: https://sre.google/sre-book/postmortem-culture/ (Accessed: 17 October 2023).

Lwakatare, L.E. et al. (2019) ‘DevOps in practice: A multiple case study of five companies’, Information and Software Technology, 114, pp. 217–230. Available at: https://doi.orgorg/10.1016/j.infsof.2019.06.004.

McIntosh, S. et al. (2014) ‘The impact of code review coverage and code review participation on software quality: a case study of the qt, VTK, and ITK projects’, in Proceedings of the 11th Working Conference on Mining Software Repositories. ICSE ’14: 36th International Conference on Software Engineering, Hyderabad India: ACM, pp. 192–201. Available at: https://doi.org/10.1145/2597073.2597076.

Sayyed, Z. (2025). Development of a Simulator to Mimic VMware vCloud Director (VCD) API Calls for Cloud Orchestration Testing. International Journal of Computational and Experimental Science and Engineering, 11(3). https://doi.org/10.22399/ijcesen.3480

Newman, S. (2021) Building microservices: designing fine-grained systems. Second Edition. Beijing: O’Reilly Media.

Pact Foundation (2023a) How Pact Works, docs.pact.io. Available at: https://docs.pact.io/getting_started/how_pact_works (Accessed: 7 December 2023).

Pact Foundation (2023b) Pact Broker, docs.pact.io. Available at: https://docs.pact.io/pact_broker (Accessed: 7 December 2023).

Parnas, D.L. (1971) ‘Information distribution aspects of design methodology’.

Robinson, I. (2006) Consumer-Driven Contracts: A Service Evolution Pattern, martinfowler.com. Available at: https://martinfowler.com/articles/consumerDrivenContracts.html (Accessed: 11 December 2023).

Schulmeyer, G.G. (ed.) (2008) Handbook of software quality assurance. 4th ed. Boston: Artech House.

Staron, M. (2020) Action Research in Software Engineering: Theory and Applications. Cham: Springer International Publishing. Available at: https://doi.org/10.1007/978-3-030-32610-4.

Taibi, D., Lenarduzzi, V. and Pahl, C. (2020) ‘Microservices Anti-patterns: A Taxonomy’, in Microservices. Cham: Springer International Publishing, pp. 111–128. Available at: https://doi.org/10.1007/978-3-030-31646-4_5.

Tekinerdogan, B. et al. (2016) ‘Quality concerns in large-scale and complex software-intensive systems’, in Software Quality Assurance. Elsevier, pp. 1–17. Available at: https://doi.org/10.1016/B978-0-12-802301-3.00001-6.

Wacker, M. (2015) ‘Just Say No to More End-to-End Tests’, Google Testing Blog, 22 April. Available at: https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html (Accessed: 23 October 2023).

Sai Nikhil Donthi. (2025). A Scrumban Integrated Approach to Improve Software Development Process and Product Delivery. The American Journal of Interdisciplinary Innovations and Research, 7(09), 70–82. https://doi.org/10.37547/tajiir/Volume07Issue09-07

Wagner, S. (2008) ‘Defect classification and defect types revisited’, in Proceedings of the 2008 workshop on Defects in large software systems. ISSTA ’08: International Symposium on Software Testing and Analysis, Seattle Washington: ACM, pp. 39–40. Available at: https://doi.org/10.1145/1390817.1390829.

Yuan, D. et al. (2014) ‘Simple Testing Can Prevent Most Critical Failures: An Analysis of Production Failures in Distributed Data-Intensive Systems’, in 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14). Broomfield, CO: USENIX Association, pp. 249–265. Available at: https://www.usenix.org/conference/osdi14/technical-sessions/presentation/yuan.

Article Statistics

Downloads

Download data is not yet available.

Copyright License

Download Citations

How to Cite

ENABLING INDEPENDENT DEPLOYABILITY: A SOCIO-TECHNICAL ANALYSIS OF CONSUMER-DRIVEN CONTRACT TESTING IN MICROSERVICE ARCHITECTURES. (2025). International Journal of Data Science and Machine Learning, 5(02), 224-238. https://doi.org/10.55640/