85
соответствующими управляющими данными, процедурами использования и
обработки.
Идея состоит в том, чтобы писать тесты для каждой нетривиальной
функции или метода. Это позволяет достаточно быстро проверить, не
привело ли очередное изменение кода к регрессии, то есть к появлению
ошибок в уже оттестированных местах программы, а также облегчает
обнаружение и устранение таких ошибок.
Когда дана положительная оценка по всем метрикам статического
анализатора кода, специалист по тестированию в каждой из команд
приступает к проведению созданных тестов на новый функционал, и после
прохождения данных тестов, проводится регрессионное тестирование.
Регрессионное тестирование (англ. regression testing, от лат. regressio —
движение назад) — собирательное название для всех видов тестирования
программного обеспечения, направленных на обнаружение ошибок в уже
протестированных участках исходного кода. Такие ошибки — когда после
внесения изменений в программу перестаёт работать то, что должно было
продолжать работать, — называют регрессионными ошибками (англ.
regression bugs).
Регрессионное тестирование включает в себя new bug-fix — проверка
исправления вновь найденного дефекта, old bug-fix — проверка, что
исправленный ранее и верифицированный дефект не воспроизводится в
системе снова, а также side-effect — проверка того, что не нарушилась
работоспособность работающей ранее функциональности, если её код мог
быть затронут при исправлении некоторых дефектов в другой
функциональности. Обычно используемые методы регрессионного
тестирования включают повторные прогоны предыдущих тестов, а также
проверки, не попали ли регрессионные ошибки в очередную версию в
результате слияния кода.