Прежде чем перейти к тестированию API, давайте сначала разберемся
Что такое API?
API (Полная форма РИМЕНЕНИЕ Р rogramming Я nterface) позволяет осуществлять связь и обмен данными между двумя отдельными программными системами. Программная система, реализующая API, содержит функции / подпрограммы, которые могут выполняться другой программной системой.
Что такое API-тестирование?
API TESTING — это тип тестирования программного обеспечения, который проверяет интерфейсы прикладного программирования (API). Целью API-тестирования является проверка функциональности, надежности, производительности и безопасности интерфейсов программирования. В тестировании API вместо использования стандартных пользовательских входов (клавиатура) и выходных данных вы используете программное обеспечение для отправки вызовов в API, получения выходных данных и записи ответа системы. Тесты API сильно отличаются от тестов GUI и не будут концентрироваться на внешнем виде приложения. Он в основном концентрируется на уровне бизнес-логики архитектуры программного обеспечения.
Тестирование API требует приложения, которое может взаимодействовать через API. Чтобы протестировать API, вам необходимо
- Используйте инструмент тестирования для управления API
- Напишите свой собственный код для тестирования API
В этом уроке вы узнаете больше о
- Настройка среды тестирования API
- Типы вывода API
- Тестовые случаи для тестирования 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 инициирует какое-либо событие или прерывание, то эти события и прослушиватели прерываний следует отслеживать
- Обновление структуры данных: Обновление структуры данных будет иметь определенный эффект или влияние на систему, и это должно быть аутентифицировано
- Изменить определенные ресурсы: если вызов API изменяет некоторые ресурсы, его следует проверить путем доступа к соответствующим ресурсам.
Подход API тестирования:
Следующие пункты помогают пользователю выполнить тестирование API:
- Понимание функциональности программы API и четкое определение объема программы
- Применяйте методы тестирования, такие как классы эквивалентности, анализ граничных значений и отгадывание ошибок, и пишите контрольные примеры для API
- Входные параметры для API должны быть запланированы и определены соответствующим образом
- Выполните контрольные примеры и сравните ожидаемые и фактические результаты.
Разница между тестированием API и модульным тестированием
Модульное тестирование | Тестирование API |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Как сделать API-тестирование
Тестирование API должно охватывать как минимум следующие методы тестирования помимо обычного процесса SDLC.
- Тестирование на обнаружение: тестовая группа должна вручную выполнить набор вызовов, задокументированных в API, таких как проверка того, что определенный ресурс, предоставляемый API, может быть перечислен, создан и удален соответствующим образом
- Тестирование юзабилити: это тестирование проверяет, является ли API функциональным и удобным для пользователя. И API хорошо интегрируется с другой платформой?
- Тестирование безопасности: это тестирование включает в себя, какой тип аутентификации требуется и зашифрованные конфиденциальные данные по HTTP или оба
- Автоматическое тестирование: тестирование API должно завершиться созданием набора скриптов или инструмента, который можно использовать для регулярного выполнения API
- Документация. Команда тестирования должна убедиться, что документация адекватна и предоставляет достаточно информации для взаимодействия с API. Документация должна быть частью окончательного результата
Лучшие практики тестирования API:
- Тестовые случаи должны быть сгруппированы по тестовым категориям
- В верхней части каждого теста вы должны включать объявления вызываемых API.
- Выбор параметров должен быть явно указан в самом тестовом примере
- Расставьте приоритеты вызовов функций API, чтобы тестировщикам было легко тестировать
- Каждый тестовый пример должен быть как можно более независимым и независимым от зависимостей.
- Избегайте «цепочки тестов» в вашей разработке
- Особое внимание следует уделить обработке одноразовых функций вызова, таких как — Delete, CloseWindow и т. Д.
- Последовательность вызовов должна быть выполнена и хорошо спланирована
-
Чтобы обеспечить полное покрытие тестами, создайте тестовые случаи для всех возможных входных комбинаций API.
Типы ошибок, которые обнаруживает тестирование API
- Не в состоянии корректно обработать ошибки
- Неиспользованные флаги
- Отсутствует или дублируется функционал
- Вопросы надежности. Сложность подключения и получения ответа от API.
- Проблемы с безопасностью
- Проблемы многопоточности
- Проблемы с производительностью. Время отклика API очень велико.
- Неправильные ошибки / предупреждение звонящему
- Неправильная обработка допустимых значений аргумента
- Данные ответа не структурированы правильно (JSON или XML)
Инструменты для тестирования API
Поскольку API и модульное тестирование являются целевым исходным кодом, для их автоматизации могут использоваться инструменты / инфраструктуры.
- Runscope
- Почтальон
- Curl
- Cfix
- Проверьте
- CTESK
- dotTEST
- Eclipse SDK tool — Автоматическое тестирование API
Ознакомьтесь с топ- списком инструментов тестирования API
Проблемы тестирования API
Проблемы тестирования API включают в себя:
- Основные проблемы в тестировании веб-API — это сочетание параметров, выбор параметров и последовательность вызовов.
- Для тестирования приложения нет графического интерфейса, который затрудняет ввод значений
- Проверка и проверка выходных данных в другой системе немного сложнее для тестировщиков.
- Выбор параметров и классификация должны быть известны тестерам
- Функция обработки исключений должна быть протестирована
- Знание кодирования необходимо для тестировщиков
Вывод:
API состоит из набора классов / функций / процедур, которые представляют уровень бизнес-логики. Если API не протестирован должным образом, это может вызвать проблемы не только в приложении API, но и в вызывающем приложении. Это обязательный тест в разработке программного обеспечения.