Код
#статьи

Популярные вопросы и задачи на собеседованиях тестировщиков

Что работодатели спрашивают у кандидатов на вакансию тестировщика, как отвечать и что почитать, чтобы подготовиться.

Кадр: сериал «Чёрное зеркало»

Александр Мироник

QA-инженер в лаборатории виртуальной и дополненной реальности Sber AR/VR Lab. Занимается ручным и автоматическим тестированием AR-навигации и landmarks. Участвует в найме джунов, проводит технические интервью и онбординги. Любит компьютерные игры и путешествия в горах.

В предыдущей статье мы обсуждали, как QA-инженеру составить хорошее резюме. Сегодня поговорим о том, как действовать, если резюме сработало и вас пригласили на интервью. Попробуем ответить на самые частые вопросы, которые задают тестировщикам, приведём примеры задач с собеседований, разберём ошибки, а заодно подтянем основы тестирования. Считаем, освежить в памяти основы профессии будет полезно и junior-, и QA-lead-специалистам.

Первый этап — вопросы о навыках и опыте работы

Чтобы оценить софт-скиллы кандидата и то, подходит ли он на роль, работодатели задают ему стандартные вопросы: про опыт работы, навыки, образование и так далее. Как правило, это происходит уже при первичном разговоре с рекрутером, но будьте готовы повторить свои ответы и на следующих этапах собеседования.

Примеры вопросов, которые могут задать:

  • Расскажите о себе.
  • Почему вы ушли с предыдущего места работы?
  • Почему вы решили стать тестировщиком?
  • Что вас больше всего увлекает в этой профессии?
  • Проходили ли вы курсы по тестированию?
  • Есть ли у вас опыт работы с инструментами, которые используются на этой позиции?
  • Какие у вас зарплатные ожидания?
  • Когда вы готовы приступить к работе?

Как отвечать. Лаконично и по делу. Не стоит подробно пересказывать свою биографию — вместо этого постарайтесь сосредоточиться на фактах, которые напрямую относятся к профессии. Чтобы не волноваться, можно заготовить ответы заранее.

Вопросы для проверки хард-скиллов: теория тестирования

Если разговор с эйчаром прошёл успешно, вас пригласят на техническое собеседование.

Первое, что будут проверять на этом этапе, — знание азов тестирования. Поэтому перед походом на интервью освежите в памяти основные понятия и определения. Помочь в подготовке может статья «Фундаментальная теория тестирования» на «Хабре».

Что такое тестирование?

На этот популярный вопрос часто отвечают: «Поиск ошибок». Это упрощение.

Если давать полное определение, тестирование — проверка соответствия программы заданным требованиям. Его цель — убедиться, что программа работает так, как было задумано в начале разработки. Во время тестирования действительно находят и исправляют ошибки, но это лишь часть процесса.

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

На самом деле видов и подвидов тестирования существует огромное множество, и вряд ли вас попросят назвать полный список. Но можно перечислить основные — например, ручное и автоматизированное, статическое и динамическое, функциональное и нефункциональное, white box и black box и так далее.

Что почитать

Статью «Классификация видов тестирования». Или посмотрите одноимённое видео на YouTube.

Что такое баг? Опишите жизненный цикл бага

Баг — это недостаток в программе, из-за которого она не соответствует требованиям. У любого бага есть жизненный цикл — то есть последовательность этапов, которые он проходит от обнаружения до окончательного закрытия. Чтобы лучше его запомнить, можете сохранить вот такую схему:

Инфографика: Skillbox Media

Назовите основные этапы тестирования ПО

Тестирование ПО состоит из семи этапов:

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

Разработка стратегии тестирования и планирование процедур контроля качества. Руководитель команды составляет план тестирования: какие виды и инструменты будут применяться в проекте, в какие сроки оно должно быть выполнено, с чего оно начнётся и чем закончится.

Создание тестовой документации. На основе стратегии тестирования составляют документы: тест-план, тест-кейсы и чек-листы. Задача этого этапа — детально описать, что и как нужно тестировать.

