регресійне тестування
Регресійне тестування - це набір тестів, спрямованих на виявлення дефектів у вже протестованих ділянках додатки. Робиться це зовсім не для того, щоб остаточно переконатися у відсутності багів, а для пошуку і виправлення регресійних помилок. Регресивні помилки - ті ж баги, але з'являються вони не при написанні програми, а при додаванні в існуючий білд нової ділянки програми або виправлення інших багів, що і стало причиною виникнення нових дефектів в уже протестованому продукті.
Таким чином, ми можемо сказати, що мета регресійного тестування - переконатися, що виправлення одних багів Герасимчука причиною виникнення інших і що оновлення билда не створила нових дефектів в уже перевіреному коді.
Є кілька видів регресійних тестів:
• Верифікаційні тести. Проводиться для перевірки виправлення виявленого і відкритого раніше бага.
• Тестування верифікації версії. Містить принципи димного тестування і тестування збірки: перевірка працездатності основної функціональності програми в кожній новій збірці.
• Безпосередньо саме регресійне тестування - повторне виконання всіх тестів, які були написані і проведені раніше. Вони виконуються по вже існуючим тест-кейсів незалежно від того, були в ході їх проходження знайдені баги, чи ні.
• Тестування в новому білді вже виправлених багів в старих білдах. Це виконується для того, щоб перевірити, чи не відновило чи оновлення билда старих дефектів.
Деякі положення щодо того, як проводити регресійне тестування:
• Даний вид тестування проводиться в кожному новому білді.
• Починати потрібно з верифікації версії (тестування збірки і димна тестування).
• Перевірка виправлених багів.
• Регресійне тестування, в основному, не покриває всі додаток, а тільки ті ділянки, які тим чи іншим способом «стикаються» зі змінами в білді.
Далі тестуються вже закриті раніше баги.
1) Регресійне тестування рекомендується проводити кілька разів (3-5). Тому, з метою економії дорогоцінного часу (і, може бути, для позбавлення від «рутинності») в регресійних тестах активно використовують міць автоматизації тестування.
2) Проведення фінального регресійного тестування, для якого відбираються тести по пріоритету, який визначається найбільшою кількістю знайдених помилок.
Також регресійне тестування активно використовується в екстремальній розробці.