Вопросы по API и бэкенд для тестировщика
HTTP и REST глазами тестировщика: коды, заголовки, авторизация, Postman и JSON Schema, проверка данных в БД через SQL, очереди, логи и нагрузка. Закрывает техническую часть собеса на QA, где просят протестировать API, а не только кнопку.
Проверьте себя: тест по API-тестированию
20 вопросов, 10 минут, уровень junior, middle или senior
HTTP для тестировщика
Запрос и ответ, методы, безопасность и идемпотентность, URL и параметры, версии HTTP.
Урок: HTTP для тестировщика за 7 минут 7 минКоды ответа
Классы 1xx-5xx, 200/201/204, редиректы, 400/401/403/404/409/422/429 и 5xx: когда какой ждать.
Урок: Коды ответа HTTP за 6 минут 6 минЗаголовки и cookies
Content-Type и Accept, кеширование, ETag, cookies и их флаги, CORS и служебные заголовки.
Урок: Заголовки и cookies за 7 минут 7 минREST и документация API
Ресурсы и методы, пагинация, фильтры, версионирование, OpenAPI и Swagger как источник требований.
Урок: REST и документация API за 6 минут 6 минPostman, Insomnia и curl
Коллекции, окружения и переменные, тест-скрипты, Newman в CI, curl и DevTools, прокси и моки.
Урок: Postman, Insomnia и curl за 7 минут 7 минJSON и JSON Schema
Типы JSON, валидация ответа по схеме, required и additionalProperties, контрактное тестирование.
Урок: JSON и JSON Schema за 6 минут 6 минАвторизация и безопасность API
Basic, Bearer, API-ключи, JWT, OAuth 2.0, 401 против 403, IDOR и OWASP API Top 10.
Урок: Авторизация и безопасность API за 8 минут 8 минТест-кейсы для API
Позитивные и негативные проверки, границы, идемпотентность, повторы, моки и стратегия покрытия.
Урок: Тест-кейсы для API за 7 минут 7 минТестирование БД через SQL
Проверка данных после запроса, дубли, сироты, расхождения сумм, транзакции и тестовые данные.
Урок: Тестирование БД через SQL за 8 минут 8 мин- Отменённые заказы без возврата денег
- Ограничения как защита данных
- Двойное списание
- Найти дубли email без учёта регистра
- SQL: поиск дублей
- SQL: поиск сирот
- ACID
- Мягкое удаление
Ещё 20 вопросов и задач
- Типовые SQL-проверки тестировщика
- Поиск дублей
- Почему тест не видит запись
- Статус последнего платежа по заказу
- Поиск сирот через LEFT JOIN
- Тестирование миграции
- Поиск пустых значений
- Заказы без позиций
- Заказы с несуществующим пользователем
- Оплаченные заказы без успешного платежа
- Сверка оплат с суммой заказа
- Проверка записи после POST
- Удалённые, но активные пользователи
- Как ты используешь SQL в тестировании
- Тестовые данные и изоляция
- Распределение заказов по статусам
- Сумма заказа не сходится с позициями
- Откат тестовых данных
- Дата изменения раньше даты создания
- Зачем тестировщику SQL
Очереди, логи и микросервисы
Kafka и RabbitMQ для тестировщика, гарантии доставки, DLQ, логи, trace id и поиск причины бага.
Урок: Очереди, логи и микросервисы за 7 минут 7 мин- Повторная доставка сообщения
- Группы потребителей Kafka
- Dead letter queue
- Поиск в логах на сервере
- Гарантии доставки сообщений
- Где смотреть логи
- Что тестировать в асинхронном взаимодействии
- Порядок сообщений в Kafka
Ещё 12 вопросов и задач
- Уровни логирования
- Что не должно попадать в логи
- Понятия Kafka
- Паттерн transactional outbox
- Дубли событий в outbox
- Неотправленные события outbox
- Оплаченные заказы без события
- Exchange в RabbitMQ
- Как ты используешь логи в тестировании
- Как тестировать сервис с очередью
- Trace id в микросервисах
- Зачем нужна очередь сообщений
gRPC, GraphQL и WebSocket
Чем отличаются от REST, как их тестировать, коды ошибок, инструменты и типичные баги.
Урок: gRPC, GraphQL и WebSocket за 6 минут 6 минНагрузочное тестирование
Виды тестов, RPS и перцентили, профиль нагрузки, JMeter, k6, Gatling, Locust и разбор результатов.
Урок: Нагрузочное тестирование за 8 минут 8 мин- Где искать узкое место
- Стенд для нагрузки
- Порог в k6
- Виды нагрузочных тестов
- Метрики нагрузочного теста
- Профиль нагрузки
- Тест стабильности
- Генератор нагрузки как узкое место