ЧТО ТАКОЕ РЕГРЕССИОННОЕ ТЕСТИРОВАНИЕ | ОПРЕДЕЛЕНИЕ, ИНСТРУМЕНТЫ, КАК ВЫПОЛНЯТЬ

ЧТО ТАКОЕ РЕГРЕССИОННОЕ ТЕСТИРОВАНИЕ | ОПРЕДЕЛЕНИЕ, ИНСТРУМЕНТЫ, КАК ВЫПОЛНЯТЬ

Содержание

В этом руководстве по регрессионному тестированию мы узнаем, что такое регрессионное тестирование, а также следующее.

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

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

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

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

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

В любое время. мы модифицируем приложение, мы должны провести регрессионное тестирование (мы проводим регрессионное тестирование).

ЧТО ТАКОЕ РЕГРЕССИОННОЕ ТЕСТИРОВАНИЕ | ОПРЕДЕЛЕНИЕ, ИНСТРУМЕНТЫ, КАК ВЫПОЛНЯТЬ

Также читайте: Что такое повторное тестирование? Когда мы проводим повторное тестирование?

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

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

Пример регрессионного тестирования

Предположим, что есть приложение с функциями «Добавить», «Сохранить» и «Удалить». Эти функции позволяют пользователям добавлять данные, сохранять данные и удалять данные. Сейчас разработчики разрабатывают новую функцию — «Обновление». Эта функция позволяет пользователям редактировать и обновлять данные. Как тестировщик, вы должны проверить введение новой функции (например, обновления), влияющей на существующие функции (например, функции «Добавить», «Сохранить» и «Удалить») или нет.

Посмотрите видео ниже, чтобы увидеть «Что это такое и когда мы это делаем»

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

Если вам понравилось это видео, подпишитесь на наш канал YouTube, чтобы получать дополнительные видеоуроки.

Какие бывают типы регрессионного тестирования?

Существует три типа регрессионного тестирования.

  1. Регрессия модулей
  2. Частичная регрессия
  3. Полная регрессия

< p>ЧТО ТАКОЕ РЕГРЕССИОННОЕ ТЕСТИРОВАНИЕ | ОПРЕДЕЛЕНИЕ, ИНСТРУМЕНТЫ, КАК ВЫПОЛНЯТЬ

< h3><сильный>#1. Модульная регрессия

Регрессионное тестирование модулейвыполняется на этапе модульного тестирования, и код тестируется как единый модуль без каких-либо зависимостей. Зависимости, если таковые имеются, временно заблокированы для независимого тестирования модуля.

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

Предположим, что есть форма для ввода сведений о пользователе, таких как имя (допускаются только алфавиты длиной до 10 символов), фамилия (допускаются только буквы алфавита длиной не более 10 символов), идентификатор Emai (допускаются алфавиты, цифры и специальные символы длиной не более 30 символов).<р>Основываясь на методах проектирования тестовых наборов, тестировщики проверяют приведенную выше форму после выпуска сборки.

После того как команда разработчиков выпускает сборку (B0001), тестировщики начинают тестировать эту сборку, чтобы проверить, соответствует ли форма работает, как ожидалось, или нет.

Если клиент запрашивает некоторые изменения в форме, скажите, что поля имени и фамилии должны содержать не более 15 символов вместо ранее заданных 10 символов.

Разработчики изменят функциональность и выпустят другую построить (<сильный>B0002), и тестировщики здесь только проверяют, могут ли Имя и Фамилия принимать не более 15 символов, и не будут проверять какие-либо другие функции первой сборки (B0001).

< p>Здесь тестировщики уверены, что увеличение количества символов в полях Имя и Фамилия не повлияет на функциональность формы, поэтому они проверяют только количество символов.

Тестирование только измененной функции называется Модульное регрессионное тестирование.

№ 2. Частичная регрессия

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

Это также известно как Региональное регрессионное тестирование.

Предположим, что у нас есть страница входа вместе с формой сведений о пользователе. Если тестировщик обнаружил дефект (D0001) в функциональности формы и сообщил о нем.

Разработчики исправляют это и выпускают другую сборку (скажем, B0003), содержащую исправление ошибки.

Во время тестирования сборки (B0003) тестировщики определяют исправление ошибки в пользовательском интерфейсе. форма сведений влияет на страницу входа.

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

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

#3. Полное регрессионное тестирование

Полное регрессионное тестирование означает, что регрессионное тестирование проводится для нескольких модулей, в которых изменение кода связано с другим модулем, и оно является неопределенным.< p>Его также называют полным регрессионным тестированием.

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

Методы регрессионного тестирования

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

Ниже приведены различные методы.

  1. Повторно протестировать все
  2. Выбор регрессионного теста
  3. Приоритизация тестовых наборов

ЧТО ТАКОЕ РЕГРЕССИОННОЕ ТЕСТИРОВАНИЕ | ОПРЕДЕЛЕНИЕ, ИНСТРУМЕНТЫ, КАК ВЫПОЛНЯТЬ

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

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

Это очень дорогой метод, так как он требует огромного времени, а также ресурсов, когда по сравнению с другими методами.

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

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

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

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

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

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

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

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

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

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