Тестирование прототипа. Когда готова первая версия программы, её тоже нужно испытать — чтобы выявить глобальные проблемы в самом начале разработки.

Основное тестирование. Ключевой этап всего процесса — программу тестируют по заранее написанным сценариям и выявляют ошибки, на основе которых составляют подробные отчёты.

Стабилизация. Разработчики устраняют найденные ошибки, после чего проводится повторное или регресс-тестирование — оно помогает понять, как программа ведёт себя с учётом изменений.

Эксплуатация и поддержка. Так как часто ошибки обнаруживаются уже после релиза, тестировщики продолжают работать с программой и на этом этапе — например, чтобы собрать обратную связь от пользователей.

Чем валидация отличается от верификации?

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

Валидация это оценка соответствия работы программы ожиданиям пользователя.

Например: в настройках электросамоката прописано автоматическое снижение скорости в пешеходных зонах. Но из-за погрешности геолокации самокат теряет скорость на велодорожке вблизи парка. Получается, с точки зрения верификации программа работает правильно, а с точки зрения валидации есть проблемы.

Ещё 20 вопросов с собеседований по теории тестирования

Изображение: Skillbox Media

Вопросы для проверки хард-скиллов: тестовая документация

Правильное ведение отчётности — одна из основ в работе тестировщика. Так что без хотя бы базовых знаний документации не обойтись. Вспомним основные виды документов.

Что такое тест-план и зачем он нужен?

Тест-план — это документ, который поэтапно описывает весь процесс тестирования, начиная от целей и сроков и заканчивая обязанностями каждого члена команды.

Так как тест-план, сделанный по всем канонам, — довольно большая и сложная простыня, на практике его составляют редко. И занимаются этим, как правило, старшие тестировщики.

Чем тест-кейс отличается от чек-листа?

Чек-лист — это список того, что нужно проверить. Например, можно составить чек-лист для проверки сайта или отдельного его компонента — скажем, личного кабинета или корзины.

Тест-кейс это пошаговое описание того, как мы будем тестировать ту или функцию. Например, если это личный кабинет на сайте, в тест-кейсе будут прописаны конкретные действия: зайти на сайт фирмы «Рога и копыта», ввести логин и пароль, нажать кнопку «Войти» и так далее.

Что такое тест-дизайн? Какие техники тест-дизайна вы знаете?

Тест-дизайн — это процесс создания тест-кейсов, покрывающих самые важные узлы работы программы. Задача тест-дизайна — разработать сценарии, при которых большинство функций можно проверить минимальным количеством тестов. Для этого есть множество техник — например, классы эквивалентности, граничные значения, попарное тестирование, таблица принятия решений и другие.

Что почитать:

Серия статей на «Хабре» «Немного о простом. Тест-дизайн. Часть 1» и часть 2. Для наглядности: «Тест-дизайн на примере треугольника».

Что такое баг-репорт и как его составить?

Баг-репорт — это подробный отчёт об ошибке. Его смысл в том, чтобы донести до разработчика полную информацию о проблеме: как она возникает, при каких условиях, в какой версии программы, насколько она критична и так далее. Чем лучше составлен баг-репорт, тем быстрее разработчик исправит неполадки.

Что почитать

Чтобы составить хороший баг-репорт, лучше придерживаться стандартной структуры — посмотреть её можно в этой статье.

Вопросы для проверки хард-скиллов: инструменты и технологии

Следующий блок вопросов на собеседовании QA-инженера — по стеку технологий, которым владеет кандидат. Здесь уже всё индивидуально: веб-тестировщикам вопросы одни, мобильным — другие, в геймдеве — третьи. Например, вот как выглядит список вопросов для тестировщиков веб-приложений:

Изображение: Skillbox Media

Что почитать

Подробнее о протоколе HTTP можно узнать из статьи на «Википедии». На QA_Bible есть хорошие материалы про кэширование, модели OSI и TCP/IP, протоколы REST и SOAP. Если хотите освежить основные понятия, читайте статью «Что должен знать тестировщик бэкенда» на «Хабре».

