Вопросы на собеседовании тестировщика: от джуна до автоматизации
Собеседование тестировщика обманчиво простое на входе и быстро углубляется. Джуна спросят теорию и тест-дизайн, мидла добавят API, автоматизацию и вопросы «а как бы ты протестировал вот это». Ниже разбор по темам, с реальными вопросами и пометкой, где джун переходит в мидла.
Теория тестирования: фундамент
С этого начинают всех. Вопросы простые на вид, но на них легко поплыть, если учил по верхам.
- Главная цель тестирования. Не «найти все баги» (это невозможно), а предоставить информацию о качестве продукта, чтобы по ней принимали решения. Кто отвечает «сделать так, чтобы багов не было», уже промахнулся.
- Верификация против валидации. Верификация: «делаем ли мы продукт правильно» (по спецификации). Валидация: «делаем ли мы правильный продукт» (то, что нужно пользователю). Классика, которую путают.
- Уровни и типы тестирования. Unit, интеграционное, системное, приёмочное. Плюс деление на функциональное и нефункциональное (нагрузка, безопасность, удобство).
Тест-дизайн: главный навык джуна
Тема, по которой видно, умеет ли человек тестировать системно, а не тыкать наугад.
- Классы эквивалентности. Разбить входные данные на группы, внутри которых система ведёт себя одинаково, и проверять по одному представителю группы, а не все значения подряд. И обязательно проверять невалидные классы, а не только валидные: половина багов живёт там.
- Граничные значения. Ошибки любят границы: 0, 1, максимум, максимум плюс один. Если поле принимает от 1 до 100, проверяют 0, 1, 100, 101.
- Таблицы решений. Когда поведение зависит от комбинации условий, таблица решений помогает не упустить ни одного сочетания.
API и HTTP: территория мидла
Как только тестирование выходит за пределы кнопок в интерфейсе, спрашивают про API.
- GET против POST. GET запрашивает данные и не меняет состояние, POST отправляет данные и создаёт или меняет. GET можно кэшировать и повторять безопасно, POST нет.
- Идемпотентность. Метод идемпотентен, если повторный вызов с теми же данными не меняет результат. GET, PUT, DELETE идемпотентны, POST нет. Любимый вопрос на понимание REST.
- Коды ответов. Что значат 200, 201, 400, 401, 403, 404, 500, и чем клиентская ошибка (4xx) отличается от серверной (5xx).
Автоматизация: путь в AQA
Для позиций автоматизатора добавляется свой блок.
- Пирамида тестов. Много быстрых unit-тестов в основании, меньше интеграционных в середине, совсем мало медленных e2e наверху. Спросят, почему именно так.
- Почему e2e держат мало. Они медленные, хрупкие и дорогие в поддержке: падают от любого изменения верстки. Основную проверку логики уносят на уровень unit, где тесты быстрые и стабильные.
Мобильное тестирование
Если продукт мобильный, всплывает специфика:
- Нативное против гибридного приложения, и чем это меняет тестирование.
- Фрагментация: зоопарк устройств, версий OS и размеров экрана, из-за которого «работает у меня» ничего не значит.
Как готовиться
QA-собес широкий: теория, тест-дизайн, API, автоматизация. Прочитать определения мало, на собесе просят применить: «протестируй форму логина», «составь классы эквивалентности для поля возраста». Это ставится практикой.
В Сеньорчике трек QA собран как раз по этим темам: теория и тест-дизайн, API, автоматизация, мобильное, вопросами с разбором в коротких сессиях, а движок возвращает слабые темы. Живые вопросы по секциям есть в подборке для QA, а про структуру собеседования в целом полезен разбор технических вопросов. Начать можно бесплатно.