Что такое регрессионное тестирование? Определение, контрольные примеры (пример)

Содержание:

Anonim

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод:

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