Въведение в теста за регресия

Регресионното тестване се провежда, за да се провери дали новите промени не оказват влияние върху съществуващите функции, функционалността на приложението или софтуера. Регресионното тестване се използва, за да се гарантира, че софтуерът или приложението работят както преди, дори след добавяне на нови функции или промяна в съществуващата функционалност. Не изисква извършването на нови тестови случаи; предишните тестови случаи обикновено се използват за извършване на това тестване.

Също така се нарича тип тестване на софтуер, при който се извършва повторно изпълнение на тестови случаи, за да се провери дали функционалностите на приложението работят добре или не. Не трябва да има нова грешка заради промените. Може да се направи ръчно и може да се тества автоматично с помощта на инструмент за тестване. Основно се прави за различен тип приложения за домейни като застраховане, банкиране и търговия на дребно и др. Тези приложения за домейни се нуждаят от регресионно тестване, тъй като включват транзакции и пари.

Кога възниква регресионно тестване?

Изисква се, когато има проблем с изпълнението и той е коригиран. Има продукт за отстраняване на дефекти или отстраняване на грешки, промяна в изискването, промяна на кода и ново добавена функция към продукта или софтуера. Регресионното тестване трябва да се извърши за последната минута внедряване и промени, направени в софтуера или приложението в производството или друга среда. Тестовите случаи се избират главно въз основа на:

  1. Функциите, които често се използват от клиента.
  2. Основните характеристики на продукта като нов, редактиране и преглед.
  3. Тестовият случай, който регистрира дефектите по-често.
  4. Всички видове случаи като граничен тестов случай, тест за интеграция и сложен тестов случай.
  5. Функционалностите, върху които се правят промените или е коригирана грешка.
  6. Всички видове успешни тестови случаи и неуспешни тестови случаи.

Характеристика

Характеристиките на регресионното тестване са както следва:

  1. Той помага да спестите много усилия и време.
  2. Той помага при провеждането на множество тестове едновременно и поддържа покритието на теста на предишни тестови случаи.
  3. Тестът за регресия е ефективен главно въз основа на тестови случаи, определени за тестване на съществуващата функционалност или функции.
  4. Зависи и от зоната на въздействие на освобождаването и критичността на компонента.
  5. Тестовете за регресионен тест са главно автоматизирани, което спестява време и усилия на тестер, тъй като има много тестови случаи и ръчно може да отнеме време.

Техники за регресионно тестване:

Има различни техники за регресионно тестване, споменати по-долу:

Проверете всички

Това означава, че всички тестови случаи се изпълняват отново, които преди това са били написани, за да се уверят, че всичко работи добре и няма въведени грешки поради промяна и нова функция в кода. Това е един от най-скъпите методи, тъй като изисква много усилия и време и ресурси за изпълнение на всички тестове.

Избор на регресионен тест

При този тип тестове се избират тестови случаи, които трябва да бъдат изпълнени за тестване. Всички тестови случаи няма да се изпълняват за този метод, само избрани тестови случаи, използвани за стартиране. Тези тестови случаи са избрани въз основа на промяна на кода. Тези тестови случаи са категоризирани главно като тестови случаи за многократна употреба и остарели тестови случаи. Регресионните тестови случаи, използвани в следващия регресионен цикъл и остарели тестови случаи, не могат да бъдат използвани в следващите цикли.

Приоритизиране на тестовите случаи

Тестовите случаи, които са с висок приоритет, могат да бъдат изпълнени първо от останалите. Тестовите случаи със среден и нисък приоритет се изпълняват по-късно след изпълнение на тестови случаи с висок приоритет. Приоритетът зависи от критичността и въздействието и функционалността на продукта.

Хибрид

Това е комбинация от подбор на регресионен тест и приоритизиране на тестовите случаи. Тестовите случаи се изпълняват в зависимост от приоритета и избрани тестови случаи ще се изпълняват за възникнали промени.

Видове регресионно тестване:

Има различни видове регресионни тестове, споменати по-долу:

  1. Регресия на единица: Изпълнява се главно по време на тестване на единица. При това кодът се тества чрез регресионни случаи, тъй като всички зависимости са блокирани, за да се гарантира, че тестването на единицата се извършва без никакво несъответствие
  2. Частична регресия: Главно се изпълнява, за да се провери дали кодът работи добре след извършване на промени в кода и че кодът е интегриран със съществуващ код или непроменени модули
  3. Пълна регресия: Изпълнява се главно, когато има много промени в кода и в броя на модулите. Тестовите случаи се изпълняват на целия софтуер, тъй като има много промени в кода.

Планиране на регресионно тестване

Тестовият план за регресионно тестване се прави, за да се подходи към тестването на софтуер или приложение. Новите функции или функционалност, внедрени, промени в кода или отстраняване на грешки и за тестване на въздействието на промените в съществуващия код, регресионното тестване се извършва чрез автоматизирани тестови случаи. Основната идея зад плана за регресионно тестване е да се провери и да се знае как ще се извърши тестването, за да се получат резултатите от теста. Прави се, за да се гарантира, че характеристиките на продукта остават незасегнати.

Стратегията за регресионно тестване, използвана за споделяне на подхода за извършване на тестване, който включва техника за тестване, която трябва да се използва, критерии за завършване, писане на тестови скриптове и инструмент за автоматизация, който се използва за покриване на тестовите случаи. Тестовите случаи се изпълняват на базата на използваната технология. Той определя характеристиките / компонентите, които трябва да бъдат тествани. Тестовите случаи се основават изцяло на изискванията на проекта.

Извършете тест за регресия

Може да се извърши по два начина ръчно и автоматично. Ако се направи ръчно, тогава ще отнеме много време и усилия, тестването може да се извърши ръчно, докато няма по-малко функционалност или малко приложение. Функционалността на приложението нараства с течение на времето и увеличава обхвата на регресия. За да спестите усилия и време, инструментът за автоматизация се използва главно за тестване на регресията и приложението на съществуващия код. Има някои стъпки, свързани с извършването на регресионното тестване за изпълнение на тестовите случаи:

  1. За провеждане на регресионното тестване трябва да се подготви тестов набор.
  2. Тестовите случаи трябва да бъдат автоматизирани.
  3. Регресионното тестване и неговите тестови случаи трябва да се актуализират винаги, когато се намери нов дефект. Ако съществуващите тестови случаи не покриват дефектите и промените, които са направени, новият тестов случай трябва да бъде актуализиран, за да покрие тези функционалности.
  4. Регресионното тестване трябва да се извърши, дори да има много малка промяна или да се поправи проблем. Съществуващият код трябва да бъде тестван правилно.
  5. Докладът трябва да бъде създаден, който включва тестовите случаи за преминаване или неуспех след неговото изпълнение.
  6. Времето за тестване на приложението се увеличава с увеличаването на развитието или функционалността на приложението.
  7. Новата версия и изданието на софтуера, тестерът трябва да изпробва и разбере изискването промяната на софтуера, което трябва да се извърши.
  8. Анализът на въздействието на промените върху съществуващите функции и модули.
  9. Изберете тестовите случаи и определете каква техника на регресионно тестване трябва да се възприеме.
  10. Тестването трябва да бъде насрочено за определено време и да се тества.

Тестът за регресия отнема повече време и усилия, ако размерът на приложението или софтуера се увеличи и с новите версии трябва да се направи напълно, което ще увеличи разходите за тестване, но като цяло клиентът не е готов да плати за тестване. Регресионното тестване трябва да бъде намалено, но това не може да се направи. Дори времето за регресионно тестване не може да бъде намалено, тъй като основното изискване е да се тества внимателно приложението. Тестовите случаи за автоматизация и писането на тестови скриптове за автоматизация се нуждаят от много усилия и хората се нуждаят от много знания, за да завършат тестването.

Инструменти за тестване

Инструментите за тестване се използват за автоматизиране на усилията за тестване и могат да се стартират автоматично след натискане и изграждане на код. Наличните тестови случаи и да ги стартирате ръчно, ще отнемат много усилия и време. За да се намалят усилията и времето, се използват инструменти за автоматизация. Тестовите случаи са предимно записани и само за възпроизвеждане.

