Научная статья на тему 'ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТА INSOMNIA ДЛЯ РУЧНОГО ТЕСТИРОВАНИЯ API ПРИЛОЖЕНИЯ'

ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТА INSOMNIA ДЛЯ РУЧНОГО ТЕСТИРОВАНИЯ API ПРИЛОЖЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
179
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ручное тестирование / регулярные выражения / циклы разработки / программирование / insomnia / API / manual testing / regular expressions

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зорин В.Н.

Одним из важнейших этапов в разработке программного обеспечения является контроль качества. Для того, чтобы ПО полностью соответствовало ожиданиям пользователя, важно проводить тестирование не только клиентской части ПО, но и серверной (в том числе api) на предмет наличия ошибок. Для качественного тестирования программного обеспечения необходимо использовать все накопленные знания в области тестирования, в том числе тестирования api части ПО. Для проверки его корректной работы была использована программа Insomnia. Предложенный процесс тестирования api серверной части программного обеспечения является удобным во многих смыслах. Благодаря использованию программы Insomnia тестирование нового функционала удобно и не занимает много времени. Эффективность данной схемы тестирования программного обеспечения проверена экспериментальным путём.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING INSOMNIA TOOL FOR MANUAL TESTING APPLICATION API

One of the most critical stages in software development is quality control. For the software fully meet the user's expectations, it is necessary test for errors not only the client part of the software, but also the server (including the API). For thorough software testing, it is necessary tuse all the prior knowledge and testing methodologies, including testing the API part of the software. Check its correct operation the Insomnia program was used. The proposed process of testing the API of the server part of the software is convenient in many respects. Due the use of the Insomnia program, the process of testing the new functionality proves tbe convenient and time saving. The efficiency of this software testing architecture has been tested experimentally.

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТА INSOMNIA ДЛЯ РУЧНОГО ТЕСТИРОВАНИЯ API ПРИЛОЖЕНИЯ»

УДК 004.054

Зорин В.Н.

Пензенский государственный университет (г. Пенза, Россия)

ИСПОЛЬЗОВАНИЕ ИНСТРУМЕНТА INSOMNIA ДЛЯ РУЧНОГО

ТЕСТИРОВАНИЯ API ПРИЛОЖЕНИЯ

Аннотация: одним из важнейших этапов в разработке программного обеспечения является контроль качества. Для того, чтобы ПО полностью соответствовало ожиданиям пользователя, важно проводить тестирование не только клиентской части ПО, но и серверной (в том числе api) на предмет наличия ошибок. Для качественного тестирования программного обеспечения необходимо использовать все накопленные знания в области тестирования, в том числе тестирования api части ПО. Для проверки его корректной работы была использована программа Insomnia. Предложенный процесс тестирования api серверной части программного обеспечения является удобным во многих смыслах. Благодаря использованию программы Insomnia тестирование нового функционала удобно и не занимает много времени. Эффективность данной схемы тестирования программного обеспечения проверена экспериментальным путём.

Ключевые слова: ручное тестирование, регулярные выражения, циклы разработки, программирование.

Введение.

Тестирование приложения на предмет наличия ошибок является неотъемлемой частью цикла разработки. В список требований, предъявляемых к QA-специалистам, включают навык тестирования API приложений.

API (Application Programming Interface) - программный интерфейс приложений. Чтобы понять принцип его работы, приведём классический пример: клиент и сервер. API в данном случае играет роль посредника между

сервером и клиентом. Благодаря им последний может воспользоваться функциями, реализованными на сервере.

Обращения к API помогают оптимизировать процесс тестирования, а именно сократить время на его проведение, расширить покрытие кейсами, минимизировать зависимость от клиентской части приложения. Кроме того, обращения к серверу напрямую позволяют проверить тестовые случаи, которые невозможно воспроизвести с применением графического интерфейса.

Неправильно выбранный инструмент может привести к увеличению трудоемкости и времени процесса тестирования, а также к увеличению количества багов в приложении.

Для тестирования серверной части периодически используются внешние программы или утилиты. Одна из таких - Insomnia. Именно о тестировании с помощью данной программы пойдёт речь. Поскольку взаимодействие двух приложений между собой происходит через серверную часть, то тесты весьма эффективны с помощью программы Insomnia.

Описание серверной части приложения

Связь между клиентской и серверной частью приложения реализовывается с помощью запросов - структурированной попытки связаться с API. После выбора определённой функции в приложении, клиентская часть отправляет запрос с определённым набором данных на его выполнение в серверную часть.

В тестируемом ПО используется REST API. Это архитектурный стиль сетевого взаимодействия компонентов распределенного приложения. Впервые термин был использован в 2000 году одним из создателей НТТР[1]. Сам REST не является протоколом. Это набор правил того, как разработчику организовать написание кода серверного приложения, чтобы все системы эффективно обменивались данными, и приложение можно было масштабировать.

