Фундаментальная проблема при сопровождении программ состоит в том, что исправление одной ошибки с вероятностью в 20—50 % влечет появление новой.
Бороться с этим помогает регрессионное тестирование – вид тестирования направленный на проверку изменений, сделанных в приложении или окружающей среде. Оно помогает подтвердить, что существующая функциональность работает так, как ожидается.
Регрессионными могут быть как функциональные, так и нефункциональные тесты.
Регрессионное тестирование рекомендуется проводить каждый раз после корректировки программы или сайта. Изменения могут включать в себя исправление дефектов, слияние кода, миграцию на другую ОС или БД, добавление новой функциональности и прочее.
В современных процессах разработки изменения в программное обеспечение, как правило, вносятся очень часто. Регрессионное тестирование может ввести много ненужных накладных расходов.
Поэтому очень часто регрессионное тестирование подвергается различной оптимизации – или частичному выполнению, или автоматизации.
Как регрессионное тестирование работает на практике
Для примера представим некий сайт. Для поля ввода логина и для поля поиска на странице используется один базовый элемент, просто разные его реализации.
Однажды сервер не смог обработать поисковый запрос и упал. Команда начала выяснять причины падения и выяснила, что пользователь ввел в поисковую строку различные символы. Для реализации функции поиска эти символы не нужны — то есть поисковый запрос они никак не обогащают.
Команда решила запретить вводить символы в строку поиска. Программист реализовал это требование на уровне базового элемента.
По итогам тестирования поиска дефект был исправлен, сервер больше не мог упасть от ввода символов в поисковую строку. Но теперь люди с символами в имени пользователя не могли войти в систему. Заметить эту новую проблему можно только при регрессионном тестировании.
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.