QA инженер выполняет важную роль в работе над продуктом. Он следит за качеством и влияет на весь процесс разработки. Чем он отличается от тестировщика ПО и что спрашивать такого специалиста на собеседовании? Рассказываем в статье.
Чем занимается QA-инженер
Главная задача QA-инженера — проконтролировать все этапы разработки, чтобы итоговый продукт работал корректно. QA инженер подключается к процессу в самом начале и следит за выполнением всех этапов. Он полностью погружается в продукт наравне с разработчиками, улучшает его и предотвращает возможные ошибки.
Чем отличается QA-инженер от тестировщика ПО
Эти роли путают не только новички в профессии, но и работодатели. Однако это два разных специалиста. Тестировщик ПО проверяет продукт только на финальном этапе, сверяя с изначальными требованиями. То есть получается, что он работает по некоторому шаблону. А вот QA-инженер обеспечивает качество и исправляет баги в ходе всей разработки до момента официального релиза. В этом их основное отличие друг от друга. Специалист по тестированию — конечное звено, а QA-инженер — участник всего процесса.
Что должен знать QA инженер
Прежде чем перейти к вопросам для собеседования, давайте разберемся, что должен знать QA-инженер разного уровня.
Junior
Специалист начального уровня с базовыми знаниями и опытом 6-8 месяцев. Знания и скиллы:
- Базовые принципы сети и веб-сервисов;
- Системы баг-трекинга (Jira, Bugzilla, Redmine);
- Минимальный опыт с тест-кейсами;
- Составление отчетов, тестовой документации и сценариев;
- Определение и составление багов;
- Система Severity и Priority.
Middle
Специалист с опытом в тестировании от 1 года. Кроме самостоятельной работы, он тесно взаимодействует с разработчиками и всей командой. Мидла также можно рассматривать как наставника для молодых специалистов.
Знания и скиллы:
- Функционирование web-приложений (клиент-сервер, HTTP);
- Опыт составления тестовой документации всех типов;
- Клиент-серверная архитектура;
- Самостоятельная разработка тест-кейсов;
- Системы контроля версий и обнаружения багов;
- Разные виды тестирования: функциональное, нефункциональное, ручное, автоматизированное и т.д.;
- Тестовые фреймворки;
- SQL;
- Java;
- Английский язык — B2.
Senior
Эксперт с опытом тестирования от 3 лет. Он отлично разбирается в разных видах тестирования, видит продукт системно и принимает проектные решения. Знания и скиллы:
- Методология и разные методы тестирования: от ручного до нагрузочного;
- Инструменты тестирования для backend- и frontend-части;
- SQL-запросы;
- Автотесты: запуск, анализ падений, составление;
- Анализ полного цикла разработки ПО;
- Составление мануальных и автоматических тестовых сценариев;
- Современные frontend-технологии и основы интеграций;
- Один или несколько языков программирования;
- Английский язык — B2.
Вопросы для QA инженера
Теоретическая часть для Junior
- Что такое SDLC?
Ответ. Жизненный цикл разработки ПО. Он состоит из нескольких этапов: анализ продукта, планирование, проектирование, разработка, тестирование, реализация.
- Какие бывают принципы тестирования?
Ответ. Их семь. 1. Тестирование показывает наличие дефектов. 2. Тестирование не может показать все возможные ошибки. 3. Тестирование на первоначальном этапе экономит время и деньги. 4. Большая часть дефектов сконцентрирована в определенных модулях системы. 5. Парадокс пестицида: долгая проверка одной и той же части не приведет к новым багам. 6. Выбор методов тестирования определяется объектом. 7. Отсутствие дефектов и ошибок не говорит о высоком качестве продукта. - Что входит в тестовую документацию?
Ответ. 1. План тестирования. 2. Тест-кейсы (проверка функционирования программы). 3. Чек-лист. 4. Баг-репорт. 5. Итоговый отчет. 6. Инструкция.
- Что такое план тестирования?
Ответ. Это документ, в котором описан подробный план действий по проверке продукта. В него входит объект проверки, подробное описание работы, фаза старта и окончания тестирования, методы, пункты планируемых тестов.
- Что такое чек-лист и в каком случае используется?
Ответ. Документ с кратким описанием пунктов тестирования программы. Их можно использовать как первоначальный этап перед тест-кейсами, так и в качестве полноценного метода. Подходят для простых сервисов и продуктов. Преимущества: легко читается, быстрое тестирование, удобный анализ результатов, виден статус проверки. Недостатки: неопределенность метода и тестовых данных, небольшая детализация, меньшая эффективность в сравнении с тест-кейсами.
- Что такое тест-кейс и в каком случае используется?
Ответ. Это проверка функциональности продукта в виде последовательных шагов. В тест-кейс входит описание тестирования всего продукта или какой-то части. Подходит для сложных проектов с большой командой. Преимущества: структурированность, детализация, эффективность, экономия времени команды. Недостатки: требуют постоянного обновления, временные затраты тестировщика, не подходят для маленьких проектов.
- В чем разница между тест-планом и тест-кейсом?
Ответ. Тест-план — это подробный документ по тестированию с целями, объемом и методами. Тест-кейс — это небольшой документ для тестирования с описанием типичной и некорректной ситуации при использовании продукта.
- Что такое баг?
Ответ. Разница между реальным и ожидаемым поведением ПО. Об этом можно узнать из документации, спецификации и требований.
- Что такое баг-репорт и какие части в нем важны?
Ответ. Технический документ, содержащий полное описание бага и условия его возникновения. Части: шаги воспроизведения, краткое описание, необходимость, приоритет, статус.
Теоретические вопросы для Middle
- Вы нашли баг, а разработчик не соглашается с ним. Что делать?
Ответ. Нужно найти конкретное требование с описанием функционала. Если в документации информации нет, но разработчик не готов исправлять ошибку, нужно обратиться к тимлиду тестировщиков.
- Как написать баг-репорт?
Ответ. Нужно использовать три принципа: Что произошло? Где возникла ошибка? При каких обстоятельствах? Далее нужно написать один баг-репорт на найденный баг.
- Зачем нужно тестирование API?
Ответ. Тестирование API в основном необходимо для проверки системного, прикладного ПО или библиотек. Используется метод “белого ящика”.
- Что такое регрессионное тестирование?
Ответ. Тестирование продукта после исправление ошибки разработчиком. Нужна для того, чтобы убедиться в отсутствии новых багов. - Назовите основные виды тестирования.
Ответ. Функциональное — основано на функциях ПО решать нужные задачи (тестирование производительности, нагрузочное тестирование, объемное тестирование и т.д.). Нефункциональное — определяет характеристики ПО, которые не относятся к функциям продукта; проверяет, как работает система (белый и черный ящик, модульное, регрессионное, интеграционное и т.д.).
- В чем отличие между валидацией от верификаций?
Ответ. Верификация — подтверждение того, что продукт соответствует изначальным требованиям. Валидация — подтверждение того, что продукт создан правильно.
Теоретические вопросы для Senior
Для Senior QA инженера можно задать минимум вопросов и сделать упор на практические задания — так вы сразу поймете экспертизу кандидата.
Из теории у кандидата можно спросить о методологии и методах тестирования, тестовых сценариях, инструментах тестирования серверной и пользовательской части продукта. Подготовьте 10–15 вопросов, которые касаются технологий вашего проекта.
Практические задачи
Здесь важно оценить реальные скиллы кандидата и его качество тестирования. Этот этап можно проводить на самом интервью или дать домашнее задание. Все зависит от уровня позиции и задач, которые предстоит решать. В любом случае не стоит давать сложное приложение с трудоемкостью тестирования. Даже сеньор не будут от этого в восторге. Оптимальное время на задачу — 15–20 минут. Что может включать практическое задание:
- Написать развернутый текст-кейс;
- Задача с выбором техники тестирования;
- Тестирование популярного продукта/сайта (можно предложить свой или любой на ваш вкус).
Еще один показатель экспертизы — это предыдущий опыт тестировщика. Спросите его, чем он конкретно занимался, какую роль выполнял, и какие методики использовал. Чем подробнее кандидат ответит, тем вам будет понятнее его реальный бэкграунд. Пусть кандидат покажет свой опыт на примере. Например, составить тест-план с предыдущих проектов.
На что обратить внимание рекрутеру
Кроме теории и практики, важно задать несколько общих вопросов. Тестирование — это первоначальная ступень в IT сфере, с которой начинают многие программисты. Поэтому важно понять, какие планы у кандидата и почему он выбрал эту сферу. Задавайте открытые и ситуационные вопросы. Например, такие:
- Почему вы выбрали QA?
- Что вас мотивирует в рабочем процессе?
- Как вы решаете разногласия с коллегами в видении продукта?
- С чего вы начнете работу в проекте, где вы — единственный тестировщик?
- Что вам нравится в профессии и что не нравится?
- Опишите идеальную команду.
- Какие у вас увлечения?
- Как вы повышаете свои компетенции?
В статье мы рассказали о том, за что отвечает QA инженер и как его оценить на собеседовании. Если у вас возникли сложности с подбором такого сотрудника, обращайтесь к нам.
Оставляйте заявку на нашем сайте — мы поможем найти классного специалиста.