С какими типами заданий вы сталкивались на собеседованиях на позицию QA?

Ответ

На собеседованиях для QA Engineer обычно встречаются задания из нескольких категорий:

1. Теоретические вопросы:

  • Основы тестирования: виды/уровни/методы тестирования, тест-дизайн (классы эквивалентности, граничные значения).
  • Документация: чем отличается тест-кейс от чек-листа, структура баг-репорта.
  • Жизненный цикл: SDLC, STLC, роль QA в Agile/Scrum.

2. Практические технические задания:

  • SQL: написать запросы на выборку, соединение таблиц, агрегацию.
    -- Пример: Найти пользователей, совершивших более 5 заказов
    SELECT user_id, COUNT(order_id) as order_count
    FROM orders
    GROUP BY user_id
    HAVING COUNT(order_id) > 5;
  • API: протестировать REST-эндпоинт, используя Postman/cURL, проанализировать запрос/ответ.
  • Тест-дизайн: составить тест-кейсы или чек-лист для заданного функционала (например, «форма регистрации»).
  • Написание баг-репорта по описанному сценарию.

3. Логические задачи и анализ кода:

  • Поиск ошибок в простом фрагменте кода (псевдокод, Python, Java).
  • Задачи на логику и внимание к деталям.

4. Поведенческие вопросы (Soft Skills):

  • «Расскажите о сложном баге и как вы его нашли?»
  • «Как будете действовать при сжатых сроках сдачи?»
  • «Как объясните проблему разработчику?»

5. Практические задания «дома»:

  • Протестировать мобильное приложение или веб-сайт и предоставить отчет.
  • Написать несколько автоматизированных тестов (часто на Python + Selenium/pytest).

Ответ 18+ 🔞

Да ты посмотри, какая хуйня разносторонняя от нас требуется! Прям как в цирке — и на шаре покатайся, и на ходулях постой, и жонглируй ещё, сука. Ладно, разбираем по полочкам, а то голова кругом пойдёт.

1. Теория, блядь, эта самая. Тут тебя будут пытать, как в гестапо. «Назови виды тестирования!» — а ты такой: «Да их, блядь, овердохуища! Регресс, дымовой, нагрузочный, приёмочный...» Главное — не запутаться, где интеграционное, а где системное, а то опозоришься. И про эти ваши классы эквивалентности не забудь — это когда ты не будешь, как идиот, проверять пароль «123456» и «123457», а возьмёшь один валидный и один невалидный, и всё, пиздец. И про баг-репорт — чтоб там всё было: шаги, ожидаемый результат, фактический, скриншот, где этот пиздец случился. Без этого разработчик посмотрит и скажет: «Ну и хуйня, не воспроизводится», и будешь ты потом как дурак.

2. Техническая ебля. Вот тут уже интереснее, но и страшнее.

  • SQL. «Напиши запрос, чтобы найти всех юзеров, которые купили больше пяти раз». А ты сидишь и думаешь: «SELECT... FROM... WHERE... А, бля, GROUP BY! HAVING!» Главное — не перепутать WHERE с HAVING, а то получишь хуй с горы вместо результата. Вот как надо:
SELECT user_id, COUNT(order_id) as order_count
FROM orders
GROUP BY user_id
HAVING COUNT(order_id) > 5;
  • API. Тут тебе дадут Postman и скажут: «Отправь запрос, получи ответ, скажи, что не так». Смотри, чтобы статус-код был 200, а не 500, и чтобы в ответе был JSON, а не сообщение «Всё сломалось, иди нахуй». Проверяй заголовки, тело, параметры — всё, блядь.
  • Тест-дизайн. «Вот тебе форма регистрации. Что будешь проверять?» Тут включай мозг на полную. Пустые поля, спецсимволы в имени, почта без собаки, пароль из одного пробела, дважды введённый разный пароль... Да всё, что в голову взбредёт этой мартышлюшке-разработчику, которая эту форму писала!
  • Баг-репорт. Тут главное — чётко и ясно, чтобы даже этот, блядь, полупидор-разработчик, который кофе пьёт и в монитор пялится, понял, где и что сломалось.

3. Задачи на логику и код. Тут могут подсунуть какую-нибудь простыню псевдокода с циклом, который нахуй никуда не выходит, или условием, которое всегда ложное. Смотри в оба, ищи, где i++ должно быть, а стоит i--. Или задачка: «У тебя есть восемь шаров и весы...» — уже от одной мысли тошнить начинает, ебать мои старые костыли.

4. Мягкие навыки, или «Расскажи, какой ты хороший».

  • «О сложном баге» — расскажи, как ты три дня, как псин, рыскал по логам, пока не нашёл, что проблема в кэше на левом сервисе. Главное — покажи, что ты не сдался.
  • «При сжатых сроках» — скажи, что будешь приоритизировать риски: сначала самое важное и ломающеее, а потом уже всякую мелочёвку. Не будешь, как мудак, всё подряд гонять.
  • «Как объяснишь разработчику» — да без агрессии, с фактами, скриншотами и логами. Не «у тебя код — говно», а «вот на этом эндпоинте при таких параметрах падает с 500-й ошибкой, посмотри, пожалуйста».

5. Домашнее задание. Вот это уже пиздец полный. «Протестируй наше приложение и напиши отчёт». Ты его весь вечер ломаешь, находишь кучу косяков, а потом они говорят: «Спасибо, мы вам перезвоним» — и тишина. Или «Напиши автотест». Тут уже надо хоть немного кода знать, чтобы не сесть в лужу.

Короче, суть в чём: надо быть готовым ко всему, как швейцарский нож. И к теории, и к практике, и к тому, чтобы не послать нахуй интервьювера, когда он задаёт идиотский вопрос. Удачи, друг. Терпения тебе, блядь, овердохуища.