Блог

Топ-20 вопросов на собеседовании по регрессионному тестированию

Вас пригласили на собеседование по вакансии Тестировщик ПО. Ура! 💪😃 Как готовиться к собеседованию, мы уже рассказывали в этой статье. А какие вопросы будут задавать? Какие темы повторить? Разбираем самые популярные вопросы на собеседовании на вакансию по регрессионному тестированию и, конечно, даем ответы на них.

Регрессивное тестирование проводится для проверки того, что измененный код не нарушает функциональность приложения. Его можно проводить вручную или автоматически. Этот метод функционального тестирования проходит несколько этапов и требует тщательного рассмотрения во время тестирования 👩‍💻👀


Базовые вопросы


🔹#1. Что такое функциональное тестирование?
Это тестирование черного ящика, при котором производительность приложения проверяется путем ввода определенных входных данных и получения желаемых выходных данных. Целью функционального тестирования является проверка поведения приложения на основе спецификаций документов, а также проверка того, готово ли приложение к выпуску в определенной среде.

🔹#2. Какие методы функционального тестирования самые популярные?
Модульное тестирование, дымовое, регрессионное , юзабилити-тестирование, интеграционное, системное, приемочное тестирование пользователей и так далее.

🔹#3. Что такое регрессионное тестирование?
Это простой процесс повторения тест-кейсов, который выполняется каждый раз, когда изменяется функциональность приложения. Это может быть код, дизайн или любые другие вещи, связанные с фреймворком. Регрессионное тестирование гарантирует, что изменения не повлияют на функциональность приложения и не нарушат ее.

🔹#4. Регрессионное тестирование выполняется вручную или автоматически?
Выполнить его можно как вручную, так и автоматически. Это зависит от того, какая техника больше всего соответствует требованиям проекта.

🔹#5. Как провести регрессионное тестирование?
Когда приложение маленькое, регрессионное тестирование можно выполнить вручную. Со временем приложение начинает усложняться, и тогда нужны инструменты тестирования, чтобы ускорить процесс. В этом случае регрессионное тестирование стоит автоматизировать.

🔹#6. Какие шаги необходимо выполнить при выполнении регрессионного тестирования?
При любых изменениях в приложении/программе для проведения регрессионного тестирования нужно:
  • Выяснить, какие изменения внесли в приложение
  • Проверить, как это может повлиять на поведение приложения
  • Внимательно изучить тест-кейс и определить, какое нужно выполнить тестирование - полное, частичное или модульное. Также надо проверить, какое тестирование больше всего соответствует требованиям
  • Выполнить тестирование

🔹#7. Почему регрессионное тестирование полезно для ИТ-отраслей?
Каждый раз, когда программист добавляет новый код для исправления предыдущей ошибки, одновременно появляется несколько новых ошибок. Цель регрессионного тестирования - проверить, соответствует ли новый код старому. Поведение приложения должно соответствовать ожиданиям, в противном случае изменения немедленно отменяются. Для этого необходимо, чтобы тестирование было завершено прежде, чем продукт будет выпущен на рынок. Это непрерывный процесс, и его следует рассматривать как рутинную деятельность во время разработки приложения.

🔹#8. Насколько необходимо регрессионное тестирование?
Это зависит от характера приложения и объема изменений. Если объем большой, то тестирование необходимо провести тщательно, и на это потребуется время. Полную информацию об объеме, характере приложений и общем объеме изменений можно получить у разработчиков.

🔹#9. Какие типы регрессионного тестирования наиболее распространены?
3 популярных типа:
  • Регрессия багов - попытка доказать, что исправленная ошибка на самом деле не исправлена
  • Регрессия старых багов - попытка доказать, что недавнее изменение кода или данных сломало исправление старых ошибок, то есть старые баги стали снова воспроизводиться
  • Регрессия побочного эффекта - попытка доказать, что недавнее изменение кода или данных сломало другие части разрабатываемого приложения

🔹#10. В какое время лучше всего проводить регрессионное тестирование?
В основном регрессионное тестирование проводится на протяжении всего процесса разработки. Тем не менее, лучшее время для его выполнения - после дымового тестирования или в конце функционального тестирования после короткого релиза.

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


