Forwarded from Оповещения по курсам от protestinginfo
Отзывы по курсам gRPC API или GraphQL API. Благодарю за прохождение курсов и достичь своих целей.
Коллеги, предлагаю к нам присоединиться.
Коллеги, предлагаю к нам присоединиться.
50🔥8❤1👍1
📚 ProTestingInfo 🔷 Канал по тестированию 📚
Полезная подборка по брокерам сообщений от @protestinginfo: Новые материалы: - Apache Kafka для QA инженера - Знакомимся с Apache Kafka. Основы - применение Kafka для асинхронного взаимодействия и фоновых задач 🆓Читать статьи / посты: 📚 Особенности тестирования…
Добавила в подборку по брокерам сообщений
Новые материалы:
- Apache Kafka для QA инженера
- Знакомимся с Apache Kafka. Основы
- Применение Kafka для асинхронного взаимодействия и фоновых задач
Новые материалы:
- Apache Kafka для QA инженера
- Знакомимся с Apache Kafka. Основы
- Применение Kafka для асинхронного взаимодействия и фоновых задач
Telegram
📚 ProTestingInfo 🔷 Канал по тестированию 📚
Полезная подборка по брокерам сообщений от @protestinginfo:
Новые материалы:
- Apache Kafka для QA инженера
- применение Kafka для асинхронного взаимодействия и фоновых задач
🆓Читать статьи / посты:
📚Особенности тестирования с брокерами сообщений по моему…
Новые материалы:
- Apache Kafka для QA инженера
- применение Kafka для асинхронного взаимодействия и фоновых задач
🆓Читать статьи / посты:
📚Особенности тестирования с брокерами сообщений по моему…
101❤10👍9❤🔥2🆒1
📚 ProTestingInfo 🔷 Канал по тестированию 📚
https://postmanpptx-gcjgsd4.gamma.site/ (возможен VPN)
4 способа авторизации, которые обязан знать каждый QA 🔐
Basic Auth, API Key, Bearer Token и OAuth 2.0 звучит знакомо, но путаешься, где какой? Разберём чётко и кратко 👇
🌐Basic Auth
🔓 Базовая авторизация через логин и пароль
Клиент объединяет логин и пароль (логин:пароль), кодирует их в base64 и отправляет в каждом запросе через заголовок Authorization.
Как работает:
1️⃣ Пользователь вводит логин и пароль
2️⃣ Данные кодируются в base64: username:password
3️⃣ В каждом запросе отправляется: Authorization: Basic YWRtaW46c2VjcmV0=
4️⃣ Сервер декодирует и проверяет учётные данные
🌐API Key
🔑 Уникальный ключ для идентификации приложения
Клиент передаёт статичный ключ в запросе (обычно в заголовке или URL) для идентификации и контроля доступа.
Как работает:
1️⃣ Разработчик получает уникальный ключ от API
2️⃣ Ключ передаётся в каждом запросе: Authorization: Api-Key ХХХ или ?api_key=ХХХ
3️⃣ Сервер проверяет ключ и выдаёт доступ
4️⃣ Можно отозвать или ограничить права ключа
🌐Bearer Token
🎫 Временный токен после аутентификации
После успешного входа сервер выдаёт токен (часто JWT), который клиент отправляет в заголовке Authorization: Bearer для доступа к ресурсам.
Как работает:
1️⃣ Клиент отправляет логин и пароль на /login
2️⃣ Сервер проверяет и выдаёт токен (с временем жизни, например 15 минут)
3️⃣ Клиент отправляет в каждом запросе: Authorization: Bearer eyJhbGc...
4️⃣ Когда токен истекает, клиент запрашивает новый через refresh token
🌐OAuth 2.0
🌐 Протокол делегирования доступа
Позволяет приложению получить временный токен доступа к ресурсам пользователя на другом сервисе без передачи логина и пароля. Используется, когда нужен доступ "от пользователя".
Как работает (Authorization Code Flow):
1️⃣ Клиент редиректит пользователя на авторизационный сервер (например, Google)
2️⃣ Пользователь логинится и даёт согласие на доступ
3️⃣ Авторизационный сервер возвращает authorization code
4️⃣ Клиент обменивает code на access token
5️⃣ Клиент использует access token для доступа к ресурсам
💾 Подписывайся на @protestinginfo , cохрани, поделись с коллегой и готовься к следующему собеседованию!
Какой способ авторизации используешь чаще всего в тестировании? Пиши в комментариях 👇
Basic Auth, API Key, Bearer Token и OAuth 2.0 звучит знакомо, но путаешься, где какой? Разберём чётко и кратко 👇
🌐Basic Auth
🔓 Базовая авторизация через логин и пароль
Клиент объединяет логин и пароль (логин:пароль), кодирует их в base64 и отправляет в каждом запросе через заголовок Authorization.
Как работает:
1️⃣ Пользователь вводит логин и пароль
2️⃣ Данные кодируются в base64: username:password
3️⃣ В каждом запросе отправляется: Authorization: Basic YWRtaW46c2VjcmV0=
4️⃣ Сервер декодирует и проверяет учётные данные
🌐API Key
🔑 Уникальный ключ для идентификации приложения
Клиент передаёт статичный ключ в запросе (обычно в заголовке или URL) для идентификации и контроля доступа.
Как работает:
1️⃣ Разработчик получает уникальный ключ от API
2️⃣ Ключ передаётся в каждом запросе: Authorization: Api-Key ХХХ или ?api_key=ХХХ
3️⃣ Сервер проверяет ключ и выдаёт доступ
4️⃣ Можно отозвать или ограничить права ключа
🌐Bearer Token
🎫 Временный токен после аутентификации
После успешного входа сервер выдаёт токен (часто JWT), который клиент отправляет в заголовке Authorization: Bearer для доступа к ресурсам.
Как работает:
1️⃣ Клиент отправляет логин и пароль на /login
2️⃣ Сервер проверяет и выдаёт токен (с временем жизни, например 15 минут)
3️⃣ Клиент отправляет в каждом запросе: Authorization: Bearer eyJhbGc...
4️⃣ Когда токен истекает, клиент запрашивает новый через refresh token
🌐OAuth 2.0
🌐 Протокол делегирования доступа
Позволяет приложению получить временный токен доступа к ресурсам пользователя на другом сервисе без передачи логина и пароля. Используется, когда нужен доступ "от пользователя".
Как работает (Authorization Code Flow):
1️⃣ Клиент редиректит пользователя на авторизационный сервер (например, Google)
2️⃣ Пользователь логинится и даёт согласие на доступ
3️⃣ Авторизационный сервер возвращает authorization code
4️⃣ Клиент обменивает code на access token
5️⃣ Клиент использует access token для доступа к ресурсам
💾 Подписывайся на @protestinginfo , cохрани, поделись с коллегой и готовься к следующему собеседованию!
Какой способ авторизации используешь чаще всего в тестировании? Пиши в комментариях 👇
217❤🔥25❤14✍5👍3🆒2☃1🤔1
Forwarded from Оповещения по курсам от protestinginfo
Надя, приветствую! :)
Вот и заканчивается для меня доступ к курсу тестирования бэкенда.
Хочу выразить тебе многократную благодарность за продуманный системный подход. Все занятия с самой необходимой теорией и максимумом практики!
Круто, что ты создала этот курс в коллаборации с Валерием Меньшиковым и его проектом.
Поэтому в ходе составления и проведения тестов у меня сложилась целостная картина: как эти проверки учитывают работу микросервисов в рамках единой системы, какие инструменты использовать в связке для получения более точного результата.
Первые 2 месяца курса стали для меня настоящим интенсивом: заданий достаточно много, я старалась сдать на проверку обязательные контрольные в установленный срок.
Благодарю тебя за ценную обратную связь в ходе ревью моей тестовой документации, а также за развернутые ответы на возникшие вопросы.
Ура, после своевременной сдачи контрольных заданий я получила бонусный доступ к практике!
За это время я неоднократно возвращалась к повторным проверкам и лучше освоилась с такими инструментами, как Redis, Kafka.
Отдельное спасибо тебе за модуль по автоматизации тестов в Postman (генерация тестовых данных в Pre-request, извлечение данных из тела ответа сервера и сохранение в переменные для использования в следующих запросах, тестовые прогоны). Очень здорово, что в уроках (не только этого модуля) есть и текстовый материал, и практическое видеозанятие.
В итоге ранее разрозненные знания улеглись в уверенные навыки, которые я активно применяю в своих проектах!
Также признательна тебе за возможность практики с GraphQL и gRPC. Очень здорово пощупать разницу в реализации и сравнить особенности выполнения тестовых запросов для функционала бэкенда, уже такого знакомого по взаимодействию с REST API.
Желаю тебе дальнейших успехов на твоем просветительском пути, энергии и вдохновения для реализации новых задумок !!!
Марина Турбина
Еще один прекрасный отзыв от ученицы.
Следующий поток в феврале 2026г
Форма предзаписи
https://protestinginfo.ru/practice_api_sql#register
Готова направить и помочь.
52❤13👍3🙏3
Media is too big
VIEW IN TELEGRAM
Всем привет!
Подпишись и поделись reels, спасибо
https://www.instagram.com/reel/DRVP17BjPK3/?igsh=dzNydnpub3RpZ25h
Пару кликов, и все изменения в Swagger сразу у тебя в ApiDog.
ApiDog - это платформа для управления API, тестирования и документации.
Автообновление коллекций из Swagger с ApiDog
Предусловие:
Скопировать URL вашего Swagger-документа (например, …/swagger.json).
Заходите в нужный проект в Apidog
Или
1 Создайте проект типа HTTP в ApiDog
2 Нажмите на «+» слева в проекте
3 Выберите пункт «Import» l
4 Нажмите на «Scheduled Import» в окне «Import Data»
5 Нажмите на «+New»
6 Заполните поля в открывшемся окне «Bind Data Sources»
Target branch - Ветка репозитория, из которой подтягивать данные (обычно main).
Module - Модуль или раздел проекта, куда попадёт коллекция.
Import Frequency - Как часто обновлять коллекцию (например, каждые 3 часа).
Source Format - Формат исходных данных (чаще всего OpenAPI/Swagger).
Source Name - Название подключенного источника (для понимания что это за API).
Source URL - Ссылка на Swagger-файл (json/yaml) вашего API.
Runs on - Где будет запускаться обновление (например, локально).
Basic Auth - Включать ли базовую авторизацию для доступа к API (обычно выключено).
Advanced Settings - Дополнительные, но не обязательные настройки.
7 Нажмите «Import now»
С этого момента Apidog будет периодически ходить по этой ссылке и подтягивать изменения в проект.
Используйте обновленную коллекцию в работе
Обновленная коллекция автоматически появится в интерфейсе и доступна для тестирования и документирования.
«по кнопке»
В этом же Scheduled import у источника есть кнопка «Import now», можно не ждать расписания, а руками дёрнуть синк.
После импорта новые и изменённые (или удалённые) ручки и параметры просто выделяются цветом в дереве эндпоинтов, сразу видно, что появилось, пропало или изменилось. Всё актуальное быстро подсвечивается, без лишних сравнений.
Для экспертов: «идёшь в Settings → Import data → Scheduled import, кидаешь ссылку на Swagger, и всё, дальше живёт само».
Теперь вы всегда в курсе, где что поменялось, и не пропускаете ни одного обновления API.
Сохраняйте лайфхак, установите Apidog, используйте инструкцию и делитесь с коллегами, пусть также подпишутся на @protestinginfo
Instagram- запрещенная деятельность на территории РФ
Подпишись и поделись reels, спасибо
https://www.instagram.com/reel/DRVP17BjPK3/?igsh=dzNydnpub3RpZ25h
Пару кликов, и все изменения в Swagger сразу у тебя в ApiDog.
ApiDog - это платформа для управления API, тестирования и документации.
Автообновление коллекций из Swagger с ApiDog
Предусловие:
Скопировать URL вашего Swagger-документа (например, …/swagger.json).
Заходите в нужный проект в Apidog
Или
1 Создайте проект типа HTTP в ApiDog
2 Нажмите на «+» слева в проекте
3 Выберите пункт «Import» l
4 Нажмите на «Scheduled Import» в окне «Import Data»
5 Нажмите на «+New»
6 Заполните поля в открывшемся окне «Bind Data Sources»
Target branch - Ветка репозитория, из которой подтягивать данные (обычно main).
Module - Модуль или раздел проекта, куда попадёт коллекция.
Import Frequency - Как часто обновлять коллекцию (например, каждые 3 часа).
Source Format - Формат исходных данных (чаще всего OpenAPI/Swagger).
Source Name - Название подключенного источника (для понимания что это за API).
Source URL - Ссылка на Swagger-файл (json/yaml) вашего API.
Runs on - Где будет запускаться обновление (например, локально).
Basic Auth - Включать ли базовую авторизацию для доступа к API (обычно выключено).
Advanced Settings - Дополнительные, но не обязательные настройки.
7 Нажмите «Import now»
С этого момента Apidog будет периодически ходить по этой ссылке и подтягивать изменения в проект.
Используйте обновленную коллекцию в работе
Обновленная коллекция автоматически появится в интерфейсе и доступна для тестирования и документирования.
«по кнопке»
В этом же Scheduled import у источника есть кнопка «Import now», можно не ждать расписания, а руками дёрнуть синк.
После импорта новые и изменённые (или удалённые) ручки и параметры просто выделяются цветом в дереве эндпоинтов, сразу видно, что появилось, пропало или изменилось. Всё актуальное быстро подсвечивается, без лишних сравнений.
Для экспертов: «идёшь в Settings → Import data → Scheduled import, кидаешь ссылку на Swagger, и всё, дальше живёт само».
Теперь вы всегда в курсе, где что поменялось, и не пропускаете ни одного обновления API.
Сохраняйте лайфхак, установите Apidog, используйте инструкцию и делитесь с коллегами, пусть также подпишутся на @protestinginfo
Instagram- запрещенная деятельность на территории РФ
103👍9❤3💘3
Media is too big
VIEW IN TELEGRAM
Хочешь пройти собеседование и не попасться на элементарном вопросе? Пойми разницу между localStorage и sessionStorage!
Поделись Reels и подпишись спасибо!
https://www.instagram.com/reel/DRXTRfbDATE/?igsh=c3VtZGkzeXJueXk1
В веб-тестировании часто спрашивают:
LocalStorage хранит данные навсегда, даже после перезагрузки браузера.
SessionStorage хранит данные только до закрытия вкладки.
• В обоих случая получить и сохранить значение можно по методу
• Если пользователь закрыл браузер данные из localStorage останутся, а данные из sessionStorage исчезнут.
• Это важно для тестирования корзин, авторизации, сохранения форм, перепутал тип хранилища, получил возможный дефект.
Вкладка Application предназначена для работы с различными ресурсами и данными веб-приложения, которые хранятся на стороне клиента. С ее помощью можно просматривать и управлять следующими элементами:
Cookies - это информация, которую веб-сайт сохраняет в браузере. Вкладка позволяет просматривать и редактировать куки, видеть их значения, дату истечения и другие атрибуты.
Local Storage и Session Storage это хранилища для данных на стороне клиента. В них можно хранить информацию, которая доступна только в рамках текущего сайта (local storage на постоянной основе, session storage только на время сессии). Вкладка показывает ключи и значения, которые сохраняет сайт.
Основные отличия:
Время хранения данных: Local Storage до явного удаления, Session Storage до закрытия вкладки.
Область действия: Local Storage доступен в разных вкладках одного домена, Session Storage только в одной вкладке.
Cache Storage - кешированные ресурсы, которые используются для работы веб-приложений в автономном режиме (например, данные для PWA веб-приложений).
Если хочешь разбираться в тонкостях тестирования и быть готовым к любым вопросам на собеседовании:
Сохраняй этот пост, подписывайся и делись с коллегами!
Готовься к собеседованию вместе с нами.
Instagram- запрещенная деятельность на территории РФ
Поделись Reels и подпишись спасибо!
https://www.instagram.com/reel/DRXTRfbDATE/?igsh=c3VtZGkzeXJueXk1
В веб-тестировании часто спрашивают:
LocalStorage хранит данные навсегда, даже после перезагрузки браузера.
SessionStorage хранит данные только до закрытия вкладки.
• В обоих случая получить и сохранить значение можно по методу
setItem() и getItem().• Если пользователь закрыл браузер данные из localStorage останутся, а данные из sessionStorage исчезнут.
• Это важно для тестирования корзин, авторизации, сохранения форм, перепутал тип хранилища, получил возможный дефект.
Вкладка Application предназначена для работы с различными ресурсами и данными веб-приложения, которые хранятся на стороне клиента. С ее помощью можно просматривать и управлять следующими элементами:
Cookies - это информация, которую веб-сайт сохраняет в браузере. Вкладка позволяет просматривать и редактировать куки, видеть их значения, дату истечения и другие атрибуты.
Local Storage и Session Storage это хранилища для данных на стороне клиента. В них можно хранить информацию, которая доступна только в рамках текущего сайта (local storage на постоянной основе, session storage только на время сессии). Вкладка показывает ключи и значения, которые сохраняет сайт.
Основные отличия:
Время хранения данных: Local Storage до явного удаления, Session Storage до закрытия вкладки.
Область действия: Local Storage доступен в разных вкладках одного домена, Session Storage только в одной вкладке.
Cache Storage - кешированные ресурсы, которые используются для работы веб-приложений в автономном режиме (например, данные для PWA веб-приложений).
Если хочешь разбираться в тонкостях тестирования и быть готовым к любым вопросам на собеседовании:
Сохраняй этот пост, подписывайся и делись с коллегами!
Готовься к собеседованию вместе с нами.
Instagram- запрещенная деятельность на территории РФ
101👍17✍7❤2❤🔥1🆒1
Боишься вопроса «Расскажи про микросервисы» или путаешься в HTTP-методах на собесе?
Мои мини-программы по подготовке к собеседованиям помогают перестать переживать на теории, разобрать тестовые задания и наконец-то чувствовать себя уверенно на интервью.
🎓 Онлайн-вебинары по вопросам с собеседований –
Разберем реальные вопросы, тестовые задания и формулировки ответов так, как их ждут интервьюеры.
👉 Программа и запись здесь: https://coreapp.ai/app/player/course/673a1093e2ef10f35a7d95a5
🧪 Вебинары по API, интеграциям и SQL
Разложим по полочкам API, авторизацию, интеграции, очереди, SQL и DevTools, чтобы технический блок собеса перестал быть лотереей.
👉 Программа и запись здесь: https://coreapp.ai/app/player/course/691f421ee93b12ef2f3aad60
💻 Практика REST API + SQL –
Мини-симуляция работы: реальные задания, Postman, Swagger, DBeaver, проверка задач и подготовка к тестовым, которые дают на собеседованиях.
👉 Программа и запись здесь: https://coreapp.ai/app/player/course/691f4b2a831da45a4b636a3c
⚡️ Программы не с нуля: идеально, если ты уже учишься/работаешь и хочешь закрыть пробелы, чтобы спокойно проходить собеседования.
Если сомневаешься, какая программа подойдет – напиши «СОБЕС» в личку, помогу выбрать
Главная страница школы: https://coreapp.ai/app/showcase/638525fe5eadbe980aa42026
Вопросы: @nadin_qa
Не используйте Outlook и iCloud - письма туда не доходят.
реклама
Дудник Н.В.
ИНН 553902921314
erid 2VtzquYAMKX
Мои мини-программы по подготовке к собеседованиям помогают перестать переживать на теории, разобрать тестовые задания и наконец-то чувствовать себя уверенно на интервью.
🎓 Онлайн-вебинары по вопросам с собеседований –
Разберем реальные вопросы, тестовые задания и формулировки ответов так, как их ждут интервьюеры.
👉 Программа и запись здесь: https://coreapp.ai/app/player/course/673a1093e2ef10f35a7d95a5
🧪 Вебинары по API, интеграциям и SQL
Разложим по полочкам API, авторизацию, интеграции, очереди, SQL и DevTools, чтобы технический блок собеса перестал быть лотереей.
👉 Программа и запись здесь: https://coreapp.ai/app/player/course/691f421ee93b12ef2f3aad60
💻 Практика REST API + SQL –
Мини-симуляция работы: реальные задания, Postman, Swagger, DBeaver, проверка задач и подготовка к тестовым, которые дают на собеседованиях.
👉 Программа и запись здесь: https://coreapp.ai/app/player/course/691f4b2a831da45a4b636a3c
⚡️ Программы не с нуля: идеально, если ты уже учишься/работаешь и хочешь закрыть пробелы, чтобы спокойно проходить собеседования.
Если сомневаешься, какая программа подойдет – напиши «СОБЕС» в личку, помогу выбрать
Главная страница школы: https://coreapp.ai/app/showcase/638525fe5eadbe980aa42026
Вопросы: @nadin_qa
Не используйте Outlook и iCloud - письма туда не доходят.
реклама
Дудник Н.В.
ИНН 553902921314
erid 2VtzquYAMKX
coreapp.ai
Онлайн-вебинары, связанные с разбором вопросов на собеседованиях
Для подготовки на собеседования на позицию "Инженера по тестированию ПО".
100❤7👍2🆒1
Чтобы понять формат вебинаров, можно посмотреть пример вебинара:
👉 https://kinescope.io/aRcCf6CQHqM2yr7tyvf7qe
Каждый месяц будет новый вебинар.
Готовимся к собеседованиям вместе!
Подробнее про условия МИНИ-ПРОГРАММ В ПОСТЕ https://news.1rj.ru/str/protestinginfo/4759
ВОПРОСЫ @nadin_qa
👉 https://kinescope.io/aRcCf6CQHqM2yr7tyvf7qe
Каждый месяц будет новый вебинар.
Готовимся к собеседованиям вместе!
Подробнее про условия МИНИ-ПРОГРАММ В ПОСТЕ https://news.1rj.ru/str/protestinginfo/4759
🎓 Онлайн-вебинары по вопросам с собеседований
🔗 https://coreapp.ai/app/player/course/673a1093e2ef10f35a7d95a5
Описание курса:
Эта программа помогает научиться отвечать на частые и сложные вопросы, разбираться в тестовых заданиях и уверенно говорить о рабочих процессах.. Ты увидишь, что спрашивают реально и как правильно формулировать ответы.
🧪 Вебинары по API, интеграциям и SQL
4990 ₽
🔗 https://coreapp.ai/app/player/course/691f421ee93b12ef2f3aad60
Описание курса:
Программа для тех, кто хочет разобраться в технической части интервью: API, интеграциях, последовательностях, кешировании, куках, SQL, взаимодействии сервисов
Для тех, кто хочет уверенно отвечать на технические вопросы: API, БД, интеграции, очереди, DevTools.
💻 Практика REST API + SQL
🔗 https://coreapp.ai/app/player/course/691f4b2a831da45a4b636a3c
Описание курса:
Эта программа - мини-симуляция реальной работы. Здесь ты выполняешь задания, работаешь в настоящих инструментах Postman, Swagger и DBeaver, получаешь проверку задач и полностью готовишься к тестовым заданиям, которые дают на собеседованиях, получаешь проверку задач и уверенность перед собеседованием.
ВОПРОСЫ @nadin_qa
Kinescope
Разбор ситуационных вопросов на собеседованиях
Watch “Разбор ситуационных вопросов на собеседованиях” powered by Kinescope, the ecosystem of video solutions for business of any size.
50🔥4❤3👌1😘1
Пост в нельзяграме
С малышами😄
То, что для собеса актуально!
Готовимся к собеседованиям вместе с @protestinginfo
Способы взаимодействия с API
🌐 REST API
Стандартизированный архитектурный стиль для работы с web-сервисами через HTTP-запросы (GET, POST, PUT, DELETE). Позволяет тестировать обмен структурированными данными (JSON, XML) между клиентом и сервером, удобно интегрируется с инструментами вроде Postman.
🌐 SOAP API
Протокол обмена сообщениями, построенный на XML. Отличается строгой структурой и надежностью, часто используется в “корпоративных” системах. Требует особых инструментов тестирования и обработки сообщений с множеством параметров.
🌐 gRPC API
Высокопроизводительный протокол, разработанный Google. Использует эффективный формат сериализации Protocol Buffers и подходит для взаимодействия микросервисов и backend-систем. Позволяет быстро тестировать и масштабировать систему.
🌐 GraphQL API
Это гибкий язык запросов, возвращающий только нужные данные. Тестировщик может запросить именно ту структуру данных, которая необходима для проверки, что облегчает анализ и оптимизацию тестов в проектах с большими объемами информации.
🌐 WebSocket API
Протокол для постоянного, двунаправленного обмена данными между клиентом и сервером в реальном времени. Важен для тестирования чатов, торговых систем, онлайн-игр и всех решений, где нужна мгновенная реакция на события.
Подпишись, сохрани и расскажи, какой API интересен больше всего!?
Делись с коллегой, кто готовится к собеседованию!
С малышами😄
То, что для собеса актуально!
Готовимся к собеседованиям вместе с @protestinginfo
Способы взаимодействия с API
🌐 REST API
Стандартизированный архитектурный стиль для работы с web-сервисами через HTTP-запросы (GET, POST, PUT, DELETE). Позволяет тестировать обмен структурированными данными (JSON, XML) между клиентом и сервером, удобно интегрируется с инструментами вроде Postman.
🌐 SOAP API
Протокол обмена сообщениями, построенный на XML. Отличается строгой структурой и надежностью, часто используется в “корпоративных” системах. Требует особых инструментов тестирования и обработки сообщений с множеством параметров.
🌐 gRPC API
Высокопроизводительный протокол, разработанный Google. Использует эффективный формат сериализации Protocol Buffers и подходит для взаимодействия микросервисов и backend-систем. Позволяет быстро тестировать и масштабировать систему.
🌐 GraphQL API
Это гибкий язык запросов, возвращающий только нужные данные. Тестировщик может запросить именно ту структуру данных, которая необходима для проверки, что облегчает анализ и оптимизацию тестов в проектах с большими объемами информации.
🌐 WebSocket API
Протокол для постоянного, двунаправленного обмена данными между клиентом и сервером в реальном времени. Важен для тестирования чатов, торговых систем, онлайн-игр и всех решений, где нужна мгновенная реакция на события.
Подпишись, сохрани и расскажи, какой API интересен больше всего!?
Делись с коллегой, кто готовится к собеседованию!
305❤17👍9🆒2😁1
Пост в нельзяграме
Поддержите подпиской, реакцией, репостом, делитесь с коллегами, спасибо большое!🫶
Разбор частого вопроса на собеседовании:
Синхронное общение:
Это когда одна программа сразу ждет ответа от другой.
Пример: вы запрашиваете данные у сайта и ждете, пока он их вам вернет.
Пока ответ не будет получен, клиент не может делать другие задачи.
Асинхронное общение:
Это когда программа отправляет запрос и не ждет ответа сразу. Она продолжает работать и может получить ответ позже.
Пример: отправка сообщения другу в мессенджере, вы не ждете ответа мгновенно.
То есть Клиент в момент обработки запроса может делать другие задачи. Как только обработка запроса на сервере будет завершена, то клиент должен получить информацию об этом:
Клиент сам периодически будет опрашивать сервер о готовности задачи.
Сервер сам сообщит клиенту о завершении выполнения задачи.
Использование:
Синхронное общение - это когда ты отправляешь запрос и ждёшь ответа. REST-запросы, GraphQL-запросы (query/mutation), gRPC unary-вызовы, большинство SOAP-сервисов - всё это работает по принципу «запрос–ответ»: клиент стоит на месте, пока сервер не вернёт результат.
Асинхронное общение - это когда ты отправляешь запрос и идёшь дальше, не дожидаясь моментального ответа. WebSocket, GraphQL - Subnoscriptions, gRPC - потоки, Kafka, Webhook, SSE, long polling: здесь сервер сам пушит события, клиент получает обновления позже, а система живёт по event-driven логике.
Для тестировщика это огромная разница. В синхронном мире проверяешь статусы, таймауты, валидность ответов - всё достаточно предсказуемо. В асинхронном проверяешь сообщения, проверяешь гарантию доставки, порядок событий и то, что система корректно обрабатывает отложенные обновления.
В программе, где есть тема разбора интеграций, будет еще больше разборов вопросов на собеседованиях.
Поддержите подпиской, реакцией, репостом, делитесь с коллегами, спасибо большое!
Разбор частого вопроса на собеседовании:
Синхронное общение:
Это когда одна программа сразу ждет ответа от другой.
Пример: вы запрашиваете данные у сайта и ждете, пока он их вам вернет.
Пока ответ не будет получен, клиент не может делать другие задачи.
Асинхронное общение:
Это когда программа отправляет запрос и не ждет ответа сразу. Она продолжает работать и может получить ответ позже.
Пример: отправка сообщения другу в мессенджере, вы не ждете ответа мгновенно.
То есть Клиент в момент обработки запроса может делать другие задачи. Как только обработка запроса на сервере будет завершена, то клиент должен получить информацию об этом:
Клиент сам периодически будет опрашивать сервер о готовности задачи.
Сервер сам сообщит клиенту о завершении выполнения задачи.
Использование:
Синхронное общение - это когда ты отправляешь запрос и ждёшь ответа. REST-запросы, GraphQL-запросы (query/mutation), gRPC unary-вызовы, большинство SOAP-сервисов - всё это работает по принципу «запрос–ответ»: клиент стоит на месте, пока сервер не вернёт результат.
Асинхронное общение - это когда ты отправляешь запрос и идёшь дальше, не дожидаясь моментального ответа. WebSocket, GraphQL - Subnoscriptions, gRPC - потоки, Kafka, Webhook, SSE, long polling: здесь сервер сам пушит события, клиент получает обновления позже, а система живёт по event-driven логике.
Для тестировщика это огромная разница. В синхронном мире проверяешь статусы, таймауты, валидность ответов - всё достаточно предсказуемо. В асинхронном проверяешь сообщения, проверяешь гарантию доставки, порядок событий и то, что система корректно обрабатывает отложенные обновления.
В программе, где есть тема разбора интеграций, будет еще больше разборов вопросов на собеседованиях.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
279👍12🔥6❤5❤🔥1