Тестування на основі контрактів з використанням онтологічного підходу

2024;
: cc. 210 - 219
Автори:
1
Національний університет «Львівська політехніка», кафедра інформаційних систем та мереж

У статті проаналізовано використання контрактного тестування для перевірки сумісності двох компонент, а  саме вебсерверів,  що використовують прикладний  програмний  інтерфейс (АРІ) для передавання даних.

Стаття містить також порівняння АРІ та контрактних тестів і описує випадки, коли останні мають перевагу. Описано структуру контракту для контрактного тесту.

Наведено опис онтологічного підходу для порівняння знань про бізнес системи-постачальника, у вигляді онтологій, із програмним поданням системи-споживача, що зберігається у вигляді класів. Розроблено структуру об’єкта, що доповнює контракт, надаючи йому перевірки на рівні бізнес-логіки. Запропоновані базові предикати, що становлять основу цього методу, подано їхній опис. Використання поля mapping уможливлює використання тезаурусів чи словників для автоматизованої заміни понять за допомогою слів-синонімів.

Наведено приклад, що демонструє роботу цього підходу, а саме: спрощене представлення концептів системи-постачальника, спрощена структура класів системи-споживача, приклад АРІ та контракту для нього, розширення із використанням розробленого підходу та результат виконання тестів.

  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