Учебники

Регрессионное тестирование

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

РЕГРЕССИОННОЕ ИСПЫТАНИЕ определяется как тип тестирования программного обеспечения для подтверждения того, что недавнее изменение программы или кода не оказало неблагоприятного воздействия на существующие функции.

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

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

В этом уроке мы узнаем

Необходимость регрессионного тестирования

Регрессионное тестирование требуется, когда есть

  • Изменение требований и кода изменяется в соответствии с требованием
  • Новая функция добавлена ​​в программное обеспечение
  • Устранение дефектов
  • Исправлена ​​проблема с производительностью 

Как сделать регрессионное тестирование

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

                              

Регрессионное тестирование

Перепроверить все

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

Выбор регрессионного теста

  • Вместо повторного выполнения всего набора тестов, лучше выбрать часть набора тестов для запуска
  • Выбранные тестовые наборы можно отнести к категории 1) повторно используемые тестовые наборы 2) устаревшие тестовые наборы.
  • Повторно используемые контрольные примеры могут использоваться в последующих циклах регрессии.
  • Устаревшие тестовые случаи не могут быть использованы в последующих циклах.

Приоритизация тестовых случаев

  • Расставьте приоритеты тестовых случаев в зависимости от влияния на бизнес, критических и часто используемых функций. Выбор тестовых случаев на основе приоритета значительно сократит набор регрессионных тестов.

Выбор тестовых случаев для регрессионного тестирования

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

  • Тестовые случаи с частыми дефектами
  • Функциональные возможности, которые более заметны для пользователей
  • Тестовые случаи, которые проверяют основные характеристики продукта
  • Тестовые случаи функциональных возможностей, которые претерпели все новые и недавние изменения
  • Все интеграционные тесты
  • Все сложные тестовые случаи
  • Контрольные примеры граничных значений
  • Образец успешных тестовых случаев
  • Образец тестовых случаев Failure

Инструменты регрессионного тестирования

Если ваше программное обеспечение подвергается частым изменениям, затраты на регрессионное тестирование будут расти.

В таких случаях ручное выполнение тестовых случаев увеличивает время выполнения теста, а также затраты.

Автоматизация регрессионных тестов является разумным выбором в таких случаях.  

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

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

Ranorex Studio : универсальная автоматизированная система регрессионного тестирования для настольных, веб-и мобильных приложений со встроенным Selenium WebDriver. Включает в себя полный IDE плюс инструменты для автоматизации без кода.

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

Quick Test Professional (QTP) : HP Quick Test Professional — это автоматизированное программное обеспечение, разработанное для автоматизации функциональных и регрессионных тестов. Он используетязык VBScript для автоматизации. Это управляемый данными инструмент на основе ключевых слов. 

Rational Functional Tester (RFT) : рациональный функциональный тестер IBM — это инструмент Java , используемый для автоматизации тестовых случаев программных приложений. Это в основном используется для автоматизации регрессионных тестов, а также интегрируется с Rational Test Manager. 

Регрессионное тестирование и управление конфигурацией

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

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

Разница между повторным и регрессионным тестированием:

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

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

Кроме того, ознакомьтесь с полным списком различий здесь .

Проблемы в регрессионном тестировании:

Проблемы в регрессионном тестировании

 Ниже приведены основные проблемы тестирования для проведения регрессионного тестирования:

  • При последовательных регрессионных прогонах тестовые наборы становятся довольно большими. Из-за временных и бюджетных ограничений весь набор регрессионных тестов не может быть выполнен
  • Минимизация набора тестов при достижении максимального охвата тестами остается проблемой
  • Определение частоты регрессионных тестов, т. Е. После каждой модификации или каждого обновления сборки или после множества исправлений ошибок, является сложной задачей.

Практическое применение примера регрессионного тестирования с видео

Нажмите здесь, если видео не доступно

Вывод:

Эффективная регрессионная стратегия, экономит организации время и деньги. Согласно одному из тематических исследований в банковской сфере, регрессия экономит до 60% времени в исправлениях ошибок (которые были бы обнаружены регрессионными тестами) и до 40% в деньгах.