Урок за API тестване: Какво е автоматизация на API тестове? Как да тествате

Съдържание:

Anonim

Преди да отидем на урок за тестване на API, нека първо разберем

Какво е API?

API (Application Programming Interface) е изчислителен интерфейс, който позволява комуникация и обмен на данни между две отделни софтуерни системи. Софтуерната система, която изпълнява API, включва няколко функции / подпрограми, които друга софтуерна система може да изпълнява. API определя заявки, които могат да бъдат направени, как да се правят заявки, формати на данни, които могат да се използват и т.н. между две софтуерни системи.

Какво е API тестване?

API TESTING е тип софтуерно тестване, който валидира интерфейси за програмиране на приложения (API). Целта на API Testing е да провери функционалността, надеждността, производителността и сигурността на програмните интерфейси. При API тестване, вместо да използвате стандартни потребителски входове (клавиатура) и изходи, вие използвате софтуер, за да изпращате повиквания към API, да получавате изход и да записвате отговора на системата. API тестовете са много различни от GUI тестовете и няма да се концентрират върху външния вид и усещането на дадено приложение. Основно се концентрира върху бизнес логическия слой на софтуерната архитектура.

API автоматизиране Тестване изисква приложение, което може да се взаимодейства чрез API. За да тествате API, ще трябва

  • Използвайте инструмент за тестване, за да управлявате API
  • Напишете свой собствен код, за да тествате API

В този урок за тестване на API ще научите повече за-

  • Настройка на среда за тестване на API
  • Видове изход на API
  • Тестови случаи за API тестване
  • Подход на API тестване
  • Разлика между API тестване и Unit тестване
  • Как да тествате API
  • Най-добри практики за API тестване
  • Видове грешки, които API Testing открива
  • Как се прави автоматизация на тестови API
  • Предизвикателства на API тестването

Настройка на среда за тестване на API

  • API тестването е различно от другите видове тестване на софтуер, тъй като GUI не е наличен и въпреки това от вас се изисква да настроите първоначалната среда, която извиква API с необходимия набор от параметри и след това накрая проверява резултата от теста.
  • Следователно, създаването на среда за тестване за тестване за автоматизация на API изглежда малко сложно.
  • Базата данни и сървърът трябва да бъдат конфигурирани според изискванията на приложението.
  • След като инсталацията приключи, API функцията трябва да бъде извикана, за да провери дали този API работи.

Видове изход на API

Резултат от API може да бъде

  1. Всеки тип данни
  2. Състояние (да кажем Pass или Fail)
  3. Извикайте друга функция на API.

Нека разгледаме пример за всеки от горните типове в този урок за тестване на API

Всеки тип данни

Пример: Има функция на API, която трябва да добави две цели числа.

Дълго добавяне (int a, int b)

Цифрите трябва да бъдат дадени като входни параметри. Резултатът трябва да бъде сумиране на две цели числа. Този изход трябва да бъде проверен с очакван резултат.

Обаждането трябва да се извърши като

добавяне (1234, 5656)

Изключенията трябва да се обработват, ако броят надвишава целочисленото ограничение.

Състояние (да кажем Pass или Fail)

Помислете за функцията API по-долу -

  1. Ключалка()
  2. Отключване ()
  3. Изтрий()

Те връщат всяка стойност като True (в случай на успех) или false (В случай на грешка) като изход.

По-точен Test Case би бил, може да извиква функциите във всеки от скриптовете и по-късно да проверява за промени или в базата данни, или в GUI на приложението.

Извикване на друг API / събитие

В този случай извикваме една от функциите на API, която от своя страна ще извика друга функция.

Например - Първата функция на API може да се използва за изтриване на определен запис в таблицата и тази функция, от своя страна, извиква друга функция за REFRESH на базата данни.

Тестови случаи за API тестване:

Тестовите случаи на API тестване се основават на

  • Върната стойност въз основа на условието за въвеждане: сравнително лесно е да се тества, тъй като входът може да бъде дефиниран и резултатите могат да бъдат удостоверени
  • Не връща нищо: Когато няма върната стойност, поведение на API в системата, което трябва да се провери
  • Задействайте някакъв друг API / събитие / прекъсване: Ако изходът на API задейства някакво събитие или прекъсване, тогава тези събития и слушатели на прекъсвания трябва да бъдат проследени
  • Актуализиране на структурата на данните: Актуализирането на структурата на данните ще има някакъв резултат или ефект върху системата и това трябва да бъде удостоверено
  • Модифициране на определени ресурси: Ако API извикването модифицира някои ресурси, то трябва да бъде проверено чрез достъп до съответните ресурси

Подход за тестване на API

