Skip to content

Вопросы на собеседовании: QA-инженер

100 реальных вопросов с образцовыми ответами и пояснениями для уровня Junior.

Смотреть пример резюме: QA-инженер

Тренировка флешкарточками

Интервальное повторение · Hunter Pass

Вопросы

qaqc

Обеспечение качества, контроль качества и тестирование работают с качеством на разных уровнях.

  • Обеспечение качества улучшает процессы, чтобы предотвращать дефекты, например через ревью требований и критерии готовности.
  • Контроль качества проверяет продукт по требованиям, а тестирование служит его основной практикой поиска дефектов.
  • Джуниор QA в основном тестирует, но это различие объясняет, почему работа QA начинается до написания кода.

Зачем это спрашивают: Интервьюер проверяет, видит ли кандидат качество как процесс, а не только как прокликивание приложения.

test-cases

Тест-кейс представляет собой документированную и воспроизводимую проверку одного сценария.

  • В нём указаны цель, предусловия, шаги, тестовые данные и ожидаемые результаты.
  • Хороший кейс атомарен, связан с требованием и понятен человеку, который не знаком с функцией.
  • Ожидаемый результат должен быть конкретным, например переход на дашборд и появление приветственного сообщения.

Зачем это спрашивают: Конкретные ожидаемые результаты и воспроизводимость посторонним отличают настоящие тест-кейсы от расплывчатых заметок.

testing

Позитивное и негативное тестирование проверяют поведение с корректными и некорректными данными соответственно.

  • Позитивное тестирование использует валидные данные, например правильные email и пароль, и подтверждает успешный сценарий.
  • Негативное тестирование использует невалидные или неожиданные данные и проверяет безопасный отказ с понятной ошибкой.
  • Оба вида важны, потому что многие сбои в продакшене возникают в ошибочных сценариях, пропущенных позитивными проверками.

Зачем это спрашивают: Интервьюер ищет инстинкт, что пути ошибок заслуживают не меньше внимания, чем счастливый путь.

boundary

Анализ граничных значений проверяет края допустимых диапазонов, где часто возникают дефекты.

  • Для диапазона от 1 до 100 полезно проверить 0, 1, 2, 99, 100 и 101.
  • Эти значения лучше выявляют ошибки на единицу, чем случайное среднее значение вроде 50.
  • Границы также есть у длины строк, дат, размеров файлов и пагинации.

Зачем это спрашивают: Названные шесть значений вокруг двух границ показывают, что техника отработана, а не заучена.

partitioningequivalence

Разбиение на классы эквивалентности сокращает множество входных данных до небольшого набора проверок.

  • Данные объединяют в группы, которые система должна обрабатывать одинаково, и проверяют по одному представителю каждой группы.
  • Для допустимого возраста от 18 до 65 это значения ниже 18, внутри диапазона, выше 65 и нечисловой ввод.
  • Вместе с анализом граничных значений техника даёт хорошее покрытие без проверки каждого значения.

Зачем это спрашивают: Проверяется умение свести бесконечное пространство входов к защитимому набору тестов.

smokeregression

Smoke, sanity и регрессионное тестирование различаются прежде всего охватом и целью.

  • Smoke-тестирование быстро проверяет критические сценарии новой сборки и показывает, можно ли начинать глубокое тестирование.
  • Sanity-тестирование точечно подтверждает работу конкретного исправления или изменения.
  • Регрессионное тестирование широко проверяет, что последние изменения не сломали существующую функциональность.

Зачем это спрашивают: Чёткое разграничение трёх терминов показывает понимание, как усилия тестирования распределяются в реальных релизах.

requirementstesting

Функциональное тестирование проверяет, что делает система, а нефункциональное оценивает, насколько хорошо она это делает.

  • Функциональные проверки подтверждают соответствие требованиям, например правильное выполнение денежного перевода.
  • Нефункциональные проверки охватывают производительность, безопасность, удобство, доступность и совместимость с браузерами.
  • Оформление заказа может работать правильно, но всё равно быть неприемлемым, если при обычной нагрузке занимает сорок секунд.

Зачем это спрашивают: Рамка что-против-насколько-хорошо плюс конкретный пример - ожидаемый полный ответ.

black-boxwhite-boxgrey-box

Тестирование чёрного, белого и серого ящика различается уровнем знания внутреннего устройства системы.

  • Чёрный ящик проверяет поведение через интерфейсы по требованиям и входным и выходным данным без знания кода.
  • Белый ящик использует структуру кода для покрытия веток и путей, обычно в юнит-тестах разработчиков.
  • Серый ящик использует частичное знание архитектуры, схемы базы данных или контрактов API для точных сценариев.

Зачем это спрашивают: Понимание, что серый ящик - практический ежедневный режим продуктового QA, выдаёт приземлённый ответ.

