Другое

Регрессионное тестирование — это что, где и зачем оно используется?

Lorem ipsum dolor

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

 

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

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

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

 

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

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

  • исправления багов;
  • умышленное изменение кода: добавление, изменение, удаление функций;
  • внесение изменений в конфигурацию рабочего окружения: обновили PHP, Java, Linux, Windows, MySQL и т. д.;
  • переезд на другие серверы;
  • и др.

При этом изменения изменениям рознь. Не нужно запускать регрессионное тестирование, когда вносятся небольшие изменения в проект. Например, когда на сайте поменяли логотип или изменили формат даты. То есть из-за мелких изменений в проекте не стоит перепроверять весь сайт на наличие возможных багов. Если из-за изменения логотипа на сайте «ломается» весь ресурс, то тут вам тестирование не поможет. Тут нужно найти того «программиста», кто вам сделал сайт, и спросить у него, почему так происходит.

 

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

В качестве преимуществ можно отметить:

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

В качестве недостатков можно отметить:

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

 

Заключение

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

Схожие статьи

DigitalOcean хостинг и его аналоги: что это, функции и особенности
Другое

DigitalOcean хостинг и его аналоги: что это, функции и особенности

Для чего нужен Java и в чем он принципиально хорош
Другое

Для чего нужен Java и в чем он принципиально хорош

Теоретический минимум по Big Data: станьте специалистом с нуля
Другое

Теоретический минимум по Big Data: станьте специалистом с нуля

Библиотека распознавания речи: что это и какие существуют
Другое

Библиотека распознавания речи: что это и какие существуют