В стиле REST можно выделить несколько характерных особенностей:

Привязка к методам HP и, соответственно, использование только этого протокола для передачи данных.

Использование различных форматов для передачи данных, таких как JSON, XML, HTML. Наиболее часто используется JSON ввиду его легкости, простоты и читабельности.

Запрос в REST API состоит из следующих частей:

URL: адрес, где расположен сервер и куда отправляются запросы[2],

Тип запроса (Request type): В протоколе HP они делятся на следующие 5

типа:

GET: возвращает данные напрямую из API,

POST: отправляет данные и возвращает ответ после их отправки,

PATCH и PUT: частично меняют запись,

DELETE: удаляет данные, доступные API.

Данные для авторизации: для доступа к данным API требуются логин и пароль. Стоит отметить, что авторизация требуется не для всех тестируемых приложений.

Для тестирования серверной части приложения существует огромное множество различных программ.

Самые популярные из них это программы, которые позволяют отправлять нужный запрос с необходимыми данными на проверяемый сайт. Это такие программы как Postman, Soap UI, Rest Assured. Они все обладают достаточно мощным инструментарием для отправки запросов, однако у них есть такие недостатки, как высокая сложность настройки запросов, ограниченная поддержка протоколов для проверки API и отсутствие возможности генерации кода, позволяющая ускорить процесс тестирования. С учётом данных моментов было принято решение использовать инструмент Insomnia.

Insomnia является программой для тестирования API приложения. Её основное преимущество заключается в поддержке протоколов REST, GraphQL, SOAP и других протоколов API[4]. Кроме того, программа содержит инструменты отладки для упрощения устранения ошибок, а также обладает поддержкой автоматизированных тестов API. На рисунке 1 представлен интерфейс данной программы.