testing

Уровни тестирования находят разные дефекты на разных масштабах системы.

  • Юнит-тесты изолируют отдельные функции и быстро и дёшево находят логические ошибки.
  • Интеграционные тесты проверяют совместную работу компонентов и выявляют несоответствия контрактов или форматов данных.
  • Системные и сквозные тесты охватывают полные сценарии, но проверки нижних уровней быстрее и стабильнее, поэтому в пирамиде их больше.

Зачем это спрашивают: Интервьюер ждёт логику пирамиды: почему не всё тестируется через UI.

validation

Верификация проверяет, правильно ли создан продукт, а валидация проверяет, тот ли продукт был создан.

  • Верификация сравнивает реализацию со спецификацией через ревью и тестирование по требованиям.
  • Валидация подтверждает, что результат решает реальную проблему пользователя.
  • Функция может точно соответствовать ошибочной спецификации, поэтому пройти верификацию, но не пройти валидацию.

Зачем это спрашивают: Инсайт, что спецификация может быть неверной, показывает: кандидат тестирует мышлением, а не только документами.

regression

Повторное тестирование подтверждает конкретное исправление, а регрессионное проверяет его влияние на остальную систему.

  • При повторном тестировании на обновлённой сборке воспроизводят точный сценарий, который раньше завершался ошибкой.
  • При регрессионном тестировании проверяют, что исправление или другое изменение не сломало связанную функциональность.
  • Обычно сначала подтверждают исправление, а затем проверяют окружающую область.

Зачем это спрашивают: Чёткое различие здесь сигнализирует, что кандидат реально проходил циклы проверки фиксов.

exploratory

Исследовательское тестирование объединяет изучение продукта, проектирование и выполнение проверок в одной структурированной сессии.

  • Тестировщик следует за результатами без фиксированного сценария и меняет пути и данные по мере появления новых подсказок.
  • Подход полезен при слабой документации, нехватке времени или устаревших тест-кейсах.
  • Это не случайные клики, потому что у хорошей сессии есть цель, ограничение по времени и заметки о покрытии.

Зачем это спрашивают: Дисциплина чартера и заметок отделяет исследовательское тестирование от бессистемного тыканья.

test-cases

Я превращаю каждое проверяемое требование в связанный с ним набор сценариев.

  • Я выделяю проверяемые утверждения и покрываю позитивные сценарии, негативные и граничные данные и переходы состояний.
  • Неоднозначности я уточняю у аналитика или разработчика, а не закладываю предположения в тест-кейсы.
  • Каждый кейс я связываю с требованием, чтобы были видны пробелы покрытия и устаревшие кейсы без актуальной цели.

Зачем это спрашивают: Вопросы о неоднозначностях до написания кейсов - то поведение, которое интервьюер хочет подтвердить.

test-cases

Подходящая глубина документации зависит от сложности, риска и контекста команды.

  • Чек-листа достаточно для простых функций, опытных команд, smoke-проверок и задач, где особенно важна скорость.
  • Полные тест-кейсы нужны для сложных сценариев, требований комплаенса, обучения новичков и долгосрочной воспроизводимости.
  • Зрелые команды сочетают оба формата, а не описывают каждую проверку максимально подробно.

Зачем это спрашивают: Выбор глубины документации по контексту, а не по догме, - то суждение, которое прощупывается.

testing

Тестирование может выявить дефекты, но не способно доказать их полное отсутствие.

  • В реальной системе невозможно исчерпывающе проверить все сочетания входных данных, состояний и таймингов.
  • Тестировщики расставляют приоритеты по риску и сокращают пространство данных с помощью классов эквивалентности и других техник.
  • Корректный вывод состоит в том, что в покрытых областях при проверенных условиях дефекты не найдены.

Зачем это спрашивают: Этот классический принцип проверяет понимание фундаментальных пределов ремесла.

defects

Ошибка, дефект и отказ представляют собой этапы причинно-следственной цепочки.

  • Ошибка является человеческим промахом, например неверным пониманием спецификации.
  • Такой промах может создать дефект в коде или устройстве продукта.
  • Отказ возникает, когда дефект проявляется и вызывает неверное поведение, хотя в неиспользуемом коде дефект может долго оставаться скрытым.

Зачем это спрашивают: Цепочка промах-код-рантайм - маленькая словарная проверка с реальной коммуникационной ценностью.

closures

Баг проходит этапы регистрации, триажа, исправления, проверки и закрытия.

  • После регистрации он проходит триаж и может быть назначен, отклонён, признан дубликатом или отложен.
  • Разработчик исправляет баг и отмечает его решённым, после чего QA повторно проверяет его на обновлённой сборке.
  • Успешная проверка ведёт к подтверждению и закрытию, неуспешная к переоткрытию, а отклонение и перенос сохраняют принятые решения.

