Регрессионное тестирование программного обеспечения

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

Регрессионное Тестирование, Just as I expected..

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

Или в оригинале:

Regression testing — testing of a previously tested program following modification to ensure that defects have not been introduced or uncovered in unchanged areas of the software, as a result of the changes made. It is performed when the software or its environment is changed. [ISTQB Glossary]

Regression Testing является одним из двух видов тестирования, связанных с изменениями. [ISTQB FL]

Видео

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

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

                              

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

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

Тестируем регрессию на Scrum-проекте: о чем важно помнить

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

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

1. Подготовить план тестирования

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

2. Создать доску регрессии

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

3. Анализировать отчеты о дефектах

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

4. Добавить исследовательское тестирование

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

5. Настроить модель коммуникации на проекте

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

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

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

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

Симптомы невроза

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

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

  • Раздражительность;
  • Постоянное чувство усталости и апатии;
  • Повышенная чувствительность;
  • Социальная изоляция;
  • Частые и неожиданные перепады настроения;
  • Нарушения режима сна и бодрствования;
  • Потеря интереса к жизни или к определенным её сферам.

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

Поэтому при бессоннице специалисты рекомендуют несколько простых и эффективных правил:

  • Соблюдать режим дня, то есть стараться засыпать и просыпаться в одно и тоже время;
  • Заниматься спортом, давая организму лёгкую нагрузку;
  • Чаще бывать на свежем воздухе;
  • Сократить количество напитков, содержащих кофеин;
  • Употреблять в пищу лёгкие продукты, чтобы избежать дискомфорта в желудке.

По каким причинам развивается невроз?

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

Какие изменения могут повлечь за собой регрессию?

Какие изменения могут повлечь за собой регрессию?

Изменения в коде:

  • Новый функционал
  • Исправление дефекта
  • Рефакторинг кода
  • Обновление версий библиотек

Изменения в окружении:

  • Переход на другой сервер или базу данных
  • Обновление версии сервера или базы данных
  • Изменения в сторонних системах, с которыми интегрируется наше приложение

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

Поэтому регрессионные тесты являются одним из первых кандидатов на автоматизацию.

Теги