^^ [ за о». [

: » осей К Setup Git Sync

Login Sign Lip

Ho Environment * Cookies

citckta.oddfirst rçquesi.-.

Body ▼ Auth * Query Headers ЕМи

get New Request

Enter a URL and send to get a response

Straw Environment Editor

Select a body type irom above to send dyia in the body of a

Show Keyboard Shortcuts

introduction to Insomnia

О Wrtpi««

M«dflw№ » by «eng

Рис.1. Интерфейс программы Insomnia.

Пример проверки серверной части приложения с помощью Insomina

Для того, чтобы наглядно продемонстрировать преимущество и удобство тестирования данной программы, приведём несколько примеров.

В первом примере рассмотрим проверку запроса создания записи в приложении с использованием технологии WCF (Windows Communication Foundation).

Для этого в Insomnia был создан запрос типа «POST» с названием «Add new film», отвечающий за добавление информации о фильме в базу данных. Отправляемы запрос корректируется с помощью 5 вкладок: «Body», «Auth», «Query», «Headers», «Docs».

Вкладка «Body» отвечает за наполнение запроса различными данными. Поддерживаются такие форматы, как json, xml, yaml. Также имеется возможность создать запрос в формате GraphQL.

Вкладка «Auth» используется для облегчения авторизации на сервере. Поддерживается не только классический способ авторизации с помощью логина и пароля, но и с помощью таких технологий, как Bearer Token, OAuth

(поддерживаются версии 1.0 и 2.0), Microsoft NTLM, а также с помощью API ключа.

Вкладка «Query» схожа по функционалу с вкладкой «Body». Разница заключается в том, что в первом случае данные необходимо прописывать по всем правилам синтаксиса языка запросов, во втором требуется только указание данных, а именно название посылаемой переменной и её значения.

Вкладка «Headers» отвечает за добавление внешних данных для выполнения запроса. Особенно полезно использовать данный инструмент в связке с «Body».

Вкладка «Docs» используется для добавления описания запроса.

В нашем запросе использовалась вкладка «Query», позволяющая изменять данные для отправки на сервер. Были заданы такие параметры, как название фильма (filmName), его описание (filmDescription), год выхода (filmYear) и рейтинг (filmRate). На рисунке 2 представлено тело запроса с применением json, включающее в себя предпросмотр URL и введённых данных.

POST * talServiceWCF/FilmMicroService.svc/json/FilmAddlnfo? Send »

Body » Auth * Query 4 Headers Docs

URL PREVIEW

http://localho5t/FilniPortal.SeruiceWCf/Fil««icroService.sv с/j son/F i1 mAdti Г п f о ?f д 3 uName - ас k&f i ImDe sc r-i pt i

о n=Sc iX20F iX2&f i lw&f ilnYear=19978f ilmSate=7

Add Delete All Toggle Description

filmName Men in Black "OS

film Description Sci Fi film » H ¡3

filmYear 1997 »O®

filmRate 7 » D □

Bulk Edit

Import from URL

Рис. 2. Пример тела запроса для добавления информации о фильме. - 1110 -

После нажатия на кнопку «Send» программа отправляет запрос на сервер. Поскольку данные заданы корректно, то сервер вернёт код 200 и сообщение «Фильм добавлен».

POST * taLServiceWCF/FilmMkroServicesvc/json/FilmAddlnfo? Send * 200 OK 1,86 s 29 B Just Now ▼

8ody » Auth * Query * Headers Does Preview * Headers7 Cookies Timeline

"öHflb« flo6atwieH"

URL PREVIEW

hlrtp: //localhost/FilwPortal. ServicefcJCF/Fili^icroService. sv j c/json/FilMAddlnfo^filMWame^MGnXieinXJeBlackSfibwEtescripti on*-StiX20Fi%20f i lw&f ilüYear-199 7&f ilmRate- 7

Add Delete All Toggle Description

filmName Men in Black »Di

filmDescription Sei Fi fitm G ш

filmYear 1997 * 0 Sü

filmRate 7 "BS

Import from URL Bulk Edit books i • luthor О

Рис. 3. Сообщение об успешном запросе.

Во следующем запросе мы проверим получение списка элементов из базы данных. Для этого мы зададим тип запроса «GET» под названием «Get information about all films». В отличие от запроса создания записи нам не потребуется указание переменных для их отправки на сервер. Вводим соответствующий URL и нажимаем кнопку «Send», результат представлен на рисунке 4.

GET » 2rv¡ceWCF/F¡lmM(CfoService.svc/json/FilmReadAlllrifo?all Send *

Other * Auth » Query Headers 1 Does

200 OK 352 ms 241 В

I Minutes Ago

Headers

Cookies Timeline

{

"FiíaDescription": "Cyberpunk classic", "FilmNaee": "The Matrix",

"Filmftate": 'T, "FibYear"; 1999, "Ifltagelink": null, "id": 1

У ь 10 {

"FilraDescriptiori": "Sei Fi fil«", 12 "Film«ai»e": "Нел in Slack",

"FilraRate": "7", "FilraYear"'; 1997, "InrageLinfc"; "No linage", 16 "id": 2

1? > ia ]

О

Made with * by Kong

Рис. 4. Сообщение об успешном запросе (тип «GET»).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Стоит также отметить, что одной из важных функций Insomnia является поддержка коллекций запросов Postman, Swagger, OpenAPI, cURL, HAR и WSDL. Это бывает очень полезно для того, чтобы в случае технических неполадок быстрее протестировать приложение, особенно в кратчайшие сроки разработки.

Заключение.

В данной статье мы рассмотрели ручное тестирование api серверной части приложения с помощью программы Insomnia. Рассмотрели наиболее популярные архитектуры для разработки серверной части. Выяснили, для чего необходимо тестировать API и почему это является очень важным в процессе тестирования. Рассмотрели популярные инструменты для тестирования API, выделили их недостатки, а также выделили преимущества программы Insomnia. Также привели примеры тестирования в данной программе с учётом её преимуществ.

СПИСОК ЛИТЕРАТУРЫ:

1. Статья «Как выбрать инструмент для тестирования API» [Электронный ресурс] // Портал «Software-Testing.RU». URL: https://www.software-testing.ru/library/testing/testing-tools/3892-simbirsoft (Дата обращения 27.11.2023);

2. Send Your First Request [Электронный ресурс] // Портал «Insomnia Docs by Kong». URL: https://docs.insomnia.rest/insomnia/send-your-first-request (Дата обращения 27.11.2023);

3. Postman и его недостатки [Электронный ресурс] // Портал «Лансофт». URL: https://www.lansoft.by/tpost/dyl5jsigt1-postman-i-ego-nedostatki (Дата обращения 27.11.2023);

4. Статья «7 инструментов для работы с API с бесплатными тарифами» [Электронный ресурс] // Портал «Tproger». URL: https://tproger.ru/articles/7-instrumentov-dlya-raboty-s-api (Дата обращения 27.11.2023)

Zorin V.N.

Penza State University (Penza, Russia)

USING INSOMNIA TOOL FOR MANUAL TESTING APPLICATION API

Abstract: one of the most critical stages in software development is quality control. For the software tfully meet the user's expectations, it is necessary ttest for errors not only the client part of the software, but alsthe server (including the API). For thorough software testing, it is necessary tuse all the prior knowledge and testing methodologies, including testing the API part of the software. Tcheck its correct operation the Insomnia program was used. The proposed process of testing the API of the server part of the software is convenient in many respects. Due tthe use of the Insomnia program, the process of testing the new functionality proves tbe convenient and time saving. The efficiency of this software testing architecture has been tested experimentally.

Keywords: insomnia, API, manual testing, regular expressions.

i Надоели баннеры? Вы всегда можете отключить рекламу.