facebook-pixel

Tesztautomatizálási keretrendszer generációk

Bevezetés
A tesztautomatizálás felgyorsítja a kiadási [link1][link2][link3] ciklusokat, növeli a lefedettséget, kiváltja a manuális tesztelés során fellépő emberi hibákat, hiányosságokat melyek a projekt sikerességére is hatással lehetnek [További vonatkozó cikk]. Viszont, mint minden más is az életben, csak akkor teljesíti be a feladatát, ha jól csináljuk. A „jól csinálás” alapja a jó alap. 😊 A tesztautomatizálás gyakorlati alapját a keretrendszerek szolgáltatják. [link1][link2] Egy-egy keretrendszer típus meghatározza azt a logikai struktúrát, amiben a tesztjeinket építjük. Ez a cikk a keretrendszer típusokat mutatja be.

A tesztautomatizálási keretrendszerek evolúcióját tükrözi az alábbi felsorolás. Ez a sorrend egyrészt időrendi, másrészt a keretrendszerek összetettségét is jelképezi.

  • Lineáris
  • Moduláris
  • Könyvtár alapú
  • Adatvezérelt
  • Kulcsszóvezérelt
  • Hibrid
  • Viselkedésvezérelt

Lineáris

A tesztautomata keretrendszerek első generációja. Ez a keretrendszer típusok közül a legegyszerűbb. A típus legfőbb jellemzője, hogy a tesztek egymástól függetlenek, gyakran kézi műveletek rögzítésével és újrajátszásával jönnek létre. Minden teszt maga gondoskodik a logolásról, a hibajelzésről, a tesztadatokról, a teszt-objektumokról. A tesztek között nincs kommunikáció.

Előnyök:

  • Gyorsan létrehozhatók a tesztek felvétel segítségével.
  • Egyszerű: Kezdő tesztautomatizálók számára ez a módszer megfelelő.
  • Nagyon kevés tervezésre van szükség
  • Minimális programozói tudást igényel

Hátrányok:

  • A karbantartása lényegébe a tesztek újra elkészítését jelenti, ezért hosszú távon nem hatékony.
  • Nincs újrafelhasználhatóság.
  • Sok az kódismétlés.
  • A kód tartalmazza az adatokat. Az adatok módosítása a kód módosításával egyenértékű.

Sok a hátránya, de demózásra, gyors eredményt igénylő validálásra, minimális smoke tesztkészlet létrehozásra alkalmas.

Moduláris

A moduláris tesztelési keretrendszerben a tesztelők modulárisan hoznak létre automata teszteket úgy, hogy a tesztelt alkalmazást kisebb, független tesztekre bontják. Ezek az egyedi automata tesztek kombinálhatók össze hosszabb tesztesetekké, úgy, hogy egy fő kódot használnak, amiben ezeket a kisebb teszteket hívják meg egymás után.
Ebben a keretrendszerben a tesztelők függvénykönyvtárakat írhatnak, amiket a tesztek szükség esetén felhasználnak.

Előnyök:

  • Könnyebb karbantarthatóság.
  • Függvénykönyvtárak használata.
  • Az egyik modulban végrehajtott változtatások nem, vagy csak csekély hatással vannak a többi modulra.

Hátrányok:

  • Több időt vesz igénybe a tervezés.
  • A tesztadatok itt is a kódba vannak égetve.
  • Kisebb programozói tudást igényel a keretrendszer összeállítása.

Könyvtár alapú

A moduláris keretrendszeren alapul, néhány további előnnyel. Szokták strukturált keretrendszernek is nevezni. A moduláris tesztelési keretrendszerben a tesztelt alkalmazást modulokra bontjuk, itt pedig azonosítjuk a gyakori feladatokat és ezeket függvényekbe csoportosítjuk. A függvénycsoportok egy-egy függvény-könyvtárban lesznek tárolva. A tesztek létrehozásához ezeket a könyvtárakat és a könyvtárakban lévő függvényeket lehet felhasználni.

Előnyök:

  • A függvénykönyvtárak karbantartása könnyű
  • A függvénykönyvtárak újrafelhasználhatóak.
    Hátrányok:
  • A tervezés és a keretrendszer elkészítése több időt vesz igénybe.
  • A keretrendszer megtervezéséhez tapasztalt automatizálási tesztelőkre van szükség programozói tudással.

A modulárisból egyenes út vezet ide. Lényegében ez a moduláris refaktorálásából származik. 😊

Adatvezérelt

Az adatvezérelt tesztautomatizálási keretrendszer a tesztesetek logikájának és a tesztadatok egymástól való elválasztására összpontosít. Megoldja azt a problémát, hogy egy-egy tesztet többfajta tesztadat-összeállítással is le lehessen futtatni.
A tesztadatkészletet külső fájlokban vagy erőforrásokban tárolják, például táblázatokban, CSV, XML, JSON állományokban, vagy valamilyen adatbázisban. Mivel a tesztadatok nemcsak a bemenő, hanem az ellenőrizendő értékeket is tartalmazhatják, így a tesztesetek száma jelentősen lecsökken a moduláris típusú keretrendszerekhez képest.
A karbantartás költsége is csökken, mivel:

  • kevesebb a teszteset,
  • gyakran elég csak a tesztadatokat módosítani,

Előnyök:

  • A tesztadatok nem a kód részei, több tesztadat-összeállítást is használhatunk, egymástól függetlenül.
  • A tesztesetek módosítása nincs hatással a tesztadatokra.
  • Kevesebb tesztesetet kell elkészíteni.
  • Könnyebb a karbantarthatósága az előző típusokhoz képest.

Hátrányok:

  • Programozási ismereteket igényel
  • A keretrendszer és a tesztadatok tervezése és előállítása több időt vesz igénybe. (Megfelelő eszközök használatával ez a hátrány jelentősen csökkenthető.)
  • A keretrendszer megtervezéséhez tapasztalt tesztautomatizálási szakemberre van szükség

Kulcsszóvezérelt

A kulcsszó vezérelt automatizálás egy rendkívül komplex tesztelési keretrendszer generációnak tekinthető, ugyanis ezek kidolgozása és implementálása hosszú ideig tart, illetve magas odafigyelést követel a készítés alatt.
A kulcsszóvezérelt tesztautomatizálásnál a végrehajtani kívánt funkciók, emberi nyelven értelmezhető kulcsszavakba kerülnek tárolásra. A tesztlépéseket a tesztelők általában táblázatos formában tudják megadni soronként, úgy, hogy a sor első eleme a kulcsszó, többi eleme a működést befolyásoló, kulcsszóhoz köthető tesztadatok. Ez nagyon hasonlít az adatvezérelt megoldáshoz, a különbség lényegében a kulcsszó, ami nem csak az adatot, de a műveletet is meghatározza.
A keretrendszer azt a programot tartalmazza, ami az előbb leírt táblázatos teszteket tudja értelmezni és futtatni.
A kulcsszóvezérelt automatizálásnál a tesztesetek írását rá lehet bízni manuális tesztelőkre is, míg a keretrendszer tervezéséhez, elkészítéséhez és karbantartásához magasan képzet tesztautomatizáló szakemberre van szükség.

Előnyök:

  • A tesztesetek írásához nem kell szakértőnek lenni
  • Az kulcsszavak és a tesztek is könnyen újrafelhasználhatók.
  • Az alkalmazás módosulása, nem feltétlenül vonja maga után a tesztesetek módosítását
  • A tesztesetek tervezése és megírása még az alkalmazás funkciók fejlesztése előtt megtörténhet

Hátrányok:

  • A tervezés és a keretrendszer kialakítása költséges. (Ez a költség csökkenthető, egy megfelelően megválasztott eszközzel.)
  • Erős tesztautomatizálási és programozási ismeretekkel rendelkező alkalmazottak szükségesek.

Hibrid

A hibrid tesztautomatizálási keretrendszer két vagy több előbb említett keretrendszer kombinációja. Általában a kulcsszóvezérelt és adatvezérelt lehetőségek együttes használatát értik a hibrid tesztautomatizálási keretrendszerek alatt.

Viselkedésvezérelt

A viselkedésvezérelt keretrendszer célja egy olyan platform létrehozása, amely lehetővé teszi mindenki (például üzleti elemzők, fejlesztők, tesztelők stb.) aktív részvételét. Ez fokozott együttműködést igényel a fejlesztői és tesztcsoportok között. Teszteket még a felhasználók is képesek írni, mert a tesztspecifikációk elkészítéséhez nem technikai, hanem formailag kötött természetes nyelvet használnak.

Összefoglalás

A fent felsorolt generációk közül mindenek megvan a maga előnye és hátránya, a legnépszerűbbek az adatvezérelt, a kulcsszóvezérelt és a hibrid keretrendszerek. Ezeknél a keretrendszereknél nem ússzuk meg a tervezés és a kiépítés költségeit és megfelelő tapasztalatokkal rendelkező, programozói vénával megáldott tesztautomatizáló szakember alkalmazását sem. Ugyanakkor, amit nyerhetünk e keretrendszerek megfelelő alkalmazásával, az a karbantarthatóság, rugalmasság, üzembiztonság és azt, hogy a teszteseteket nem csak a tesztautomatizáló szakember tervezheti/írhatja.

Jó tesztelés! Hajrá!

Megosztás

Facebook
LinkedIn
Twitter

Nem szeretnél lemaradni az új bejegyzésekről?

Tartalomjegyzék

Egyéb
Erdei Krisztián

AI-t tesztelnél? Mutatunk egy módszert!

Az AI alkalmazások létrehozásában, szakértőként felhívjuk az ügyfelek figyelmét az ehhez kapcsolódó sajátosságokra. Mivel a szoftvertermékek speciálisak, a minőségbiztosításuk is az. Az AI alkalmazások teszteléséről,

Egyéb
Erdei Krisztián

Szoftvertesztelés a mesterséges intelligenciával

Mit nyerhetünk és mire vigyázzunk? A mesterséges intelligencia napjainkban egyre meghatározóbb szerepet tölt be a szoftvertesztelés területén. Az elmúlt egy év során jelentős változások történtek

Érdekel a tesztelés világa?

Dolgozz velünk hazai és nemzetközi projekteken

egy csoport ember ül egy asztalnál laptopokkal

Várj, ne maradj le legújabb szakmai cikkeinkről

Iratkozz fel hírlevelünkre és minden hónapban elküldjük a legizgalmasabb cikkeket

egy laptop számítógépet tartó szemüveges férfi
egy süti csokireszelékkel
Tájékoztatjuk, hogy a honlap felhasználói élmény fokozásának érdekében sütiket alkalmazunk. A honlapunk használatával ön a tájékoztatásunkat tudomásul veszi.