Методи та засоби системи перевірки сумісності окремих компонент веб-серверів

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

У цій статті розглянуто сучасний стан проблем у роботі з АРІ різних систем. Були проана- лізовані найпоширеніші методології (Agile та DevOps), методи та засоби побудови автомати- зованих конвеєрів для збірки та тестування продуктів проекту, наведено загальний вигляд конвеєра, що слугує відправною точкою при розробці проектів. У результаті аналізу опитувань розробників, DevOps інженерів були виділені ключові проблеми в інтеграції між різними системами з використанням АРІ.
У роботі описано повний процес виконання тестів, що включає в себе ініціалізацію кроку тестування, варіанти побудови конвеєра, опрацювання виключних ситуацій та збереження результатів. Наведена взаємодія різних зацікавлених сторін. Дані процеси проілюстровані діаграмами послідовностей, прецедентів та діяльності. Наведено псевдокод алгоритму, що описує використання нечіткого логічного виведення для отримання рекомендацій на основі тестування. Було розроблено розширений контракт для тестування, який включає: пари запит-відповідь, обмеження області значень полів та предикати для забезпечення логічної сумісності компо- нентів. Використання даного контракту дозволяє не лише перевіряти сумісність АРІ компонент веб-серверів, але і задавати правила логічної відповідності між об’єктами. Впровадження онтоло- гічного підходу для тестування створює додатковий рівень тестів, що перевіряють відповідність між сутностями системи-споживача та онтологією системи-постачальника. Впровадження пере- вірки області значень полів та їх типів під час виконання тестів дозволить надати розробнику на етапі тестування повноту інформації про можливі проблеми під час роботи двох систем. Оскільки онтологія повинна постійно підтримуватися експертами в галузі, то використання розширених контрактних тестів дозволить зменшити імовірність помилок внаслідок недостат- ньої комунікації через зміну концептів у бізнес-структурі системи-постачальника. Розроблений метод передбачає використання нечіткої логіки для прийняття рішень на основі нечітких оцінок сумісності двох компонент.

  1. (2024, May 29). DevOps Market Statistics – Key Figures and Trends in 2024. TechReport. https://techreport.com/statistics/software-web/devops-market-statistics-...
  2. (n.d.). 2023 State of the API Report. Postman. https://www.postman.com/state-of-api/api-global- growth/#api-global-growth
  3. (n.d.). How Do Agile and DevOps Interrelate? Instatus. https://instatus.com/blog/agile-devops
  4. Sharma, S., Sarkar, D., & Gupta, D. (2012). Agile  Processes  and  Methodologies:  A  Conceptual Study. International Journal on Computer Science and Engineering 4(5).
  5. MAAYAN, G. D. (2023, December 15). The Future of Jenkins in 2024. DevOps.com. https://devops.com/the-future-of-jenkins-in-2024/
  6. (n.d.). Pipeline. Jenkins. https://www.jenkins.io/doc/book/pipeline/7.
  7. (2024,       April       19). How       to       Make        a      CI-CD       Pipeline in Jenkins? GeeksforGeeks.https://www.geeksforgeeks.org/how-to-make-a-ci-cd-pipeline-in-jenkins/
  8. Sotomayor, J., Allala, S., Santiago, D., & King, T. (2022). Comparison of open-source runtime testing tools for microservices. Software Quality Journal, 31(1), 1–33. https://doi.org/10.1007/s11219-022-09583-4
  9. Zheldak, T. A., & Koryashkina, L. S. (2020). Fuzzy sets in control and decision-making systems. NTU “Dnipro Polytechnic”.
  10. Cingolani, P., & Alcal, J. (2013). jFuzzyLogic: A Java library to design fuzzy logic controllers according to the standard for fuzzy control programming. International Journal of Computational Intelligence Systems.
  11. Gillis, A. S. (2023, March). API testing. TechTarget. https://www.techtarget.com/searchapparchitecture/ definition/API-testing
  12. Braakman,      W.        (2023,        March         30). Introduction       to       Contract          Testing.       Medium. https://www.techtarget.com/searchapparchitecture/definition/API-testing
  13. (n.d.). Writing consumer tests. GitLab. https://docs.gitlab.com/ee/development/testing_guide/contract/ consumer_tests.html
  14. (n.d.). Reasoner Preferences. Protégé 5 Documentation. https://protegeproject.github.io/protege/ preferences/reasoner/
  15. World Wide Web Consortium (2017, July 20). Shapes Constraint Language (SHACL). W3C. https://www.w3.org/TR/shacl/
  16. Tartir, S., Arpinar, I. B., Moore, M., Sheth, A. P., & Aleman-Meza, B. (2005). OntoQA: Metric-Based Ontology Quality Analysis. IEEE ICDM 2005 Workshop on Knowledge Acquisition from Distributed, Autonomous, Semantically Heterogeneous Data and Knowledge Sources. https://www.researchgate.net/publication/ 266795541_OntoQA_Metric-Based_Ontology_Quality_Analysis
  17. Tartir, S. (2020, May 7). OntoQA. GitHub. https://github.com/Samir-Tartir/OntoQA