Contract-based Testing Using the Ontology Approach

2024;
: pp. 210 - 219
Authors:
1
Lviv Polytechnic National University, Department of Information Systems and Networks

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.

  1. 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
  2. Savin, R. (2007). Testing DOT COM or Assistance with harsh treatment of bugs in internet startups. Print2print
  3. Bose, S. (2022). Getting Started with the Test Automation Pyramid – An Ultimate Guide. BrowserSack. https://www.browserstack.com/guide/testing-pyramid-for-test-automation
  4. 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/
  5. 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
  6. Cohen, N. (2023). Contract Testing: An Introduction and guide. BlazeMeter. https://www.blazemeter.com/blog/contract-testing
  7. (n. d.) API testing. Postman. https://www.postman.com/api-platform/api-testing/
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. Gillis, A. S. (2023). API testing. TechTarget. https://www.techtarget.com/searchapparchitecture/definition/API-testing
  15. Braakman,               W.             (2023). Introduction              to             Contract               Testing.               Medium.https://www.techtarget.com/searchapparchitecture/definition/API-testing
  16. (n.  d.). 2023  State  of  the  API  Report.  Postman.  https://www.postman.com/state-of-api/api-global- growth/#api-global-growth