Зачем это спрашивают: Упоминание отклонения, дубликатов, откладывания и переоткрытия показывает опыт с реальным трекером, а не учебной диаграммой.

severity-priority

Severity описывает техническое влияние бага, а priority определяет срочность исправления для бизнеса.

  • Сбой в редко используемом старом отчёте может иметь высокую severity, но низкий priority.
  • Опечатка в названии компании на лендинге может иметь низкую severity, но высокий priority.
  • QA часто оценивает severity, а продакт-оунер или лид задаёт priority с учётом бизнес-контекста.

Зачем это спрашивают: Два перекрёстных примера, высокая-низкий и низкая-высокий, - стандартное доказательство, что концепция понята.

bug-reporting

Хороший баг-репорт позволяет разработчику воспроизвести проблему без дополнительных вопросов.

  • Он содержит конкретный заголовок, минимальные пронумерованные шаги, ожидаемый и фактический результаты.
  • В нём указано окружение, включая версию сборки, браузер, операционную систему и тестовый аккаунт.
  • Скриншоты, видео, логи, а также запросы и ответы API дают доказательства и ускоряют диагностику.

Зачем это спрашивают: Планка воспроизвести-без-вопросов отличает полезный репорт от жалобы.

debugging

Я регистрирую плавающий баг со всеми доступными доказательствами, а затем системно ищу условие его появления.

  • Я фиксирую точное время, аккаунт, окружение, скриншоты, логи и долю успешных воспроизведений.
  • Я поочерёдно меняю тайминги, состояние сети, параллельные сессии, данные и кеш, чтобы найти закономерность.
  • Если возможно, я прикладываю серверные логи за время сбоя, поскольку причиной может быть состояние гонки, заметное под нагрузкой.

Зачем это спрашивают: Репорт с доказательствами вместо отбрасывания плюс системная изоляция переменных - ожидаемое поведение.

