October 17, 2020

Что и как тестировать

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


Валидация входных данных (отрицательное тестирование)

После тестирования на ожидаемый результат сначала попробуйте разные значения в запросе:

  • Представьте случайный текст в поле данных и проверьте ответ.
    Неожиданная ошибка?
    Может ли веб-сервис справиться с неудачной попыткой?
  • Отправьте запрос с отсутствующими обязательными полями или слишком большим количеством

Аутентификация


Как API обрабатывает запросы, когда вы не авторизованы корректно? Есть ли неожиданная ошибка или даже вывод стека?


Убедитесь, что API обновляет структуры данных

  • При POST-данных и проверке обновленных данных (в соответствующем GET-запросе или ответном сообщении):
    Прошел ли весь ввод?
    Что-то усечено или отсутствует?
  • После удаления ресурса убедитесь, что он больше не существует и был должным образом удален.

Проверить все ограничения

Многие действия разрешается выполнять только один раз. Убедитесь, что ограничения не могут быть обойдены, и что ничего не нарушается.
Например:

  • Обычно в интернет-магазине можно отметить только один активный адрес доставки.
  • Окончательное завершение заказа возможно только один раз

Производительность (если разрешено)

Если клиент не запрещает тестирование производительности, вы можете протестировать:

  • Что происходит, когда вы посылаете один и тот же запрос несколько раз за короткий промежуток времени, особенно большие запросы
  • Другие запросы, связанные с производительностью

Работает ли API в соответствии со спецификацией

Убедитесь в документации API, что все запросы работают в указанном порядке.