Има някои инструменти за автоматизиране на тестване, споменати по-долу:

  1. селен
  2. QTP (бърз професионален тест)
  3. RFT (Рационално функционално тестване)
  4. Vtest

Има много други инструменти, които се използват за писане на скриптове и тестване на приложението или софтуера, а тестовите случаи често се дължат на промяна в системата. Инструментът за тестване помага и за тестване на приложението по някои конкретни начини. Ако има вградена нова функционалност или е направена някаква промяна на кода за определения период от време или дни или в най-новия спринт, тогава тестовият случай трябва да бъде изпълнен според добавената нова функционалност. Другият начин за изпълнение на регресионните тестови случаи трябва да се изпълни отново за всички модули на приложение и се нарича тест за регресия от край до край, за да обхване всички функционалности на продукта.

Предимства

По-долу са предимствата на регресионното тестване, които са:

  1. Той гарантира, че съществуващата функционалност работи добре и не засяга нито една част от софтуера
  2. Регресионният тест наистина помага за оптимизация на производителността.
  3. Той помага при внедряването на непрекъсната интеграция, веднага щом разработчикът натисне кода задейства изграждането и тестът за регресия се стартира автоматично.
  4. Той помага за подобряване на качеството на продукта.
  5. Може да се направи с помощта на инструменти за автоматизация.
  6. Също така помага да се гарантира, че същите дефекти не трябва да се появяват отново.
  7. Той не позволява извършването на новите промени, докато регресионното тестване е включено.
  8. Това може да се направи за базата данни и базата данни трябва да бъде изолирана, за да се тества. Не трябва да има промени в базата данни, докато правите регресионното тестване.

Недостатъци

Има някои недостатъци на регресионното тестване, които са споменати по-долу:

  1. Ако инструментът за автоматизация не се използва за регресионно тестване в проекта, то това би отнело много време процес.
  2. Ръчно това отнема много усилия и време и се превръща в досаден процес.
  3. Трябва да се направи за малка промяна в кода, тъй като може да създаде проблеми в софтуера.
  4. Регресионното тестване трябва да се прави всеки път.
  5. Тъй като тестовите случаи стават големи, понякога всички тестови случаи не могат да бъдат изпълнени поради проблеми с времето и бюджета.
  6. За да се постигне максимално покритие на теста с по-малко тестови случаи, винаги е трудно да се постигне.
  7. След всяко издаване и изграждане на корекции на грешки е трудно да се определи честотата на регресионните тестове.

заключение

Това е една от важните части на тестването, която помага при доставянето на качествен продукт. Той гарантира, че ако има някаква промяна в кода, той няма да повлияе на съществуващ код или функционалност. Извършва се основно чрез инструментите за автоматизация само като ръчно ще отнеме много време и усилия за завършването им. Инструментът се избира главно въз основа на изискването на проекта, а инструментът трябва да има възможност да актуализира и тестовите случаи.

Той помага за получаване на дефекти, когато новите промени са интегрирани със съществуващата система и главно въздействието на промените върху различни стари модули, които не се променят. Това е най-важният аспект на тестването. Регресионното тестване може да се извърши с безскриптен инструмент за тестване за автоматизация; в този случай няма изискване за писане на дълги тестови скриптове.

Регресионното тестване се извършва главно чрез тестови случаи за многократна употреба, което се определя като повторно използвана методология. Обикновено записва и възпроизвежда тестовия случай. Инструментът за тестване трябва да се увери, че всяко действие трябва да бъде записано правилно. Има и други начини за извършване на регресионно тестване. Всяка организация или индивид използват тестовете според изискването на проекта и само за бюджета на клиента.

Препоръчителни статии

Това е ръководство за регресионно тестване. Тук обсъдихме някои основни понятия, техники, инструменти, типове, предимство, недостатък. Можете да разгледате и другите ни предложени статии, за да научите повече -

  1. Тестване на сива кутия
  2. Приложение за уеб тестване
  3. Тестване на таблица с решения
  4. Какво е тестване на единици