Закрытые вопросы

  • 21

    Разработчик закрыл ваш баг как не баг, а вы не согласны. Ваши действия?

    conflict
  • 22

    Что такое тест-план и каковы его ключевые разделы?

    test-plans
  • 23

    Что на практике значит тестовое покрытие для ручного тестировщика?

    coverage
  • 24

    Как понять, что тестирования достаточно для релиза?

    testing
  • 25

    Что такое приёмочное тестирование пользователями и чем оно отличается от системного?

    uatacceptancesystem-design
  • 26

    Каковы основные этапы SDLC и где в них место QA?

    sdlc
  • 27

    Какие этапы входят в жизненный цикл тестирования ПО?

    testing
  • 28

    Что делает QA-инженер в скрам-спринте?

    agile
  • 29

    Что такое shift-left тестирование и почему оно важно?

    shift-left
  • 30

    Требования к фиче неясны или противоречат друг другу. Что вы делаете?

  • 31

    Как бы вы протестировали форму логина?

    forms
  • 32

    Как протестировать числовое поле, принимающее суммы от 1 до 10000?

  • 33

    Как вы подойдёте к тестированию чекаута интернет-магазина?

    testing
  • 34

    Что такое кросс-браузерное тестирование и как удержать его в разумных рамках?

    testing
  • 35

    Что вы проверяете при тестировании веб-приложения на мобильных размерах экрана?

    testing
  • 36

    Должен ли QA-инженер сообщать о проблемах юзабилити и как?

  • 37

    Что такое тестирование локализации и что обычно ломается?

    testing
  • 38

    Приведите примеры негативных сценариев для формы регистрации.

    forms
  • 39

    Что такое тестовое окружение и почему нельзя тестировать прямо в продакшене?

    test-environments
  • 40

    Как вы готовите тестовые данные и почему нельзя просто скопировать данные реальных пользователей?

    test-data
  • 41

    Как вы решаете, что попадает в регрессионный набор?

    regression
  • 42

    Релиз завтра, а времени на тестирование почти не осталось. Как приоритизируете?

    testing
  • 43

    Пришла новая сборка. Как вы решаете, что в ней тестировать?

  • 44

    Что такое нагрузочное тестирование и какие базовые термины должен знать джун?

    load-testing
  • 45

    Какие базовые проверки безопасности может делать джун-QA, не будучи специалистом по безопасности?

  • 46

    Что такое тестирование доступности на базовом уровне?

    a11ytesting
  • 47

    Что такое непрерывная интеграция и почему она важна для QA?

    ci-cd
  • 48

    Какие метрики говорят о тестировании что-то полезное, а какие легко вводят в заблуждение?

    monitoring
  • 49

    Где вы храните тест-кейсы и чек-листы и почему привычка важнее инструмента?

    test-cases
  • 50

    В чём разница между статическим и динамическим тестированием?

    testing
  • 51

    Зачем QA-инженеру SQL?

    sql
  • 52

    Напишите запрос, находящий все заказы конкретного пользователя со статусом cancelled.

    queries
  • 53

    Как использовать JOIN для проверки данных в двух таблицах?

    joins
  • 54

    UI показывает счётчик 25 элементов. Как проверить его через SQL?

    sql
  • 55

    UI показывает одно значение, база другое. Какой вывод и что дальше?

    database
  • 56

    Что такое NULL в базе данных и чем он осложняет проверки?

    databasefundamentalstesting
  • 57

    Что такое API и зачем тестировать его отдельно от UI?

    api
  • 58

    Что означают основные HTTP-методы для тестирования API?

    httptesting
  • 59

    Какие HTTP-статус-коды должен знать тестировщик и что значит каждая группа?

    httpstatus-codes
  • 60

    Что вы проверяете в ответе API помимо статус-кода?

    status-codes
  • 61

    Как вы используете Postman в ежедневном тестировании?

    testing
  • 62

    Как бы вы протестировали POST-эндпоинт создания пользователя?

    endpoints
  • 63

    Что такое JSON и что тестировщику нужно знать о его структуре?

  • 64

    Запрос к API возвращает 500. Что вы делаете до репорта?

    api
  • 65

    В чём разница между параметрами пути, параметрами запроса и телом запроса?

    queries
  • 66

    Как устроена аутентификация по токену в тестировании API?

    authtokensapi
  • 67

    Что такое HTML и DOM и зачем тестировщику их понимать?

    htmldom
  • 68

    Что такое CSS-селекторы и как они используются как локаторы?

    csslocators
  • 69

    Что такое XPath и когда он нужен вместо CSS-селекторов?

    csslocators
  • 70

    Как найти и проверить локатор в DevTools браузера?

    locators
  • 71

    Какие атрибуты дают самые надёжные локаторы и что такое data-testid?

    locators
  • 72

    Для чего ещё вы используете DevTools браузера, кроме инспекции элементов?

    testing
  • 73

    Что такое куки и localStorage и почему они важны в тестировании?

    cookiestesting
  • 74

    Как кеширование мешает тестированию и что вы с этим делаете?

    soft-skillscachingtesting
  • 75

    В чём разница между клиентской и серверной валидацией и зачем тестировать обе?

    validation
  • 76

    Что такое автоматизация тестирования и каковы её реальные выгоды и издержки?

    automation
  • 77

    Как вы приоритизируете, какие тесты автоматизировать первыми?

    testing
  • 78

    Что не стоит автоматизировать?

  • 79

    Что такое Selenium и каковы его основные компоненты?

    componentsselenium
  • 80

    Чем на верхнем уровне различаются Selenium, Cypress и Playwright?

    seleniumcypressplaywright
  • 81

    Почему фиксированный sleep в автотестах плох и что такое неявные и явные ожидания?

  • 82

    Что такое нестабильный тест и что обычно вызывает нестабильность?

    flaky
  • 83

    Что такое Page Object Model и какую проблему он решает?

    pom
  • 84

    Что делает проверку в автотесте хорошей?

  • 85

    Изменение UI сломало локатор, тест падает. Ваши действия?

    locators
  • 86

    Может ли автоматизация полностью заменить ручное тестирование?

    testing
  • 87

    Автотесты гоняются в CI, часть упала. Как команде обращаться с падениями?

  • 88

    Какие основы git QA-инженер реально использует?

    git
  • 89

    Что такое пул-реквест и какова роль QA вокруг него?

    code-review
  • 90

    Что на самом деле даёт тестовый фреймворк вроде pytest или Jest?

    jestpytest
  • 91

    Баг, который вы пропустили, дошёл до продакшена. Как вы с этим обходитесь?

    soft-skills
  • 92

    Как тестировать фичу, у которой нет документации?

    documentation
  • 93

    Разработчик говорит, что ваш баг мелкий и чинить его сейчас не стоит. Как отвечаете?

  • 94

    Вы нашли критический баг вечером перед релизом. Что делаете?

  • 95

    Регрессионное тестирование монотонно. Как удерживать внимание на пятидесятом прогоне?

    regression
  • 96

    Три фичи приземляются в тестирование в один день. Как организуете работу?

    testing
  • 97

    Как вы развиваете свои QA-навыки как джун?

  • 98

    Какие личные качества делают QA-инженера сильным?

    discovery
  • 99

    Команда спрашивает: продукт готов к релизу? Как вы отвечаете как QA?

  • 100

    Ваша первая неделя на новом проекте. Как вы входите в курс дела?