Урок за тестване на API: Какво е автоматизация на тестване на API?
⚡ Умно обобщение
Тестването на API валидира интерфейсите за приложно програмиране, за да гарантира функционалност, надеждност, производителност и сигурност, използвайки извиквания, базирани на код, а не взаимодействия с графичен потребителски интерфейс.

Какво е API тестване?
Тестване на API е тип тестване на софтуер, който валидира интерфейсите за програмиране на приложения (API). Целта на API тестването е да провери функционалността, надеждността, производителността и сигурността на програмните интерфейси. При тестване на API, вместо да използвате стандартни потребителски входове (клавиатура) и изходи, вие използвате софтуер за изпращане на повиквания към API, получаване на изход и записване на отговора на системата. API тестовете са много различни от GUI тестовете и няма да се концентрират върху външния вид и усещането на приложението. Той се концентрира главно върху нивото на бизнес логиката на софтуерната архитектура.
За фон, API (интерфейс за приложно програмиране) е компютърен интерфейс, който позволява комуникация и обмен на данни между две отделни софтуерни системи. Софтуерна система, която изпълнява API, включва няколко функции/подпрограми, които друга софтуерна система може да изпълнява. API дефинира заявки, които могат да се правят, как да се правят заявки, формати на данни, които могат да се използват и т.н., между две софтуерни системи.
Настройка на среда за автоматизиране на тестване на API
Автоматизираното тестване на API изисква приложение, с което може да се взаимодейства чрез API. За да тествате API, ще ви е необходимо:
- Използвайте инструмент за тестване, за да управлявате API
- Напишете свой собствен код, за да тествате API
Няколко точки, които трябва да се отбележат:
- API тестването се различава от другите видове тестване, тъй като не е наличен графичен потребителски интерфейс и трябва да настроите среда, която извиква API с необходимите параметри и след това разглежда резултатите от теста.
- Създаването на тестова среда за автоматизирано тестване на API изглежда малко сложно.
- Базата данни и сървърът трябва да бъдат конфигурирани според изискванията на приложението.
- След като инсталацията приключи, трябва да се извика API функцията, за да се провери дали API работи.
Видове изходни данни на API
Резултатът от API може да бъде:
- Всякакъв вид данни
- Състояние (кажи Успешно или Неуспешно)
- Извикайте друга API функция.
Всеки тип данни
Пример: Има API функция, която трябва да добавя две цели числа.
Long add(int a, int b)
Числата трябва да бъдат дадени като входни параметри. Резултатът трябва да бъде сбор от две цели числа. Този резултат трябва да бъде проверен с очакван резултат.
add (1234, 5656)
Изключенията трябва да се обработват, ако числото надвишава ограничението за целочислен брой.
Статус (Преминал или Неуспешен)
Разгледайте следните API функции:
- заключване()
- Отключи()
- Изтрий()
Те връщат всякаква стойност, като например True (в случай на успех) или False (в случай на грешка), като изход. По-точно тестов случай ще извика функциите във всеки от скриптовете и по-късно ще провери за промени или в базата данни, или в графичния потребителски интерфейс на приложението.
Извикване на друг API / събитие
В този случай извикваме една от API функциите, която от своя страна ще извика друга функция. Например – първата API функция може да се използва за изтриване на определен запис в таблицата, а тази функция от своя страна извиква друга функция за ОБНОВЯВАНЕ на базата данни.
Тестови случаи за API тестване
Тестовите случаи на API тестване са базирани на:
- Върната стойност въз основа на входно условие: сравнително лесно е за тестване, тъй като входът може да бъде дефиниран и резултатите могат да бъдат удостоверени
- Не връща нищо: Когато няма върната стойност, трябва да се провери поведението на API в системата
- Задействайте друг API/събитие/прекъсване: Ако изход на API задейства някакво събитие или прекъсване, тогава тези събития и слушатели на прекъсвания трябва да бъдат tracKED
- Актуализиране на структурата на данните: Актуализирането на структурата на данните ще има някакъв резултат или ефект върху системата и това трябва да бъде удостоверено
- Променете определени ресурси: Ако извикването на API променя някои ресурси, то трябва да бъде валидирано чрез достъп до съответните ресурси
Подход за тестване на API
Подходът за API тестване е предварително дефинирана стратегия или метод, който екипът по контрол на качеството ще приложи, за да проведе API тестване, след като компилацията е готова. Това тестване не включва изходния код. Подходът за API тестване помага за по-добро разбиране на функционалностите, техниките за тестване, входните параметри и изпълнението на тестови случаи.
Следните точки помагат за насочване на подхода за тестване на API:
- Разбиране на функционалността на програмата API и ясно дефиниране на обхвата на програмата
- Приложете техники за тестване като класове за еквивалентност, анализ на гранични стойности и отгатване на грешки и напишете тестови случаи за API
- Входните параметри за API трябва да бъдат планирани и дефинирани по подходящ начин
- Изпълнете тестовите случаи и сравнете очакваните и действителните резултати.
Как да тествате API
Тестването на автоматизирани API трябва да обхваща поне следните методи за тестване, освен обичайния SDLC процес:
- Тестване за откриване: Тестовата група трябва ръчно да изпълни набора от извиквания, документирани в API, като проверка дали конкретен ресурс, изложен от API, може да бъде изброен, създаден и изтрит според случая
- Тест за използваемост: Това тестване проверява дали API е функционален и удобен за потребителя. И дали API се интегрира добре и с друга платформа
- Тестване на сигурността: Това тестване включва какъв тип удостоверяване се изисква и дали чувствителните данни са криптирани през HTTP или и двете
- Автоматизирано тестване: Тестването на API трябва да завърши със създаването на набор от скриптове или инструмент, който може да се използва за редовно изпълнение на API
- Документация: Тестовият екип трябва да се увери, че документацията е адекватна и предоставя достатъчно информация за взаимодействие с API. Документацията трябва да бъде част от крайния резултат
Разлика между API тестване и модулно тестване
| Единично тестване | Тестване на API |
|---|---|
| Разработчиците го изпълняват | Тестерите го изпълняват |
| Тества се отделна функционалност | Функционалността от край до край е тествана |
| Програмистът има достъп до изходния код | Тестерите нямат достъп до изходния код |
| Тестването на потребителския интерфейс също е включено | Тестват се само API функции |
| Тестват се само основните функции | Всички функционални проблеми са тествани |
| Ограничен по обхват | По-широк по обхват |
| Обикновено се изпълняват преди настаняване | Тестово изпълнение след създаването на компилацията |
Най-добри практики за API тестване
- Тестовите случаи на API трябва да бъдат групирани по категория тестове.
- Върху всеки тест трябва да включите декларациите на извикваните API.
- Изборът на параметри трябва да бъде изрично споменат в самия тестов случай.
- Приоритизирайте извикванията на API функции, така че тестерите да могат лесно да тестват.
- Всеки тестов случай трябва да бъде максимално самостоятелен и независим от зависимости.
- Избягвайте „верижно тестване“ във вашата разработка.
- Трябва да се обърне специално внимание при работа с функции за еднократно извикване, като Delete, CloseWindow и др.
- Последователността на обажданията трябва да бъде изпълнена и добре планирана.
- За да осигурите пълно тестово покритие, създайте тестови случаи на API за всички възможни входни комбинации на API.
Видове грешки, които API тестването открива
- Не успява да се справи с условията на грешка грациозно
- Неизползвани знамена
- Липсваща или дублирана функционалност
- Проблеми с надеждността, включително трудности при свързване и получаване на отговор от API
- Въпроси на сигурността
- Проблеми с многопоточност
- Проблеми с производителността, при които времето за реакция на API е много високо
- Неправилни грешки/предупреждение към обаждащия се
- Неправилно обработване на валидни стойности на аргументи
- Данните в отговора не са структурирани правилно (JSON или XML)
Как да направите автоматизация на API тестове
Следните ръководства предоставят подробни ръководства за автоматизиране на API тестването:
- Как да тествате API с БЪДЕТЕ СИГУРНИ
- Как да тествате API с Postman
- Как да тествате API с UFT
Освен това има и други инструменти за API тестване.
Как изкуственият интелект трансформира API тестването
Изкуственият интелект е решаping Тестване на API чрез автоматизиране на ръчни задачи. Алгоритмите за машинно обучение могат да анализират API спецификации, да генерират тестови случаи и да идентифицират крайни случаи, които човешките тестери биха могли да пропуснат.
Изкуственият интелект също така подобрява тестването за сигурност чрез откриване на уязвимости. Изкуственият интелект обаче трябва да допълва, а не да замества човешкия опит, тъй като QA инженерите носят знания в областта, които изкуственият интелект не може да възпроизведе.
Предизвикателства на API тестването
- Основните предизвикателства при тестването на уеб API са комбинирането на параметри, изборът на параметри и последователността на извикванията.
- Няма наличен графичен потребителски интерфейс за тестване на приложението, което затруднява задаването на входни стойности.
- Валидирането и проверката на резултата в различна система е малко трудна за тестерите.
- Изборът и категоризацията на параметрите трябва да бъдат известни на тестерите.
- Функцията за обработка на изключения трябва да бъде тествана.
- Познанията по кодиране са необходими за тестерите.
Заключение
API се състои от набор от класове/функции/процедури, представляващи слоя бизнес логика. Ако API не е тестван правилно, това може да причини проблеми не само в приложението API, но и в извикващото приложение. Това е незаменим тест в софтуерното инженерство.



