
Какво е регресионно тестване?
ИЗПИТВАНЕТО ЗА РЕГРЕСИЯ се определя като вид софтуерно тестване, за да се потвърди, че скорошна промяна на програма или код не е повлияла неблагоприятно на съществуващите функции.
Регресионното тестване не е нищо друго освен пълен или частичен подбор на вече изпълнени тестови случаи, които се изпълняват повторно, за да се гарантира, че съществуващите функции работят добре.
Това тестване се прави, за да се гарантира, че новите промени в кода не трябва да имат странични ефекти върху съществуващите функционалности. Той гарантира, че старият код все още работи, след като бъдат направени последните промени в кода.
В този урок ще научим
- Необходимост от регресивно тестване
- Как се прави регресионно тестване
- Избор на тестови случаи за регресионно тестване
- Инструменти за тестване на регресия
- Тестване на регресия и управление на конфигурацията
- Разлика между повторно тестване и регресивно тестване
- Предизвикателства при регресионното тестване
- Практическо приложение на пример за тестване на регресия с видео
Необходимост от регресивно тестване
В Необходимостта от регресия, извършваща основно възниква винаги, когато има изискване за промяна на кода и ние трябва да се провери дали модифицираната кода засяга другата част от софтуерно приложение, или не. Освен това е необходимо регресивно тестване, когато към софтуерното приложение се добави нова функция и за отстраняване на дефекти, както и за отстраняване на проблеми с производителността.
Как се прави регресионно тестване
За да извършим процес на тестване на регресия , трябва първо да отстраним грешките в кода, за да идентифицираме грешките. След като бъговете бъдат идентифицирани, се правят необходими промени за отстраняването му, след което се извършва регресионното тестване, като се избират съответните тестови случаи от тестовия пакет, който обхваща както модифицирани, така и засегнати части на кода.
Поддръжката на софтуер е дейност, която включва подобрения, корекции на грешки, оптимизиране и изтриване на съществуващи функции. Тези модификации могат да доведат до неправилна работа на системата. Следователно, регресионното тестване става необходимо. Регресионното тестване може да се извърши, като се използват следните техники:


Повторно тестване на всички
- Това е един от методите за тестване на регресия, при който всички тестове в съществуващата тестова група или пакет трябва да бъдат изпълнени повторно. Това е много скъпо, тъй като изисква огромно време и ресурси.
Избор на регресионен тест
Изборът на регресионен тест е техника, при която някои избрани тестови случаи от тестовия пакет се изпълняват, за да се тества дали модифицираният код засяга софтуерното приложение или не. Тестовите случаи са категоризирани на две части, тестове за многократна употреба, които могат да бъдат използвани в следващи цикли на регресия, и остарели тестови случаи, които не могат да бъдат използвани в следващите цикли.
Приоритизиране на тестовите случаи
- Приоритизирайте тестовите случаи в зависимост от въздействието върху бизнеса, критичните и често използвани функционалности. Изборът на тестови казуси въз основа на приоритет значително ще намали регресионния набор от тестове.
Избор на тестови случаи за регресионно тестване
От данните в индустрията беше установено, че голям брой дефекти, съобщени от клиентите, се дължат на корекции на грешки в последния момент, създаващи странични ефекти и следователно изборът на Тест за регресионно тестване е изкуство и не е толкова лесно. Ефективни регресионни тестове могат да се направят, като се изберат следните тестови случаи -
- Тествайте случаи, които имат чести дефекти
- Функции, които са по-видими за потребителите
- Тествайте случаи, които проверяват основните характеристики на продукта
- Тествайте случаи на функционалности, които са претърпели нови и скорошни промени
- Всички случаи на тестове за интеграция
- Всички сложни тестови случаи
- Тестови случаи за гранична стойност
- Пример за успешни тестови случаи
- Извадка от тестове за неуспех
Инструменти за тестване на регресия
Ако вашият софтуер претърпи чести промени, разходите за регресионно тестване ще нараснат. В такива случаи ръчното изпълнение на тестови случаи увеличава времето за изпълнение на теста, както и разходите. Автоматизацията на регресионните тестови случаи е интелигентният избор в такива случаи. Степента на автоматизация зависи от броя на тестовите случаи, които остават повторно използваеми за последователни цикли на регресия.
Следват най-важните инструменти, използвани както за функционално, така и за регресивно тестване в софтуерното инженерство:
Селен : Това е инструмент с отворен код, използван за автоматизиране на уеб приложения. Селенът може да се използва за базирано на браузър тестване за регресия.
Quick Test Professional (QTP) : HP Quick Test Professional е автоматизиран софтуер, предназначен да автоматизира функционални и регресионни тестове. Той използва VBScript език за автоматизация. Това е инструмент, базиран на данни, базиран на ключови думи.
Рационален функционален тестер (RFT) : Рационалният функционален тестер на IBM е Java инструмент, използван за автоматизиране на тестовите случаи на софтуерни приложения. Това се използва предимно за автоматизиране на регресионни тестови случаи и се интегрира с Rational Test Manager.
Тестване на регресия и управление на конфигурацията
Управлението на конфигурацията по време на тестването на регресия става задължително в гъвкави среди, където кодът непрекъснато се модифицира. За да осигурите ефективни регресионни тестове, спазвайте следното:
- Кодът, който се тества за регресия, трябва да бъде под инструмента за управление на конфигурацията
- По време на фазата на регресионния тест не трябва да се допускат промени в кодирането. Кодът за регресионен тест трябва да бъде защитен от промени в разработчика.
- Базата данни, използвана за регресионно тестване, трябва да бъде изолирана. Не трябва да се допускат промени в базата данни
Разлика между повторно тестване и регресивно тестване:
Повторното тестване означава тестване на функционалността или грешка отново, за да се гарантира, че кодът е фиксиран. Ако не е коригиран, дефектът трябва да се отвори отново. Ако е поправен, Дефектът е затворен.
Регресионното тестване означава тестване на вашето софтуерно приложение, когато то се подлага на промяна на кода, за да се гарантира, че новият код не е повлиял на други части на софтуера.
Също така, вижте пълния списък с разликите тук.
Предизвикателства при регресионното тестване:
Следват основните проблеми при тестване за извършване на регресионно тестване:
- С последователни регресивни тестове, тестовите комплекти стават доста големи. Поради ограничения във времето и бюджета не може да бъде изпълнен целият набор от тестове за регресия
- Минимизирането на тестовия пакет, като същевременно се постига максимално покритие на теста, остава предизвикателство
- Определянето на честотата на тестовете за регресия, т.е. след всяка модификация или всяка актуализация на компилацията или след куп корекции на грешки, е предизвикателство.
Практическо приложение на пример за тестване на регресия с видео
Щракнете тук, ако видеоклипът не е достъпен
Заключение:
Ефективна стратегия за регресия, спестяване на организации както на време, така и на пари. Според едно от казусите в банковата област, регресията спестява до 60% време в корекции на грешки (което би било уловено от регресионните тестове) и 40% в пари