10 декабря 2020

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Автор статей и контент менеджер со стажем на фрилансе более 8 лет. Есть профильное ИТ образование, в 2014 окончила ДонГТУ по направлению "Специализированные компьютерные системы". Потому пишу технические тексты с кайфом, толком, расстановкой. В настоящее время тружусь контент менеджером/
При обучении тестировщику стоит освоить API для QA, ведь на реальных проектах часто приходится работать с продуктом без доступа к исходному коду. На примере базовых запросов рассмотрим популярный инструмент Postman, позволяющий делать это даже новичкам.
👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Инженерам QA (Quality Assurance – обеспечение качества) и QC (Quality Control – контроль качества) нередко приходится проверять работу программного обеспечения и веб-сайтов, не имея доступа к программному коду. Для организации работы и безопасности продукта такой подход проще, ведь не нужно настраивать дополнительные доступы для пользователей или отслеживать отсутствие изменений после каждого тестирования. Для упрощения работы тестировщики используют дополнительные инструменты.

Для проверки коммуникации между установленными на разных устройствах системами используют специальный API (Application Programming Interface). При этом обмен информацией между программами осуществляется в обход пользовательского интерфейса, т. е. идёт функциональное тестирование. При помощи API проверяют функции регистрации нового пользователя, точность передачи и удаления данных, а также другие возможности продукта.

Использование Postman

Postman использует протокол HTTP для взаимодействия между серверами. Он доступен как в веб-версии, так и в виде настольного приложения с графическим интерфейсом.

Возможности продукта:

· Создание и отправка запросов

· Изменение параметров запросов.

· Сохранение созданных запросы в коллекции и папках.

· Запуск автоматических тестов на основе коллекций при помощи Collection Runner.

· Изменение окружения для одинаковых запросов.

· Добавление контрольных точек к вызову API.

Создание метода Postman

Стоит отметить, что тестирование при помощи API возможно только при наличии самого API и документации от разработчика. Это позволит точно понимать функции продукта без противостояния инженера QA и программиста на вечную тему: «Это баг!» & «Нет, это фича!».

В статье для начинающих мы рассмотрим ручное тестирование по 4 основным запросам:

· POST – создание ресурса на сервисе, т. е. отправку данных на сервер.

· GET – получение ресурса с сайта.

· PUT – обновление данных на сервере.

· DELETE – удаление ресурса с сайта.

Речь пойдёт об архитектуре REST, часто использующейся для взаимодействия сайтов и приложений. При этом активно применяется JSON (JavaScript Object Notation – текстовый формат обмена данными на языке JavaScript). Практиковать составление запросов можно, используя ресурс reqres.in. Здесь представлены разные Request и ожидаемые результаты (Response). Это и будет тренировочным API с документацией.

При работе с Postman стоит знать о статусах и классах состояний сервера:

Классы состояний сервера
Классы состояний сервера

В примерах рассмотрим статус 200 ОК, который информирует об успешности выполнения операции, т.е. пользователь когда получает ожидаемый результат – страницу с запрашиваемой информацией.

Примеры запросов в Postman для быстрого обучения тестировщика

После запуска в Postman стоит создать папку с коллекцией запросов. Для этого нужно во вкладке Collections нажать на New Collection.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Указываем название коллекции.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Создаем запрос нажатием на Add requests.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

POST

Рассмотрим регистрацию пользователя, поэтому указываем соответствующее название и нажимаем на Save to [Collections name].

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Выбираем POST.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Указываем url тестируемого сайта.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Прописываем название соответствующего API, в данном случае api/register.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Во вкладке Body выбираем raw.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Далее выбираем формат текста JSON.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Нажатием на Send отправляем данные.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

В соответствующем поле видим ожидаемый результат, указанный в документации и статус 200 ОК.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

GET

Выполним запрос на получение данных о созданном пользователе, выбираем GET.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

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

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

PUT

Попробуем обновить данные пользователя, для этого создаём update_user.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Выбраем PUT.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Указываем ссылку с url и API, открываем окно для кода.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Отправляем новые данные.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

В результате указана обновленная информация и время, когда были внесены изменения. Дополнительно успешность операции подтверждает ответ 200 от сервера.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

DELETE

Создаём запрос на удаление пользователя.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Выбираем DELETE.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Указываем полную ссылку на страницу пользователя и отправляем.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Получаем от сервера в ответ статус 204 No Content, информирующий об успешности запроса, но без содержимого, т. е. данные были успешно удалены.

👨‍🔧️ API для QA: учимся тестированию ПО без доступа к коду

Документация, необходимая тестировщику для обучения

Ознакомиться со всеми функциями инструмента можно в документации от разработчиков Postman. В информационном центре представлена инструкция по составлению ручных и автоматизированных запросов, настройке коллекций, использованию cookies, сбору данных, а также по составлению запросов для устранения ошибок и прочее.

***

Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?

Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:

  • Основы программирования на Python.
  • Профессия Python-разработчик.
  • Алгоритмы и структуры данных.
  • Математика для Data Science.
  • Профессия Data Science.
  • Frontend Basic: принцип работы современного веба.
  • Профессия Фронтенд-разработчик.
  • Обработка естественного языка. Полный курс.

На подходе еще больше 10 курсов для взрослых и детей.

Источники

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