Go to Top

Автоматизирано тестване на API

APIs или Application Programming Interfaces са връзката между различни системи или слоевете на едно приложение. Повечето приложения стандартно имат три слоя – слой за данни, слой за услуги (API) и презентационен слой (User interface). Частта с API съдържа бизнес логиката на проекта и какви са правилата за взаимодействие между потребителите и услугата, данните или функциите на приложението. Междинната функция на API слоя дава различни възможности за тестване, тъй като няма зависимост от това user interface-ът да е разработен.

Тестването на API има много разновидности, но най-основната част от него е изпращането на заявки (requests) към определена крайна точка (end point) и валидиране/потвърждаване на отговора (response-a). По този начин може да се тества бързината на отговора, сигурността на приложението и правилната работа на функционалностите.

Някои от ползите на API тестването са:

  • По-ранно, навременно тестване – тестовете могат да бъдат разработени веднага след като логиката е изготвена, не е нужно да се изчаква цялото приложение да е завършено. Тестовете помагат за валидирането на данните и коректността на отговорите.
  • По-лесна поддръжка на тестовете – при потребителския интерфейс промените са чести, тъй като той зависи от типа устройство, на който се използва, ориентация на дисплея и други фактори, които налагат честата промяна на тестовите сценарии от софтуерните тестери. Промените по API са доста по-контролирани и не са толкова чести.
  • По-бързо откриване на проблеми – Ако API тест се окаже неуспешен, бързо може да се разбере къде в системата е проблемът.
  • По-бързо и по-добро покритие на функционалностите за тестване – След всеки request отговорът се получава за секунди, това означава, че повече тестове се изпълняват за по-малко време и почти веднага може да бъде установен проблем, ако има такъв.

Примерен тестови сценарий за API може да бъде:
1. Да се направи request към endpoint (https://example.com/api/dogs/breeds/show)
2. Да се верифицират данните от отговора.

В случай, че трябваше да се изпълни същият сценарий чрез използване на UI, стъпките щяха да са много повече и изпълнението би отнело повече време. Например: отваряне на браузър, отваряне на сайт, търсене на страница за кучета, избор на точна порода кучета, разглеждане на кучетата от породата, избор на снимка.

Разработката на тестови сценарии, тестването и автоматизирането им може да бъде извършено чрез използването на готов продукт. Такава платформа е например Postman. Чрез използването на този инструмент може да бъде добавена схема на API-a така, че тестовете да имат източник за сверяване на информацията относно това какви данни може да приема API-a, описание на операциите и как да се взаимодейства с API-a.

Възможно е създаването на тестови сетове, написани на JavaScript, до които целият екип от разработчици и тестери да има достъп за дебъгване. За да не се изпълняват едни и същи тестове, може да се направи параметризация на променливите и при всяко изпълнение на тестовете да бъдат взети различни данни. Тестовите сетове могат да бъдат изпълнявани заедно или поотделно и резултатите от тях да се виждат в реално време.

Чрез Postman или друга платформа за създаване и тестване на API е възможно да се направи интеграция към CI/CD pipeline (последователност от стъпки, чрез които да се достави нова версия на софтуер) и така да бъде осигурено изпълнението на тестовите сценарии веднага след като е доставена нова версия от софтуерните разработчици.

Автор: Ина Бунова

Вижте повече в курса по „Автоматизирано тестване“

 

 

 

 

 

 

Leave a Reply

ЧАСТ ОТ НАШИТЕ ДОВОЛНИ КЛИЕНТИ

референция
референция
референция
референция за проведен компютърен курс
референция за проведен компютърен курс
kurs za obshtinska banka
kurs proveden na obb
референция за проведен компютърен курс
референция
референция за проведен компютърен курс
kurs za allianz
референция
референция за добре проведено компютърно обучение
референция
obuchenie na baumax1
референция
референция
BankThatMatters UCB BG logo Sep2017
ВИЖ ПОВЕЧЕ