Вопросы на собеседовании: QA-инженер
100 реальных вопросов с образцовыми ответами и пояснениями для уровня Junior.
Смотреть пример резюме: QA-инженер →Тренировка флешкарточками
Интервальное повторение · Hunter Pass
Вопросы
Обеспечение качества, контроль качества и тестирование работают с качеством на разных уровнях.
- Обеспечение качества улучшает процессы, чтобы предотвращать дефекты, например через ревью требований и критерии готовности.
- Контроль качества проверяет продукт по требованиям, а тестирование служит его основной практикой поиска дефектов.
- Джуниор QA в основном тестирует, но это различие объясняет, почему работа QA начинается до написания кода.
Зачем это спрашивают: Интервьюер проверяет, видит ли кандидат качество как процесс, а не только как прокликивание приложения.
Тест-кейс представляет собой документированную и воспроизводимую проверку одного сценария.
- В нём указаны цель, предусловия, шаги, тестовые данные и ожидаемые результаты.
- Хороший кейс атомарен, связан с требованием и понятен человеку, который не знаком с функцией.
- Ожидаемый результат должен быть конкретным, например переход на дашборд и появление приветственного сообщения.
Зачем это спрашивают: Конкретные ожидаемые результаты и воспроизводимость посторонним отличают настоящие тест-кейсы от расплывчатых заметок.
Позитивное и негативное тестирование проверяют поведение с корректными и некорректными данными соответственно.
- Позитивное тестирование использует валидные данные, например правильные email и пароль, и подтверждает успешный сценарий.
- Негативное тестирование использует невалидные или неожиданные данные и проверяет безопасный отказ с понятной ошибкой.
- Оба вида важны, потому что многие сбои в продакшене возникают в ошибочных сценариях, пропущенных позитивными проверками.
Зачем это спрашивают: Интервьюер ищет инстинкт, что пути ошибок заслуживают не меньше внимания, чем счастливый путь.
Анализ граничных значений проверяет края допустимых диапазонов, где часто возникают дефекты.
- Для диапазона от 1 до 100 полезно проверить 0, 1, 2, 99, 100 и 101.
- Эти значения лучше выявляют ошибки на единицу, чем случайное среднее значение вроде 50.
- Границы также есть у длины строк, дат, размеров файлов и пагинации.
Зачем это спрашивают: Названные шесть значений вокруг двух границ показывают, что техника отработана, а не заучена.
Разбиение на классы эквивалентности сокращает множество входных данных до небольшого набора проверок.
- Данные объединяют в группы, которые система должна обрабатывать одинаково, и проверяют по одному представителю каждой группы.
- Для допустимого возраста от 18 до 65 это значения ниже 18, внутри диапазона, выше 65 и нечисловой ввод.
- Вместе с анализом граничных значений техника даёт хорошее покрытие без проверки каждого значения.
Зачем это спрашивают: Проверяется умение свести бесконечное пространство входов к защитимому набору тестов.
Smoke, sanity и регрессионное тестирование различаются прежде всего охватом и целью.
- Smoke-тестирование быстро проверяет критические сценарии новой сборки и показывает, можно ли начинать глубокое тестирование.
- Sanity-тестирование точечно подтверждает работу конкретного исправления или изменения.
- Регрессионное тестирование широко проверяет, что последние изменения не сломали существующую функциональность.
Зачем это спрашивают: Чёткое разграничение трёх терминов показывает понимание, как усилия тестирования распределяются в реальных релизах.
Функциональное тестирование проверяет, что делает система, а нефункциональное оценивает, насколько хорошо она это делает.
- Функциональные проверки подтверждают соответствие требованиям, например правильное выполнение денежного перевода.
- Нефункциональные проверки охватывают производительность, безопасность, удобство, доступность и совместимость с браузерами.
- Оформление заказа может работать правильно, но всё равно быть неприемлемым, если при обычной нагрузке занимает сорок секунд.
Зачем это спрашивают: Рамка что-против-насколько-хорошо плюс конкретный пример - ожидаемый полный ответ.
Тестирование чёрного, белого и серого ящика различается уровнем знания внутреннего устройства системы.
- Чёрный ящик проверяет поведение через интерфейсы по требованиям и входным и выходным данным без знания кода.
- Белый ящик использует структуру кода для покрытия веток и путей, обычно в юнит-тестах разработчиков.
- Серый ящик использует частичное знание архитектуры, схемы базы данных или контрактов API для точных сценариев.
Зачем это спрашивают: Понимание, что серый ящик - практический ежедневный режим продуктового QA, выдаёт приземлённый ответ.
Уровни тестирования находят разные дефекты на разных масштабах системы.
- Юнит-тесты изолируют отдельные функции и быстро и дёшево находят логические ошибки.
- Интеграционные тесты проверяют совместную работу компонентов и выявляют несоответствия контрактов или форматов данных.
- Системные и сквозные тесты охватывают полные сценарии, но проверки нижних уровней быстрее и стабильнее, поэтому в пирамиде их больше.
Зачем это спрашивают: Интервьюер ждёт логику пирамиды: почему не всё тестируется через UI.
Верификация проверяет, правильно ли создан продукт, а валидация проверяет, тот ли продукт был создан.
- Верификация сравнивает реализацию со спецификацией через ревью и тестирование по требованиям.
- Валидация подтверждает, что результат решает реальную проблему пользователя.
- Функция может точно соответствовать ошибочной спецификации, поэтому пройти верификацию, но не пройти валидацию.
Зачем это спрашивают: Инсайт, что спецификация может быть неверной, показывает: кандидат тестирует мышлением, а не только документами.
Повторное тестирование подтверждает конкретное исправление, а регрессионное проверяет его влияние на остальную систему.
- При повторном тестировании на обновлённой сборке воспроизводят точный сценарий, который раньше завершался ошибкой.
- При регрессионном тестировании проверяют, что исправление или другое изменение не сломало связанную функциональность.
- Обычно сначала подтверждают исправление, а затем проверяют окружающую область.
Зачем это спрашивают: Чёткое различие здесь сигнализирует, что кандидат реально проходил циклы проверки фиксов.
Исследовательское тестирование объединяет изучение продукта, проектирование и выполнение проверок в одной структурированной сессии.
- Тестировщик следует за результатами без фиксированного сценария и меняет пути и данные по мере появления новых подсказок.
- Подход полезен при слабой документации, нехватке времени или устаревших тест-кейсах.
- Это не случайные клики, потому что у хорошей сессии есть цель, ограничение по времени и заметки о покрытии.
Зачем это спрашивают: Дисциплина чартера и заметок отделяет исследовательское тестирование от бессистемного тыканья.
Я превращаю каждое проверяемое требование в связанный с ним набор сценариев.
- Я выделяю проверяемые утверждения и покрываю позитивные сценарии, негативные и граничные данные и переходы состояний.
- Неоднозначности я уточняю у аналитика или разработчика, а не закладываю предположения в тест-кейсы.
- Каждый кейс я связываю с требованием, чтобы были видны пробелы покрытия и устаревшие кейсы без актуальной цели.
Зачем это спрашивают: Вопросы о неоднозначностях до написания кейсов - то поведение, которое интервьюер хочет подтвердить.
Подходящая глубина документации зависит от сложности, риска и контекста команды.
- Чек-листа достаточно для простых функций, опытных команд, smoke-проверок и задач, где особенно важна скорость.
- Полные тест-кейсы нужны для сложных сценариев, требований комплаенса, обучения новичков и долгосрочной воспроизводимости.
- Зрелые команды сочетают оба формата, а не описывают каждую проверку максимально подробно.
Зачем это спрашивают: Выбор глубины документации по контексту, а не по догме, - то суждение, которое прощупывается.
Тестирование может выявить дефекты, но не способно доказать их полное отсутствие.
- В реальной системе невозможно исчерпывающе проверить все сочетания входных данных, состояний и таймингов.
- Тестировщики расставляют приоритеты по риску и сокращают пространство данных с помощью классов эквивалентности и других техник.
- Корректный вывод состоит в том, что в покрытых областях при проверенных условиях дефекты не найдены.
Зачем это спрашивают: Этот классический принцип проверяет понимание фундаментальных пределов ремесла.
Ошибка, дефект и отказ представляют собой этапы причинно-следственной цепочки.
- Ошибка является человеческим промахом, например неверным пониманием спецификации.
- Такой промах может создать дефект в коде или устройстве продукта.
- Отказ возникает, когда дефект проявляется и вызывает неверное поведение, хотя в неиспользуемом коде дефект может долго оставаться скрытым.
Зачем это спрашивают: Цепочка промах-код-рантайм - маленькая словарная проверка с реальной коммуникационной ценностью.
Баг проходит этапы регистрации, триажа, исправления, проверки и закрытия.
- После регистрации он проходит триаж и может быть назначен, отклонён, признан дубликатом или отложен.
- Разработчик исправляет баг и отмечает его решённым, после чего QA повторно проверяет его на обновлённой сборке.
- Успешная проверка ведёт к подтверждению и закрытию, неуспешная к переоткрытию, а отклонение и перенос сохраняют принятые решения.
Зачем это спрашивают: Упоминание отклонения, дубликатов, откладывания и переоткрытия показывает опыт с реальным трекером, а не учебной диаграммой.
Severity описывает техническое влияние бага, а priority определяет срочность исправления для бизнеса.
- Сбой в редко используемом старом отчёте может иметь высокую severity, но низкий priority.
- Опечатка в названии компании на лендинге может иметь низкую severity, но высокий priority.
- QA часто оценивает severity, а продакт-оунер или лид задаёт priority с учётом бизнес-контекста.
Зачем это спрашивают: Два перекрёстных примера, высокая-низкий и низкая-высокий, - стандартное доказательство, что концепция понята.
Хороший баг-репорт позволяет разработчику воспроизвести проблему без дополнительных вопросов.
- Он содержит конкретный заголовок, минимальные пронумерованные шаги, ожидаемый и фактический результаты.
- В нём указано окружение, включая версию сборки, браузер, операционную систему и тестовый аккаунт.
- Скриншоты, видео, логи, а также запросы и ответы API дают доказательства и ускоряют диагностику.
Зачем это спрашивают: Планка воспроизвести-без-вопросов отличает полезный репорт от жалобы.
Я регистрирую плавающий баг со всеми доступными доказательствами, а затем системно ищу условие его появления.
- Я фиксирую точное время, аккаунт, окружение, скриншоты, логи и долю успешных воспроизведений.
- Я поочерёдно меняю тайминги, состояние сети, параллельные сессии, данные и кеш, чтобы найти закономерность.
- Если возможно, я прикладываю серверные логи за время сбоя, поскольку причиной может быть состояние гонки, заметное под нагрузкой.
Зачем это спрашивают: Репорт с доказательствами вместо отбрасывания плюс системная изоляция переменных - ожидаемое поведение.
Закрытые вопросы
- 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
Ваша первая неделя на новом проекте. Как вы входите в курс дела?