# Что такое регрессионное тестирование Регрессионное тестирование — это проверка работоспособности приложения после внесения модификаций и доработок. Оно позволяет убедиться, что внесенные изменения не нарушили должное функционирование системы. Результатом изменений кода могут быть зависимости, дефекты и сбои. Регрессионное тестирование направлено на снижение этих рисков, чтобы уже созданный и протестированный код продолжал функционировать даже после внесения в него изменений. Обычно приложение проходит несколько тестов, прежде чем изменения будут помещены в основную ветвь разработки. Последний этап, регрессионное тестирование, проверяет общее поведение продукта. Регрессионное тестирование обеспечивает общую стабильность и эффективность текущих функций. # Когда проводить регрессионное тестирование? Регрессионное тестирование часто проводят в следующих ситуациях: * выдвижение новых требований к существующей функции; * добавление новой функции; * исправление базы исходного кода в результате устранения бага; * оптимизация исходного кода для повышения производительности; * установка исправлений (патчей); * изменения конфигурации. # Как проводить тестирование Шаг 1. Распознайте изменения исходного кода Найдите измененные компоненты или модули и их влияние на текущие функции. Затем определите модификацию и оптимизацию в исходном коде. Шаг 2. Установите приоритет этих изменений и требований к продукту Далее упорядочьте эти изменения и спецификации продукта, чтобы упростить процедуру тестирования с помощью подходящих инструментов и сценариев тестирования. Шаг 3. Установите критерии входа и точку входа Перед запуском регрессионного теста убедитесь, что ваше приложение соответствует критериям приемлемости. Шаг 4. Выберите точку выхода Установите конечную точку или точку выхода для минимальных требований или критериев приемлемости, указанных на третьем шаге. Шаг 5. Составьте план своих тестов Наконец, составьте список всех тестовых компонентов и установите подходящее время выполнения. # Методы регрессионного тестирования Существуют три наиболее известных метода реализации регрессионного тестирования: полная регрессия, выбор теста и приоритизация тест-кейсов. 1. Полная регрессия В этом методе регрессионное тестирование используется во всех активных наборах тестов. Несмотря на то, что этот подход требует много времени и ресурсов, с его помощью вы гарантированно обнаружите и устраните все дефекты. Следовательно, метод полной регрессии работает лучше всего в тех случаях, когда программа модифицируется для новой платформы или языка либо обновляется операционная система. 2. Выбор регрессионного теста Регрессионное тестирование может ограничиваться только необходимыми компонентами, на которые могут повлиять изменения. Вы можете применить несколько более актуальных тест-кейсов, сосредоточившись на связных областях, что сократит время и работу, необходимые для проведения регрессионного тестирования. 3. Приоритизация тест-кейсов Определите приоритеты тест-кейсов: какие из них будут запущены первыми в процедуре регрессионного тестирования. Приоритизация должна основываться на таких факторах, как процент сбоев, коммерческий эффект и постепенно внедряемые функции. Большое внимание также уделяется тест-кейсам для новых возможностей и клиентских компонентов.