9 perc olvasás
2023-10-18

A regressziós teszt alapjai: definíció, előnyök, alkalmazás

A regressziós teszt alapjai: definíció, előnyök, alkalmazás

A szoftverfejlesztési folyamat során előfordulhat, hogy egy korábban hibátlanul működő funkció a fejlesztési változtatások hatására tönkremegy. Visszatérő ellenőrzés hiányában a hiba radar alatt maradhat – ez extra költségekhez, csökkent biztonsághoz és felhasználói élményhez, sőt, súlyos esetekben a projekt csúszásához is vezethet. Ilyenkor nyújthat nagy segítséget a regressziós teszt. Cikkünkben bemutatjuk a regressziós teszt fogalmát, típusait és előnyeit.

Regressziós teszt jelentése: mi a regressziós teszt?

A regressziós teszt során azt vizsgálják, hogy a korábban már működő funkciók a fejlesztés miatti változásokat követően továbbra is működőképesek-e. A szoftverfejlesztési ciklus fontos része, amelyet minden jelentős változtatás után érdemes futtatni. Segítségével idejekorán észlelhető a változtatás okozta nemkívánatos hiba. Az IBM meghatározása szerint a regressziós teszt jelentése a következő:

A regressziós tesztelés alatt az összes teszt ismételt elvégzését értjük, annak érdekében, hogy a szoftverben ne következzen be visszalépés (regresszió). Más szóval annak biztosítására, hogy egy hiba kijavítása ne okozza újabb hiba létrejöttét a korábban már működő funkcióban.”

Míg a Budapesti Műszaki és Gazdaságtudományi Egyetem egyik tanulmánya a következő meghatározást használja:

A regressziós tesztelés célja, hogy meggyőződjünk arról, hogy a korábban működő funkciók az elvégzett módosítások mellett is működőképesek maradnak. Ezt általában a meglévő tesztkészlet ismételt futtatásával érjük el. A rendszer méretétől és a tesztektől függően ez sok időt vehet igénybe, valamint olyan részeit is ellenőrizheti a rendszernek, ami nem is módosult.”

A regressziós teszt típusai

Korrekciós regressziós vizsgálat (corrective regression testing)

A korrekciós regressziós vizsgálat (corrective regression testing) egy szoftvertesztelési folyamat, amely ellenőrzi, hogy egy adott hibajavítás nem okoz-e új problémát vagy „regressziót” a szoftver meglévő funkcióiban. Kisebb módosítások implementálása esetén választják ezt a módszert, amikor a rendszerkövetelményekben nem történt változás, így a létező tesztek változtatás nélkül újra használhatók.

Visszaállító regressziós teszt (retest-all regression testing)

A visszaállító regressziós teszt (retest-all regression testing) olyan megközelítés, amelyben minden korábban végrehajtott változtatást újratesztelnek. Előfordulhat, hogy a legutóbbi kódmódosítások által nem érintett modulokat vagy program funkciókat is tesztelnek. Ez szükségtelen erőforrás igényt jelenthet, ezért ezt a módszert akkor használják, amikor a többi regressziós teszt hibát adott. 

Szelektív regressziós tesztelés (selective regression testing)

Az optimális erőforrás felhasználás érdekében a szelektív regressziós tesztelés (selective regression testing) kizárólag a legutóbbi kódváltoztatás által érintett programrészeket ellenőrzi. Így csak azokat a teszteseteket futtatják, amelyek az adott fejlesztési folyamatban meghibásodhattak.

Progresszív regressziós tesztelés (progressive regression testing)

A progresszív regressziós tesztelés (progressive regression testing) olyan esetekben használatos, amikor a rendszerkövetelmények időközben változtak. Ez előfordulhat a megrendelői igények módosulása vagy fejlesztői döntés következtében is. Ilyenkor szükséges új teszteket alkotni.

Teljes regressziós tesztelés (complete regression testing)

A teljes regressziós tesztelés (complete regression testing) során az összes tesztesetet elvégzik a szoftveren. Olyankor lehet hasznos, amikor a forráskódot érintő változtatás történt. Továbbá, érdemes lehet teljes regressziós tesztelést végezni, amikor több jelentős kódfrissítést végeztek eltérő modulokon.

Egységregressziós tesztelés (unit regression testing)

Az egységregressziós tesztelés (unit regression testing) lényege, hogy a fejlesztői változtatások által érintett modulokat izoláltan, elzárva a program egészétől ellenőrzik. Kiemelt előnye a gyorsaság és a minimális erőforrás igény.

Melyek a regressziós tesztelés legfontosabb előnyei?

A regressziós tesztelés számos egyedi előnnyel rendelkezhet, így a legtöbb komplex projekt esetén alkalmazása javasolt. A következőkben összefoglaltuk a legfontosabb pozitívumokat.

  • Jelentősen lerövidítheti a visszacsatolási ciklust, amely akár a gyorsabb piacra lépést is segítheti.
  • Megelőzhet költséges és nehezen javítható fejlesztési hibákat.
  • Automatizálható, így jelentős mennyiségű munkaidő szabadulhat fel, amely átcsoportosítható magasabb hozzáadott értékű feladatokra.
  • Segítségével eliminálhatók a fejlesztés közben jelentkező regressziós problémák idejekorán.

A regressziós tesztelés bemutatása egy gyakorlati példán keresztül 

A következő fiktív példán keresztül bemutatjuk, milyen esetekben lehet hasznos a regressziós tesztelés. Egy személyes pénzügyeket segítő iOS és Android platformon elérhető alkalmazás fejlesztése során új funkcióval bővítik az appot: több devizában lehet rögzíteni a bevételeket és kiadásokat. Az alkalmazás képes grafikusan megjeleníteni a költési adatokat. Azonban a fejlesztés során egy előre nem látható hiba jelentkezett: a historikus adatokat képtelen az app vizualizálni több devizában. Mivel a körültekintő fejlesztők alkalmaznak szelektív regressziós tesztelést, így sikerült a hibát korán észlelni. A tesztelő azonosította, dokumentálta és jelentette a hibát, amely rövid időn belül javításra került.

Professzionális szoftvertesztelés

2016 óta foglalkozunk nagyvállalati informatikai fejlesztések támogatásával, tesztelésével és koordinációjával, valamint vállalati szintű tesztelési módszertanok kialakításával és üzleti folyamatok automatizációjával. Ennek keretében egyrészt megvalósítjuk a vállalati szintű tesztelési metódusok kialakítását, a kollégák fejlesztését, másrészt segítjük a szükséges tesztelési és ticketing eszközök kiválasztását és bevezetését. Emellett biztosítjuk a szükséges oktatások és bemutatók szervezését és lebonyolítását, a dokumentációk elkészítését, megvalósítva ezzel a hatékony változáskezelést.

Ezek is
érdekelhetnek

Dolgozzunk
együtt!

Dolgozz
nálunk!

Küldj nekünk üzenetet, és írd meg, miben lehetünk a segítségedre, értékesítőink pedig amint lehet, felveszik veled a kapcsolatot és egyeztetjük a részleteket!

Van üres asztalunk, ami lehet hogy épp rád vár! Töltsd ki a formot, mondd el, miért szeretnél Te lenni a TestIT csapat legújabb tagja, és ismerjük meg egymást!

Dolgozz Velünk Dolgozz Nálunk