Подходът за тестване на API е предварително дефинирана стратегия или метод, който екипът на QA ще изпълни, за да проведе API тестването след готовност на компилацията. Това тестване не включва изходния код. Подходът за тестване на API помага да се разберат по-добре функционалностите, техниките за тестване, входните параметри и изпълнението на тестови случаи.

Следните точки помагат на потребителя да направи API тестване подход:

  1. Разбиране на функционалността на програмата API и ясно дефиниране на обхвата на програмата
  2. Прилагайте техники за тестване като класове на еквивалентност, анализ на гранични стойности и отгатване на грешки и запис на тестови случаи за API
  3. Входните параметри за API трябва да бъдат планирани и дефинирани по подходящ начин
  4. Изпълнете тестовите случаи и сравнете очакваните и действителните резултати.

Разлика между API тестване и Unit тестване

Единично тестване API тестване
  • Разработчиците го изпълняват
  • Тестерите го изпълняват
  • Тествана е отделна функционалност
  • Изпробвана е функционалност от край до край
  • Разработчик може да осъществи достъп до изходния код
  • Тестерите нямат достъп до изходния код
  • Включено е и тестване на потребителския интерфейс
  • Тестват се само API функции
  • Тестват се само основни функционалности
  • Всички функционални проблеми са тествани
  • Ограничен по обхват
  • По-широк обхват
  • Обикновено се изпълняваше преди чекиране
  • Ран след създаване на компилация

Как да тествате API

Тестването на API за автоматизация трябва да обхваща поне следните методи за тестване, освен обичайния SDLC процес

  • Тестване на откриването: Тестовата група трябва ръчно да изпълни набора от обаждания, документирани в API, като например проверка, че конкретен ресурс, изложен от API, може да бъде изброен, създаден и изтрит, както е подходящо
  • Тестване на използваемостта: Това тестване проверява дали API е функционален и лесен за употреба. И дали API се интегрира добре и с друга платформа
  • Тестване на сигурността: Това тестване включва какъв тип удостоверяване се изисква и дали чувствителните данни са криптирани през HTTP или и двете
  • Автоматизирано тестване: API тестването трябва да завърши със създаването на набор от скриптове или инструмент, който може да се използва за редовно изпълнение на API
  • Документация: Тестовият екип трябва да се увери, че документацията е адекватна и предоставя достатъчно информация за взаимодействие с API. Документацията трябва да бъде част от окончателния резултат

Най-добри практики за API тестване:

  • API тестовите случаи трябва да бъдат групирани по тестови категории
  • Върху всеки тест трябва да включите декларациите на извикваните API.
  • Изборът на параметри трябва да бъде изрично споменат в самия тестов случай
  • Приоритизирайте извикванията на функциите на API, така че тестерите да могат лесно да тестват
  • Всеки тестов случай трябва да бъде максимално самостоятелен и независим от зависимостите
  • Избягвайте „тестова верига“ в развитието си
  • Трябва да се обърне специално внимание при работа с еднократни функции за повикване като - Delete, CloseWindow и др ...
  • Последователността на разговорите трябва да бъде извършена и добре планирана
  • За да осигурите пълно покритие на теста, създайте API тестови случаи за всички възможни входни комбинации на API.

Видове грешки, които API тестването открива

  • Не се справя елегантно с условията за грешка
  • Неизползвани знамена
  • Липсваща или дублирана функционалност
  • Въпроси за надеждността. Трудност при свързване и получаване на отговор от API.
  • Проблеми със сигурността
  • Проблеми с много нишки
  • Проблеми с производителността. Времето за реакция на API е много високо.
  • Неправилни грешки / предупреждение за повикващия
  • Неправилна обработка на валидни стойности на аргументи
  • Данните за отговора не са структурирани правилно (JSON или XML)

Как се прави автоматизация на тестови API

Следните уроци предоставят подробно ръководство за автоматизиране на API теста.

Как да тествате API с REST Assured

Как да тествате API с Postman

Как да тествате API с UFT

Освен това има и други инструменти за API тестване. Проверете ги тук

Предизвикателства на API тестването

Предизвикателствата на API тестването включва:

  • Основните предизвикателства при тестването на уеб API са комбинация от параметри, избор на параметри и последователност на обажданията
  • Няма наличен графичен интерфейс за тестване на приложението, което затруднява даването на входни стойности
  • Валидирането и проверката на изхода в различна система е малко трудно за тестерите
  • Изборът и категоризацията на параметрите трябва да бъдат известни на тестерите
  • Функцията за обработка на изключения трябва да бъде тествана
  • Знанията за кодиране са необходими за тестерите

Заключение:

API се състои от набор от класове / функции / процедури, които представляват бизнес логическия слой. Ако API не е тестван правилно, това може да причини проблеми не само на приложението на API, но и на приложението, което извиква. Това е незаменим тест в софтуерното инженерство.