Когда мы проводим регрессионную проверку?

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

Некоторые примеры регрессионных тестов находятся здесь.

#1. Когда в приложение добавляются новые функции

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

#2. При наличии требования об изменении (CR)

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

# 3. При наличии исправления дефекта

Пример: Представьте, что кнопка входа не работает на странице входа, и тестер сообщает об ошибке, в которой говорится, что кнопка входа не работает. Как только ошибка исправлена ​​разработчиками, тестировщики проверяют ее, чтобы убедиться, что кнопка «Войти» работает в соответствии с ожидаемым результатом. Одновременно тестировщики проверяют другие функции, связанные с кнопкой входа.

#4. При наличии исправления проблемы с производительностью

Пример: загрузка главной страницы занимает 5 секунд. Сокращение времени загрузки до 2 секунд.

#5. При изменении среды

Пример: Обновление базы данных с MySQL на Oracle.

До сих пор мы видели, что такое регрессия и когда мы делаем регрессию. Теперь давайте посмотрим, как мы это делаем.

Как мы проводим регрессионное тестирование?

Для выполнения регрессионного тестирования необходимо выполнить следующие действия:

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

Автоматическое регрессионное тестирование

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

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

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

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

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

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

Ложное срабатывание — это когда тест неправильно сообщает об ошибке или ошибке.

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

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

Каковы проблемы регрессионного тестирования

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

#1. Правильный инструмент

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

#2. Ресурсы

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

#3. Отнимает много времени

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

#4. Тестовое покрытие

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

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

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

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

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

Обязательно прочитать: Учебное пособие по тестированию конфигурации

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

ЧТО ТАКОЕ РЕГРЕССИОННОЕ ТЕСТИРОВАНИЕ | ОПРЕДЕЛЕНИЕ, ИНСТРУМЕНТЫ, КАК ВЫПОЛНЯТЬ

В настоящее время большинство организаций следуют Agile-практикам. Agile работает в итеративном и инкрементальном методе. Разработчики работают над новой функциональностью и выпускают ее каждые 2-4 недели в виде спринт-релиза. В agile обязательно раз в 2-4 недели будет смена кода. В этом случае регрессионные тесты помогают тестировать новое изменение кода на каждой итерации, чтобы убедиться, что тестируемое приложение продолжает работать правильно после каждой итерации.

Рекомендации по регрессионному тестированию

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

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

Обязательно прочтите: Типы тестовых наборов, подлежащих автоматизации, и типы тестовых наборов, которые нельзя автоматизировать

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

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

Чтобы избежать этих проблем, мы можем выбрать автоматические регрессионные тесты.

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

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

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

#1. Селен

Selenium — это бесплатный инструмент автоматизации тестирования с открытым исходным кодом, который используется для автоматизации веб-приложений. Его можно использовать для тестирования веб-приложений во всех основных браузерах, включая Firefox, Chrome, Internet Explorer, Safari и Opera. Selenium также можно использовать для тестирования мобильных приложений на платформах Android и iOS.

#2. Katalon

Katalon Studio — это мощный инструмент автоматизированного тестирования, который можно использовать как для веб-тестирования, так и для тестирования мобильных устройств. Он поддерживает многие популярные языки программирования, такие как Java, Python, Ruby, Groovy и C#. Он помогает тестировщикам экономить время и деньги за счет автоматизации веб-тестирования, тестирования API и мобильных устройств.

Он поставляется с Katalon Recorder, который действует как инструмент записи и воспроизведения.

Katalon Studio IDE поддерживает создание тестовых случаев на Java и groovy.

#3. Ranorex

Ranorex Studio — это инструмент автоматизации тестирования без кода, который позволяет тестировщикам создавать, поддерживать и выполнять автоматизированные тесты для настольных, веб- и мобильных приложений. Ranorex предоставляет комплексное решение для сквозной автоматизации тестирования, включая поддержку Ranorex Studio — интегрированной среды разработки (IDE) для создания и поддержки тестовых сценариев Ranorex.

Ranorex также интегрируется с популярными системами непрерывной интеграции (CI), такими как Jenkins и TeamCity, что упрощает настройку автоматизированных рабочих процессов тестирования. Ranorex поддерживает тестирование на самых разных платформах, включая Windows, macOS и Linux. Тесты Ranorex можно выполнять на физических устройствах или эмуляторах/симуляторах.

Обязательно прочтите: Лучшие инструменты регрессионного тестирования

Преимущества и недостатки

Преимущества регрессионного тестирования

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

< strong>Недостатки регрессионного тестирования

  • Регрессионное тестирование может занять много времени без его автоматизации.
  • Его необходимо проводить для каждого небольшого изменения в программном коде.
  • Нам нужно разработать сложные тестовые сценарии для проведения регрессионного тестирования.
  • Каждый раз в Agile-спринте регрессионное тестирование следует повторять.

Заключение

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

Если у вас есть какие-либо вопросы, связанные с регрессионным тестированием, оставьте комментарий ниже.
TAG: qa

От QA genius

Adblock
detector