А вот примерный список вопросов на собеседовании для мобильных тестировщиков:

Изображение: Skillbox Media

Что почитать

Полезные ресурсы и лайфхаки по мобильному тестированию собраны в статье «Мобильные приложения и их тестировщики: всё, что нужно знать» на «Хабре». Чтобы лучше разбираться в самом процессе мобильного тестирования, почитайте статью «Чек-лист тестирования мобильных приложений».

Вопросы для проверки софт-скиллов

Помимо знания теории тестирования и основных технологий, на собеседовании будут проверять умение тестировщика работать в команде, общительность, логическое мышление и личную эффективность. Соответственно, вам могут задать наводящие вопросы по этим темам.

Почему вы решили стать тестировщиком?

Наверное, самый заезженный вопрос на собеседованиях, но многие соискатели умудряются завалиться уже на нём. Например, один начинающий QA-инженер ответил: «Просто посмотреть, как тут всё устроено». Сами посудите: стали бы вы на месте работодателя тратить время и деньги на сотрудника, который «просто пришёл посмотреть»?

Как не надоКак лучшеКак вариант: зайти с опыта
Потому что тестирование — это лёгкий путь в IT. Можно посмотреть, как тут всё устроено, заработать денег, а потом вырасти в программиста.Потому что тестирование — это возможность всесторонне изучить продукт, помочь бизнесу сделать его удобнее для пользователей.Узнал об этой профессии из статьи на «Хабре», решил попробовать — мне понравилось, и теперь хочу развиваться в этом направлении.

Как вы считаете: какие личные качества важны для тестировщика?

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

Вот ещё пять качеств, важных для тестировщика:

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

Что почитать

Статью на «Хабре» «Soft-skills успешного тестировщика».

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

В первую очередь — обратиться к документации. Если там чётко прописано, как должна работать та или иная функция, нужно корректно объяснить это программисту. Если не прописано, то правда на стороне разработчика. В таком случае нужно задокументировать инцидент и донести его до тимлида или менеджера.

Что делать, если нет спецификации или она составлена непонятно?

Умение задавать вопросы — одно из главных качеств тестировщика. Если по спецификации непонятно, как должна себя вести программа, нужно связаться с тем, кто во всех деталях знает проект, и уточнить у него. Это может быть разработчик, проджект-менеджер или руководитель команды.

Финальный этап: задачи и головоломки для тестировщиков

Ближе к концу интервью вас могут попросить решить практическую задачу — например, описать процесс тестирования какого-то элемента программы. Здесь важно помнить, что задача интервьюера — оценить не само решение, а ход ваших мыслей при его поиске.

Вот примеры задач, которые могут попасться на собеседовании:

  • Протестировать форму оплаты в интернет-магазине.
  • Составить баг-репорт для неработающего чайника.
  • Написать чек-лист для проверки формы авторизации.
  • Не работает кнопка «Купить». Проблема на стороне клиента или сервера?
  • Как измерить высоту здания с помощью барометра?

Протестируйте карандаш (лифт, тостер, лист бумаги…). Любимый тип задач на собеседованиях тестировщиков уровня junior (и не только) — протестировать какой-то предмет из реального мира. На самом деле здесь неважно, что именно вам предложат испытать, — алгоритм всегда один и тот же.

Первое, что нужно сделать, — ознакомиться с требованиями. Потом на каждое из требований написать тест-кейс и happy path — то есть сценарий, при котором продукт будет работать без ошибок. А дальше всё зависит от вашей фантазии и подкованности. Например, карандашу можно устроить тестирование юзабилити — проверить, как он лежит в руке, удобно ли им писать и так далее.

Что-то ещё?

Вопросов и задач, которые тестировщику могут дать на собеседовании, — великое множество. Заранее никогда не угадаешь, какие именно попадутся, но можно подготовиться — освежить основы тестирования и попрактиковаться в решении задач. Например, утащить с GitHub какой-нибудь open-source-проект и отрабатывать на нём разные техники тестирования. Чем не тренажёр?

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована