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

Показать описание
После добавления новых функций в ПО (программное обеспечение) мы должны убедиться, что эти новые функции не привели к ошибкам в старых функциях, которые до изменений работали правильно.
Для этого существует регрессионное тестирование – проверка ПО, позволяющая убедиться, что изменения не вызвали нежелательных побочных эффектов и измененная система по-прежнему соответствует требованиям.
Регрессионное тестирование обычно проводится перед релизом (т.е. публикацией) новой версии приложения.
Любое ПО по мере развития, становится всё более сложным, количество взаимосвязей увеличивается, а Регресс – это противоположность прогресса, и для обеспечения качества важно убедиться в том, что в разрастающейся системе не начинается процесс регресса. При внесении новых функций каждый раз нужно проверить не только эти функции, но и их взаимосвязь со старыми функциями.
Типы регресса:
• Регресс багов (Bugs regression) – проверка исправленных багов;
• Регресс старых багов (Old bugs regression) – проверка невоспроизводимости старых багов при изменении системы;
• Регресс побочных эффектов (Side effects regression) – при изменении ПО, проверка того, что остальные части ПО работают без ошибок.
Учёный в области теории вычислительных систем, автор книги «Мифический человеко-месяц», Фредерик Брукс, писал: «При сопровождении программ исправление одной ошибки с вероятностью 20–50 % влечёт появление новой»
Регрессивное тестирование при гибкой разработке ПО (Agile).
При гибкой разработке ПО, время работы делится на равные части длиной в 2-4 недели, которые называются спринтами. Регрессионные тесты готовятся в начале спринта обновляются с каждым последующим спринтом. Существует 2 вида регрессионного тестирования в гибкой разработке:
• Регрессионные тесты уровня спринта (Sprint level regression): выполняются для новых функций спринта;
• Сквозные регрессионные тесты (End-to-end regression): включают в себя все тесты, которые повторно выполняются для сквозного тестирования всего продукта, охватывают все основные функции.