This article analyzes the use of contract testing to verify the compatibility of two components, specifically web servers that use an Application Programming Interface (API) for data transmission.
Additionally, the article includes a comparison of APIs and contract tests and describes cases where the latter have an advantage. A contract structure for contract testing is described.
The article contains a description of the ontological approach for comparing knowledge about the business systems of the provider, in the form of ontologies, with the software representation of the consumer system, stored in the form of classes. A structure of the object that supplements the contract by providing it with business logic level checks is developed. Basic predicates that form the basis of this method are proposed and described. The use of the mapping field allows for the use of thesauruses or dictionaries for automated replacement of concepts when using synonym words.
An example is provided that demonstrates the operation of this approach, namely: a simplified representation of the provider system’s concepts, a simplified structure of the consumer system’s classes, an example of an API and a contract for it, an extension using the developed approach, and the result of test execution.
- Hossain, M. A. (2023). Software Development Life Cycle (SDLC) Methodologies for Information Systems Project management. International Journal for Multidisciplinary Research, 5(5). https://doi.org/10.36948/ijfmr.2023.v05i05.6223
- Savin, R. (2007). Testing DOT COM or Assistance with harsh treatment of bugs in internet startups. Print2print
- Bose, S. (2022). Getting Started with the Test Automation Pyramid – An Ultimate Guide. BrowserSack. https://www.browserstack.com/guide/testing-pyramid-for-test-automation
- Zarevych, O. (2020). How to speed up the release with the help of tests. DOU. https://dou.ua/lenta/articles/how-testing-speed-up-release/
- Akinsola, J. E. T., Adeagbo, M., Abdul-Yakeen, S. O., & Yusuf, A. (2022). Qualitative comparative analysis of software integration testing techniques. Journal of Science and Logics in ICThttps://www.researchgate.net/publication/359857331_Qualitative_Comparative_Analysis_of_Software_Integr ation_Testing_Techniques
- Cohen, N. (2023). Contract Testing: An Introduction and guide. BlazeMeter. https://www.blazemeter.com/blog/contract-testing
- (n. d.) API testing. Postman. https://www.postman.com/api-platform/api-testing/
- Liang, Q., & Huhns, M. N. (2008). Ontology-Based Compatibility Checking for Web Service Configuration Management. 15. https://doi.org/10.1007/978-3-540-89652-4_31
- Craig, D. C., & Zuberek, W. (2007). Verification of Component Behavioral Compatibility. 2nd International Conference on Dependability of Computer Systems (DepCoS-RELCOMEX '07). https://doi.org/10.1109/DEPCOS- RELCOMEX.2007.53
- De Souza, E. F., De Almeida Falbo, R., & Vijaykumar, N. L. (2013). Ontologies in software testing: A Systematic Literature Review. ResearchGate. https://www.researchgate.net/publication/282915285_Ontologies_in_software_testing_A_Systematic_Literature_Review
- Naqvi, M. R., Iqbal, M. W., Ashraf, M., & Ahmad, S. (2023). Ontology Driven Testing Strategies for IoT Applications. Computers, Materials & Continua. https://doi.org/10.32604/cmc.2022.019188
- Krouwel, M., & Op „t Land, M. (2022). Business Driven Microservice Design - An Enterprise Ontology Based Approach to API Specifications (pp. 95-113). Springer, Cham. https://doi.org/10.1007/978-3-031-11520-2_7
- Nasser, V., Du, W., & Macisaac, D. (2010). An Ontology-based Software Test Generation Framework.Proceedings of the 22nd International Conference on Software Engineering & Knowledge Engineering. https://www.researchgate.net/publication/221390387_An_Ontology-based_Software_Test_Generation_Framework
- Gillis, A. S. (2023). API testing. TechTarget. https://www.techtarget.com/searchapparchitecture/definition/API-testing
- Braakman, W. (2023). Introduction to Contract Testing. Medium.https://www.techtarget.com/searchapparchitecture/definition/API-testing
- (n. d.). 2023 State of the API Report. Postman. https://www.postman.com/state-of-api/api-global- growth/#api-global-growth