Дослідження інтеграційного тестування API для різних мов програмування - Комарницький, Іван Петрович; Komarnytskyi, Ivan Petrovych (Національний університет "Львівська політехніка", 2024)
У роботі проведено дослідження інтеграційного тестування API, яке є ключовим етапом у забезпеченні якості сучасних вебзастосунків, що базуються на обміні даними через REST API. Цей процес передбачає виконання HTTP запитів до серверних ендпоінтів, аналіз відповідей і оцінку продуктивності взаємодії між клієнтськими програмами та сервером. Складність і динамічність сучасних програмних проєктів, а також зростання потреби в швидкій і надійній інтеграції підкреслюють важливість автоматизованого тестування API. Однак відсутність чітких рекомендацій щодо вибору оптимальних мов програмування для таких задач ускладнює розробку ефективних інтеграційних рішень. Актуальність дослідження зумовлена необхідністю створення структурованої методики для оцінки продуктивності мов програмування, що сприятиме підвищенню якості розробки та конкурентоспроможності ІТ-компаній, зокрема в Україні, де ІТ-сектор є однією з провідних галузей економіки. Метою роботи є розробка методики інтеграційного тестування API для оцінки продуктивності мов програмування JavaScript (Node.js), Python і Java під час виконання HTTP-запитів, а також створення рекомендацій щодо їх використання залежно від типу запитів і сценаріїв. Для досягнення мети виконано аналіз сучасних підходів до інтеграційного тестування, визначено ключові метрики продуктивності, створено тестовий стенд на основі Java Spring Boot, розроблено інтеграційні скрипти для трьох мов, проведено серію тестів із даними обсягом 1–10 КБ, виконано порівняльний аналіз результатів, сформовано рейтинг мов за продуктивністю та запропоновано рекомендації для вибору мови. Об’єктом дослідження є ефективність інтеграційного тестування API, що охоплює виконання HTTP-запитів, аналіз відповідей і оцінку продуктивності. Предметом дослідження є продуктивність мов програмування JavaScript (Node.js), Python і Java у контексті інтеграційного тестування API, з акцентом на середній час виконання запитів GET, POST, PUT і DELETE у типових сценаріях. У ході дослідження проаналізовано сучасний стан інтеграційного тестування API, оцінено наявні інструменти, такі як Postman, RESTest і бібліотеки axios, requests, RestTemplate, а також виявлено прогалини в літературі щодо порівняльного аналізу мов програмування. Розроблено тестовий стенд і інтеграційні скрипти, які забезпечили стандартизоване тестування 15 ендпоінтів із 10 повтореннями для кожної мови. Отримані дані дозволили оцінити продуктивність: Java показала найвищу швидкість (37.83 мс для GET), Node.js виявився ефективним для асинхронних сценаріїв (54.21 мс), а Python, попри простоту, мав нижчу продуктивність (57.16 мс). Новизна дослідження полягає у створенні структурованої методики порівняльного аналізу продуктивності мов програмування, яка вперше враховує різні типи HTTP-запитів і сценарії використання, включаючи синхронні та асинхронні операції, із точним вимірюванням часу виконання до мілісекунд. Практичне значення результатів полягає у наданні розробникам і ІТ-компаніям інструменту для вибору оптимальної мови програмування залежно від вимог проєкту, що сприяє скороченню часу розробки, підвищенню якості API та покращенню користувацького досвіду. Рекомендації, сформовані на основі рейтингу продуктивності, можуть бути застосовані в українських ІТ-компаніях для створення високоефективних вебзастосунків, зокрема у фінансових і медичних системах. Ключові слова: ПРОДУКТИВНІСТЬ, ІНТЕГРАЦІЙНЕ ТЕСТУВАННЯ, API, МОВИ ПРОГРАМУВАННЯ, HTTP-ЗАПИТИ, АВТОМАТИЗАЦІЯ, JAVA, JAVASCRIPT, PYTHON, РЕКОМЕНДАЦІЇ, ТЕСТОВИЙ СТЕНД. Перелік використаних джерел: 1. Smith J. API Testing Techniques. – Journal of Software Engineering, 2023. – С. 45–60. 2. Kumar A. REST API in Modern Development. – International Conference on Software Development, 2024. – С. 112–125. 3. Testing RESTful APIs: A Survey. – ACM Transactions on Software Engineering and Methodology, 2023. [Електронний ресурс]. – Режим доступу: https://dl.acm.org/doi/abs/10.1145/3617176. 4. API Integration Testing: Benefits, Best Practices, and Example Guide. – GoCobalt, 2023. [Електронний https://gocobalt.io/api-integration-testing. ресурс]. – Режим доступу:

The paper investigates API integration testing, which is a key stage in ensuring the quality of modern web applications based on data exchange via REST API. This process involves executing HTTP requests to server endpoints, analyzing responses, and evaluating the performance of interaction between client programs and the server. The complexity and dynamism of modern software projects, as well as the growing need for fast and reliable integration, emphasize the importance of automated API testing. However, the lack of clear recommendations for choosing the best programming languages for such tasks makes it difficult to develop effective integration solutions. The relevance of the study is due to the need to create a structured methodology for evaluating the performance of programming languages, which will help improve the quality of development and competitiveness of IT companies, in particular in Ukraine, where the IT sector is one of the leading industries. The aim of this work is to develop a methodology for API integration testing to evaluate the performance of JavaScript (Node.js), Python, and Java when executing HTTP requests, as well as creating recommendations for their use depending on the type of requests and scenarios. To achieve this goal, we analyzed modern approaches to integration testing, identified key performance metrics, created a testbed based on Java Spring Boot, developed integration scripts for three languages, conducted a series of tests with data of 1-10 KB, performed a comparative analysis of the results, formed a rating of languages by performance, and proposed recommendations for language selection. The object of the study is the effectiveness of API integration testing, which includes executing HTTP requests, analyzing responses, and evaluating performance. The subject of the study is the performance of JavaScript (Node.js), Python, and Java programming languages in the context of API integration testing, with a focus on the average execution time of GET, POST, PUT, and DELETE requests in typical scenarios. The study analyzed the current state of API integration testing, evaluated existing tools such as Postman, RESTest and axios, requests, RestTemplate libraries, and identified gaps in the literature on the comparative analysis of programming languages. A testbed and integration scripts were developed to provide standardized testing of 15 endpoints with 10 repetitions for each language. The data obtained allowed us to evaluate performance: Java showed the highest speed (37.83 ms for GET), Node.js proved to be effective for asynchronous scenarios (54.21 ms), and Python, despite its simplicity, had lower performance (57.16 ms). The novelty of the study lies in the creation of a structured methodology for comparative analysis of the performance of programming languages, which for the first time takes into account different types of HTTP requests and usage scenarios, including synchronous and asynchronous operations, with accurate measurement of execution time down to milliseconds. The practical significance of the results is to provide developers and IT companies with a tool for choosing the optimal programming language depending on project requirements, which helps to reduce development time, improve API quality, and enhance user experience. Recommendations based on the performance rating can be applied in Ukrainian IT companies to create highly efficient web applications, in particular in financial and medical systems.
Research of API integration testing across different programming languages
Keywords: 6.122.00.00; INTEGRATION TESTING; API; PERFORMANCE; PROGRAMMING LANGUAGES; HTTP REQUESTS; AUTOMATION; JAVA; JAVASCRIPT; PYTHON; RECOMMENDATIONS; TESTBED