Що таке регресійне тестування?
Регресійне тестування — повторна перевірка вже працюючої функціональності після змін у коді. Його мета — переконатися, що нова функція чи виправлення бага не зламали нічого з того, що раніше працювало.
Потреба виникає через звʼязність коду: правка в розрахунку знижки може несподівано вплинути на формування чека чи звітність. Що більша система, то менш очевидні такі звʼязки й то важливіше регулярно перевіряти старі сценарії.
Регресію проводять перед кожним релізом, і саме вона — головний кандидат на автоматизацію: набір перевірок стабільний, повторюється постійно й вручну займає забагато часу. У зрілих командах регресійний набір запускається автоматично за кожної збірки.
Повʼязані терміни
Автоматизація тестування — написання програм, які самі виконують перевірки й порівнюють результат з очікуваним. Такі тести запускають за кожної зміни коду, щоб швидко помічати поломки у вже працюючій функціональності.
Software TestingТестування ПЗ — перевірка того, що програма працює так, як задумано: відповідає вимогам, коректно поводиться за несподіваних даних і не ламається там, де раніше працювала. Мета — знайти дефекти до того, як їх знайде користувач.
CI/CDCI/CD — автоматичний конвеєр, через який проходить кожна зміна коду: збірка, запуск тестів і доставка готової версії на сервери. Розробник надсилає код у репозиторій, а все інше відбувається без ручних дій.
Test CaseТест-кейс — опис однієї перевірки: за яких умов, які кроки виконати, з якими даними і що вважається правильним результатом. За хорошим тест-кейсом перевірку може виконати будь-яка людина в команді й отримати той самий висновок.
QAQA (Quality Assurance) — забезпечення якості продукту: робота над тим, щоб дефекти не зʼявлялися, а не лише знаходилися. QA охоплює весь процес розробки — від аналізу вимог до випуску версії.