🔹#11. Как можно эффективно провести регрессионное тестирование?
Для эффективного выполнения регрессионного тестирования необходимо создать планы тестирования. План будет включать стратегию тестирования и критерии выхода. Тестирование производительности также проводиться позже, чтобы убедиться, что изменения не повлияют на производительность компонентов системы.

🔹#12. Какие существуют лучшие практики для успешного выполнения регрессионного тестирования?
Вот некоторые передовые практики для успешного выполнения регрессионного тестирования без каких-либо сбоев:
  • Тест-кейсы должны запускаться автоматически ежедневно вечером, когда в приложение вносятся изменения
  • Таким образом, ошибки могут быть обнаружены на ранней стадии, и они будут немедленно исправлены
  • Это также снизит связанные с выпуском риски за счет устранения всех дефектов как можно раньше в конце цикла выпуска

🔹#13. Зачем нам нужны инструменты регрессионного тестирования?
Инструменты регрессии жизненно важны для автоматизации процесса тестирования, когда мы загружены большим количеством тест-кейсов, выполнение которых вручную невозможно и требует много времени. Здесь нам нужны инструменты регрессионного тестирования, где тест-кейсы могут выполняться автоматически - это экономит наше драгоценное время. А то, на каком уровне автоматизировать процесс тестирования, зависит от количества тест-кейсов, которые еще предстоит выполнить.

🔹#14. Использовали ли вы какой-либо инструмент регрессионного тестирования во время какого-либо проекта?
Да, у меня есть опыт использования Selenium. Это популярный инструмент автоматизации, в котором сценарии тестирования автоматизированы для удобства.

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

🔹#16. Каких стратегий следует придерживаться при проведении регрессионного тестирования?
Есть две популярные стратегии, которым можно следовать:
  • Либо запустить все тест-кейсы
  • Либо выбрать набор тест-кейсов в зависимости от характера и объема изменений

🔹#17. Когда команда QA проводит регрессионное тестирование?
Регрессионное тестирование выполняется, когда команда QA получает новую сборку, подверженную ошибкам. Нужно выявлять ошибки во время каждого цикла выпуска и убедиться, что приложение по-прежнему работает нормально, как и раньше.

🔹#18. Можете ли вы объяснить концепцию регрессионного тестирования с помощью примера?
Да. Возьмем пример проекта, имеющего несколько модулей, таких как модуль администратора, модуль сотрудников, модули личных данных и так далее. В модуле администратора есть некоторая ошибка, например, пользователи не могут войти в свою учетную запись даже с правильными учетными данными. Итак, это ошибка, и команда разработчиков должна ее исправить. Здесь команда разработчиков изменила существующий код или добавила новый код, чтобы исправить эту проблему, и модуль снова отправляется обратно группе тестирования.
Теперь тестировщики проверяют, не повлиял ли модифицированный код на поведение остальной части приложения. Либо мы видим ожидаемый результат, либо код нуждается в изменениях. Это называется регрессионным тестированием, при котором новый код никогда не должен влиять на функциональность приложения во время исправления ошибок.

🔹#19. На какие важные факты следует обратить внимание при написании регрессионных тестов?
Написание тест-кейса - самый важный шаг в процессе тестирования. На что следует обратить внимание:
  • Чтобы написать тест-кейсы, нужно четко понимать требования клиента
  • Каждое требование должно быть представлено в виде тест-кейсов и не упущено ни одной важной детали
  • Основываясь на спецификациях документа, нужно помнить, что одинаково корректно представлены как функциональные, так и нефункциональные требования
  • Время от времени следует пересматривать контрольные кейсы и следить за тем, чтобы они не повторялись
  • Как только в приложение будут внесены изменения, нужно разработать новые тест-кейсы, если старые неактуальны
  • Структура тест-кейса должна быть проще, чтобы ее можно было проверить на более широком диапазоне данных

🔹#20. В чем разница между регрессионным и повторным тестированием?
Повторное тестирование необходимо для проверки тех тест-кейсов, которые не были выполнены до конца из-за возникновения каких-либо дефектов.


Это самые популярные вопросы и ответы на собеседовании по регрессионному тестированию, которые необходимо изучить при подготовке. Удачи на собеседовании! 🤞🍀
Made on
Tilda