👨🔧️ API для QA: учимся тестированию ПО без доступа к коду
При обучении тестировщику стоит освоить API для QA, ведь на реальных проектах часто приходится работать с продуктом без доступа к исходному коду. На примере базовых запросов рассмотрим популярный инструмент Postman, позволяющий делать это даже новичкам.
Инженерам QA (Quality Assurance – обеспечение качества) и QC (Quality Control – контроль качества) нередко приходится проверять работу программного обеспечения и веб-сайтов, не имея доступа к программному коду. Для организации работы и безопасности продукта такой подход проще, ведь не нужно настраивать дополнительные доступы для пользователей или отслеживать отсутствие изменений после каждого тестирования. Для упрощения работы тестировщики используют дополнительные инструменты.
Использование 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.
Указываем название коллекции.
Создаем запрос нажатием на Add requests.
POST
Рассмотрим регистрацию пользователя, поэтому указываем соответствующее название и нажимаем на Save to [Collections name].
Выбираем POST.
Указываем url тестируемого сайта.
Прописываем название соответствующего API, в данном случае api/register.
Во вкладке Body выбираем raw.
Далее выбираем формат текста JSON.
Нажатием на Send отправляем данные.
В соответствующем поле видим ожидаемый результат, указанный в документации и статус 200 ОК.
GET
Выполним запрос на получение данных о созданном пользователе, выбираем GET.
Указываем ссылку на API и после отправления смотрим на полученный результат, соответствующий ожидаемому.
PUT
Попробуем обновить данные пользователя, для этого создаём update_user.
Выбраем PUT.
Указываем ссылку с url и API, открываем окно для кода.
Отправляем новые данные.
В результате указана обновленная информация и время, когда были внесены изменения. Дополнительно успешность операции подтверждает ответ 200 от сервера.
DELETE
Создаём запрос на удаление пользователя.
Выбираем DELETE.
Указываем полную ссылку на страницу пользователя и отправляем.
Получаем от сервера в ответ статус 204 No Content, информирующий об успешности запроса, но без содержимого, т. е. данные были успешно удалены.
Документация, необходимая тестировщику для обучения
Ознакомиться со всеми функциями инструмента можно в документации от разработчиков Postman. В информационном центре представлена инструкция по составлению ручных и автоматизированных запросов, настройке коллекций, использованию cookies, сбору данных, а также по составлению запросов для устранения ошибок и прочее.
Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?
Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:
- Основы программирования на Python.
- Профессия Python-разработчик.
- Алгоритмы и структуры данных.
- Математика для Data Science.
- Профессия Data Science.
- Frontend Basic: принцип работы современного веба.
- Профессия Фронтенд-разработчик.
- Обработка естественного языка. Полный курс.
На подходе еще больше 10 курсов для взрослых и детей.