Пълно ръководство за тестване на регресия: Всичко, което трябва да знаете



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

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

Нека да разгледаме теми, обхванати в тази статия:





са git и github еднакви

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

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

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



Regression TestingEx - Какво е тестване на регресия - Edureka

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

Предимства на регресионното тестване

Провеждане на регресионни тестовеоблагодетелства компаниите по редица начини, като например:



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

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

Кога да приложите тестване за регресия?

Препоръчително е да се извърши регресионно тестване за появата на следните събития:

    • Когато се добавят нови функционалности
    • В случай на промяна на изискванията
    • Когато има отстраняване на дефект
    • Когато има проблеми с производителността
    • В случай на промени в околната среда
    • Когато има корекция на корекция

Следващата част на тази статия е за различни видове тестове за регресия.

Какви са видовете тестове за регресия?

Регресионното тестване се извършва през няколко фази на тестване. Поради тази причина има няколко вида тестове за регресия. Някои от тях са както следва:

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

Прогресивно тестване: Този тип тестване работи ефективно, когато са направени промени в спецификациите на софтуера / приложението, както и нови са проектирани.

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

Тестване на всички тестове: Този тип стратегия за тестване включва тестване на всички аспекти на конкретно приложение, както и повторно използване на всички тестови случаи, дори когато промените не са направени. Това отнема много време и не е много полезно, когато се направи някаква малка модификация или промяна на приложението.

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

Много е важно да знаете кой тип тестване отговаря на вашите изисквания. След това ще обсъдим как се прилага регресионното тестване.

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

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

  • На първо място, той изпълнява тестове за регресия на ниво единица, за да провери кода, който те са модифицирали, заедно с всички нови тестове, които са написали, за да обхванат нова или променена функционалност
  • След това промененият код се обединява и интегрира, за да се създаде нова компилация на тестваното приложение (AUT)
  • След това се изпълняват димни тестове, за да се гарантира, че компилацията е добра, преди да се извършат допълнителни тестове
  • След като компилацията бъде обявена за добра, се извършват тестове за интеграция, за да се провери взаимодействието между единиците на приложението помежду си и с back-end услуги като бази данни
  • В зависимост от размера и обхвата на пуснатия код се планира частична или пълна регресия
  • След това дефектите се докладват обратно на екипа за разработка
  • При необходимост се извършват допълнителни кръгове на регресионни тестове

Ето как регресионното тестване се включва в типичен процес на тестване на софтуер. Изображението по-долу ясно показва как е извършено регресионното тестване.

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

Ефективни тестове за регресия могат да се направят, като се изберат следните тестови случаи:

  • Тествайте случаи, които имат чести дефекти
  • Сложни тестови случаи
  • Тестове за интеграция
  • Тестови случаи, които покриват основната функционалност на продукта
  • Функции, които често се използват
  • Тествайте вази, които често се провалят
  • Тестови случаи за гранична стойност

Тъй като процесът на регресионно тестване е отстранен, нека проверим различни техники.

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

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

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

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

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

Това са трите основни техники. Понякога въз основа на изискванията за тестване тези техники се комбинират.

какво е променливата на екземпляра в java

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

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

  1. Времеемко: Техники като повторно тестване - всички се нуждаят от много време, за да тестват целия набор от тестови случаи
  2. Скъп: Скъпо поради ресурси и работна ръка, които трябва да тествате отново и отново, нещо, което вече е разработено, тествано и внедрено на ранни етапи
  3. Комплекс: Тъй като продуктът се разширява, тестерите често са поразени от огромното количество тестови случаи и стават жертва на загуба на следите от тестови случаи, пренебрегвайки важните тестови случаи

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

Ако сте намерили това статия от значение, вижте онлайн на живо от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този „ Какво е регресионно тестване? И ще се свържем с вас.