Основы HTTP для начинающего тестировщика

Это прям база-база, которая вроде всем очевидная, но бывают возникают вопросики. Попробую разложить самую необходимую базу, по моему мнению, которую нужно знать QA инженеру.

Перед тем, как прочтёшь статью - поддержи её❣

Входим на страницу браузера, жмём F12 и привет запросики во вкладке Network. Что это тема и с чем ее едят?

Там много различных запросов в зависимости от того, что хочет вам передать сервер. А что он вам передаст? Да все, что нужно от картинок, кнопок до нужного функционала заложенным бизнес логикой, иначе будет ошибка в запросе (статус 40*, например 404 - запрошенный ресурс отсутствует).

Для тестирования нас в основном будут интересовать Fetch запросы и XHR. Расшифровка у них простая это все запросы, только фетч это улучшенные запросы. Выбираем вкладку Fetch/XHR.

Запросы отсортировались на нужные нам. И чтобы мы не сделали в UI (пользовательский интерфейс), то мы получим запросы. Вот они дотечки!!!

Выбирай любой и Вот тот самый запрос, который состоит из заголовка(headers), запроса и ответа. Есть и другие вкладки, но об этом потом.

Заголовок состоит из:

- url,

- метода запроса,

- статус,

- версия HTTP,

- удаленный адрес,

- заголовки ответа с разными параметрами, который бэк задаёт на сервере и ещё иногда бывает тело запроса.

Нас волнуют только первые три пункта и конечно ответы и запросы.

URL состоит из:

- схемы(Scheme), а бывают их два вида http и https,

- далее идёт host на котором находится сервер,

- потом fail name. Обычно это тело создаётся на стороне сервера, то есть это бэк часть, где заданием запрос на определенный файл, например на html файл регистрации.

Пример из файла для работы сервера. Создался запрос на нужный файл, который открывается при клике.

Итог запроса:

пример…http://youcool.com/api/register

Далее про статусы и методы.

Про статусы скажу основное, что наш основной друг это 200-й запрос. Остальное необходимо смотреть по факту и разбираться/гуглить.

Про методы нужно знать несколько основных:

- GET (получение ресурса),

- POST (создание ресурса…при чем этим методом можно добавлять и даже удалять записи😂…ну это как договорятся разрабы),

- PUT (обновление ресурса…бывает вообще не используется и вместо него используется метод PATCH),

- DELETE (удаление ресурса)

Про ответы и запросы.

Тут долгая история…

Рекомендую гуглить, либо потом могу рассказать более детально. Напишите об этом в комментариях, если интересно.

Главное нужно знать, что запрос(request) идёт от фронтенд, а ответ(response) от бэкенда.

Понимания для старта эти моменты вы сможете тестировать базовые вещи и понимать от куда ошибки с фронта или бэка. Но конечно…Я ещё многое не рассказал, но об этом потом.

Что ещё вам было б интересно узнать или уточнить? Напишите в комментариях.

Василий Волгин - QA инженер
0
2 комментария
Сергей Коновалов

Для get принципиальный момент - кеширование запроса, а следовательно и ответа. Т.е. подразумевается, что повторный вызов вернёт тот-же результат. И это решаемо, если сразу иметь в виду.

Ответить
Развернуть ветку
Василий Волгин
Автор

🧐ну да) лайк вам))) и лайк статье😉

Ответить
Развернуть ветку
-1 комментариев
Раскрывать всегда