Kulcsszóvezérelt tesztelési keretrendszer példával

⚡ Okos összefoglaló

A kulcsszóvezérelt tesztelés térképpel választja el a tesztlogikát az automatizálási kódtólping egyszerű nyelvű kulcsszavakat újrafelhasználható függvényekké, így a tesztelők táblázatokon keresztül tervezhetik, tarthatják karban és skálázhatják az automatizált tesztcsomagokat ahelyett, hogy minden egyes tesztesethez szkripteket írnának.

  • 🔑 Kulcsszóalapismeretek: Minden művelet, mint például a böngésző megnyitása, a kattintás vagy a Typtext, egy önmagát leíró kulcsszóvá válik, amelyet pontosan egy függvény támogat.
  • 🧩 Négy építőelem: Az Excel-táblázatok, egy függvénykönyvtár, adattáblák és egy objektumtár elkülönítve tartja a lépéseket, az objektumokat, a műveleteket és az adatokat.
  • 📊 Táblázatvezérelt tervezés: A tesztelők kulcsszó sorokként, paraméterekkel írják az eseteket, így nincs szükség szkriptnyelvi ismeretekre a tesztek írásához.
  • 🇧🇷 Illesztőprogram szkript végrehajtása: Egy illesztőprogram-szkript beolvassa az egyes kulcsszavakat, meghívja a leképezett függvényt, és az eredményt visszaírja a munkalapra.
  • 🧪 Szerszámválasztás: HP QTP, SeleniumA , és a Robot Framework mind egyéni elemzés nélkül értelmezi a kulcsszótáblákat.
  • 🇧🇷 Keretrendszer illeszkedése: A hibrid beállítások kulcsszavakat párosítanak adatvezérelt bemenetekkel, hogy szélesítsék a lefedettséget anélkül, hogy egyetlen tesztelési lépést is megismételnének.
  • 🚧 Rezsiterv: A kulcsszótervezés és a könyvtár karbantartása valós időbe telik, ezért tartsd a szókincset szűk körben, és minden kiadásban tekintsd át.

Mi az a kulcsszóvezérelt tesztelés?

Kulcsszóvezérelt tesztelés egy szkriptelési technika, amely adatfájlok segítségével tartalmazza a tesztelt alkalmazáshoz kapcsolódó kulcsszavakat. Ezek a kulcsszavak egy adott lépés végrehajtásához szükséges műveletek halmazát írják le.

A kulcsszóvezérelt teszt magas és alacsony szintű kulcsszavakból áll, beleértve a kulcsszó argumentumokat is, amelyek egy teszteset műveletének leírására szolgálnak. Táblázatvezérelt tesztelésnek vagy akciószó alapú tesztelésnek is nevezik.

Az Kulcsszóvezérelt keretrendszer a funkcionális automatizált tesztelési keretrendszer, amely erre a technikára épül. A teszteseteket négy különböző részre osztja, hogy a kódolást elkülönítse a tesztesetektől és a tesztlépésektől a jobb automatizálás érdekében: maguk a tesztlépések, az objektumok, amelyekre a lépések hatnak, az objektumokon végrehajtott műveletek, valamint a nekik szolgáltatott adatok.

A kulcsszóvezérelt tesztelés során először azonosít egy kulcsszókészletet, majd társít egy műveletet (vagy funkciót) ezekhez a kulcsszavakhoz. Itt minden tesztelési műveletet, például böngésző megnyitását vagy bezárását, egérkattintást, billentyűleütéseket stb. olyan kulcsszó ír le, mint pl. openbrowser, kattintás, Tippszöveg és így tovább.

Az alábbi ábra két hétköznapi üzleti tevékenységet mutat be, amelyek újrafelhasználható kulcsszavakká alakulnak. Például:

  1. Belépés a „guru99” webhelyre – A „login” kulcsszót az automatizálási keretrendszerünkben használjuk, a hozzá tartozó bejelentkezési funkció vagy művelet tesztelésére.
  2. logout a „guru99” webhelyre – A „logout” kulcsszót az automatizálási keretrendszerünkben használjuk a kijelentkezési funkció vagy a hozzá kapcsolódó művelet tesztelésére.

További példákat a cikk későbbi részében találsz. A minta sosem változik: egy üzleti művelet, egy kulcsszó, egy függvény.

Kulcsszavakra példa

Az alábbi szószedet felsorolja a banki alkalmazások tipikus kulcsszavait és az általuk kiváltott üzleti műveleteket.

Kulcsszavak Leírás
Belépés Jelentkezzen be a guru99 bank bemutató oldalára
E-mailek Küldjön e-mailt
kijelentkezések Jelentkezzen ki a guru99 bank bemutató oldaláról
Értesítések Olvasatlan értesítések keresése

💡 Tipp: A kulcsszavakat az üzleti tevékenység után nevezd el, ne a technikai lépés után. A „Bejelentkezés” túléli az oldal újratervezését; a „ClickBlueButton” nem.

Kulcsszóvezérelt keretrendszer összetevői

A kulcsszó ismeretének ismerete csak félúthoz vezet. Egy kulcsszóvezérelt keretrendszer létrehozásához össze kell állítani egy kis fájlkészletet, amelyek mindegyike egy-egy problémával foglalkozik.

  1. Excel lap – Azonosítsa a kulcsszavakat, és tárolja azokat egy Excel-táblázatban, tesztlépésenként egy sorral.
  2. Funkciókönyvtár – Az üzleti folyamatokhoz tartozó függvényekből áll (bármely weboldal bejelentkezési gombja). Amikor egy teszt végrehajtódik, beolvassa a kulcsszót az Excel táblázatból, és ennek megfelelően hívja meg a függvényeket.
  3. Adatlapokat – Tárolja az alkalmazásban használt tesztadatokat, hogy egy kulcsszó sok bemeneten fusson.
  4. Objektumtár – Minden olyan elem helymeghatározóját tárolja, amelyet a kulcsszavak érintenek, így a módosított helymeghatározó egy helyen szerkeszthető.
  5. Tesztparancsok – Lehet nálad teszt szkriptek minden kézikönyvhöz Teszt eset vagy egyetlen illesztőprogram-szkript.
  6. Illesztőprogram szkript – Sorról sorra végigjárja az Excel-táblázatot, minden kulcsszót összeveti a függvénykönyvtárral, és rögzíti az eredményt.
  7. Automatizálási eszköz – Végrehajtja a feloldott parancsokat az alkalmazáson, és ellátja a jelentéskészítő réteget.

Ez a hét darab együttesen egy teljes tesztautomatizálási keretrendszerMiért válassza ezt a dizájnt?

Miért érdemes kulcsszóvezérelt tesztelést végezni?

A szoftverfejlesztésben a kulcsszóvezérelt tesztelés a következő okok miatt történik

  • A szabványos könyvtár által kezelt közös összetevők
  • Ezzel a megközelítéssel a tesztek sokkal átgondoltabban írhatók meg.tract módon
  • Magas fokú újrafelhasználhatóság
  • A szkript részletei el vannak rejtve a felhasználók elől
  • A felhasználóknak nem kell használniuk a szkriptnyelveket
  • A teszt tömör, karbantartható és rugalmas

Mivel a kulcsszóréteg elnyeli az alkalmazásváltozásokat, egy nagy regressziós teszt A csomag több száz szkript helyett néhány függvény szerkesztésével marad környezetbarát. Ez az érvelés alakítja a megközelítés alkalmazását.

Kulcsszóvezérelt tesztelés végrehajtása

A kulcsszóvezérelt tesztelés mindkét módon elvégezhető, manuálisan és automatizáltan is. De általában automatizált teszteléssel együtt használják.

A kulcsszóvezérelt tesztelés automatizálásának célja a következő:

  • Segít csökkenteni a karbantartási költségeket
  • Elkerüli a duplikált specifikációkat
  • A függvényszkriptek nagyobb újrafelhasználása
  • Jobb tesztelési támogatás és hordozhatóság
  • Több tesztet érhet el kevesebb vagy azonos erőfeszítéssel

Kulcsszóvezérelt teszteléssel egyszerű funkcionális tesztek A fejlesztés korábbi szakaszaiban az alkalmazást darabonként tesztelik. A kulcsszóvezérelt teszt összeállításának legegyszerűbb módja a rögzítés. A rögzítés után a teszt módosítható és testreszabható az igényeknek megfelelően.

Minden kulcsszóhoz legalább egy parancsot, tesztszkriptet vagy függvényt kell kapcsolni, amely megvalósítja az adott kulcsszóhoz kapcsolódó műveleteket.

Tesztesetek végrehajtásakor a kulcsszavakat egy tesztkönyvtár értelmezi, amelyet egy tesztautomatizálási keretrendszer hív meg.

A kulcsszóvezérelt tesztelés főbb tevékenységei a következők:

  • Step 1) Az alacsony és magas szintű kulcsszavak azonosítása
  • Step 2) A kulcsszavak végrehajtása végrehajthatóként
  • Step 3) Tesztesetek készítése
  • Step 4) Illesztőprogram-szkriptek létrehozása
  • Step 5) Az automatizálási teszt szkriptek végrehajtása

Az 1. és 2. lépés egyszeri tervezési munka; a 3–5. lépések minden sprintben megismétlődnek, ahogy az alábbi példák is mutatják.

Példa tesztesetek

Ez a három forgatókönyv a korábban definiált kulcsszavakat használja újra.

  1. TC_01: Jelentkezzen be a guru99 bemutató oldalára, és nézze meg, hány tranzakciót hajtanak végre ma
  2. TC_02: Jelentkezzen be a guru99 bemutató oldalára, küldjön e-mailt az egyik ügyfelének, majd jelentkezzen ki
  3. TC_03: Jelentkezzen be a guru99 bemutató oldalára, és ellenőrizze, hogy nem érkezett-e értesítés

Kulcsszótáblaként írva a TC_02 hat sorból áll, amelyeket bármely tesztelő elolvashat vagy átrendezhet a kód megnyitása nélkül:

Lépés Kulcsszó Érv Várható eredmény
1 böngésző megnyitása króm Böngésző munkamenet elindul
2 Belépés mngr123 / demopass A vezető kezdőlapja látható
3 E-mailek ugyfel@example.com Megnyílik az írási ablak
4 kettyenés Küldés "Mail „elküldve” jelenik meg
5 kijelentkezések - Ülés lezárva
6 böngésző bezárása - Böngésző megjelent

Csereping A 3. lépésben szereplő argumentum ugyanazt a hat sort egy másik tesztté alakítja, ahol teszt adat a menedzsment kifizetődő.

A kulcsszóvezérelt tesztelés előnyei

  • Lehetővé teszi a funkcionális tesztelők számára, hogy megtervezzék a tesztautomatizálást, mielőtt az alkalmazás készen állna
  • A tesztek programozási ismeretek nélkül is fejleszthetők
  • Ez nem függ egy adott programozási nyelvtől vagy eszköztől
  • Kompatibilis a piacon elérhető bármely automatizálási eszközzel

Ezek az előnyök magyarázzák, hogy a kulcsszóvezérelt tesztelés miért alkalmas a hosszú távú felhasználásra. automatizált tesztelés lakosztályok. A költségek is számítanak.

A kulcsszóvezérelt tesztelés korlátai

A hasizmoktracAz a módszer, ami olvashatóvá teszi a kulcsszóvezérelt teszteket, drágává is teszi az elkészítésüket. Az első tesztek futtatása előtt valakinek azonosítania kell a kulcsszavakat, mindegyiket függvényként kell implementálnia, be kell kötnie az objektumtárat, és meg kell írnia az illesztőprogram szkriptet. Egy kis projektnél ennek a beállítása többe kerül, mint a tesztek közvetlen szkriptelése.

A karbantartás a második költség. A könyvtárat minden teszt megosztja, így egyetlen gondatlan szerkesztés tönkreteszi az egész csomagot. A könyvtárak ráadásul szétszóródnak: a csapatok szinte ismétlődő elemeket adnak hozzá, például a „Bejelentkezés”, a „Bejelentkezés” és a „Bejelentkezés”.

  • Magas kezdeti befektetés – a keretrendszer tervezése és a kulcsszavak implementálása minden tesztfuttatást megelőz.
  • Csökkentett rugalmasság – a tesztelők csak azt fejezik ki, amit a meglévő kulcsszavak megengednek, így a szokatlan forgatókönyveket fejleszteni kell.
  • Kínos a bonyolult logika miatt – az elágazások és a hurkok ellenállnak a lapos táblázatsoroknak.
  • A készségekre továbbra is szükség van – a kulcsszóréteg kódmentes, a függvénykönyvtár nem.

⚠️ Figyelmeztetés: RevMinden kiadásban tekintse át a kulcsszótárat, és törölje a nem használt bejegyzéseket. Az ellenőrizetlen szókincs a leggyakoribb oka a kulcsszóvezérelt keretrendszerek elhagyásának.

Ezek a kompromisszumok alakítják az alábbi összehasonlítást.

Kulcsszóvezérelt vs. adatvezérelt vs. hibrid keretrendszer

Kulcsszóvezérelt és adatvezérelt tesztelés különböző problémák megoldására. Egy adatvezérelt keretrendszer egy fix szkript bemeneteit változtatja; egy kulcsszóvezérelt keretrendszer a lépéseket változtatja. A táblázat tartalmazza a legtöbb vállalati csapat által alkalmazott hibrid modellt.

Aspect Kulcsszóvezérelt keretrendszer Adatvezérelt keretrendszer Hibrid keretrendszer
Mi a kiszervezett? Tesztelési lépések és műveletek Csak tesztadatok Lépések és adatok egyaránt
Tervezési erőfeszítés Kiterjedt és precíz Adatokra és szkriptekre korlátozva Legnagyobb
Karbantartás Könnyebb, több hasizmottracrétegek Keményebb, hasizmoktracvékonyabb Legegyszerűbb méretezésben
Kódolási készség szükséges Csak a függvénykönyvtárhoz Minden szkripthez kötelező A magréteghez szükséges
Az építés előtt elkezdhető Igen Nem Igen

A gyakorlatban a stílusok kombinálódnak. Egy hibrid keretrendszer kulcsszavakként és bemenetekként tárolja a lépéseket az adatlapokban, gyakran egy Oldalobjektum modellVálassz kulcsszóvezérelt módszert, ha sok tesztelő ír teszteket, adatvezérelt módszert, ha egy folyamatnak sok bemenetre van szüksége, és hibrid módszert, ha mindkettő alkalmazható.

A kulcsszóvezérelt teszteléshez használt eszközök

Számos eszközt használnak széles körben a kulcsszóvezérelt teszteléshez, amelyek mindegyike másképp értelmezi a kulcsszótáblázatot.

  • HP QTP – beépített kulcsszó nézettel rendelkezik, így a munkalap és a végrehajtható teszt egyetlen műterméket alkot.
  • Selenium – nincs natív kulcsszó rétege, így a csapatok maguk építik fel a függvénykönyvtárat és az illesztőprogram szkriptet.
  • Robot keretrendszer – egy kulcsszavak köré tervezett nyílt forráskódú motor, táblázatos szintaxissal és számos előre elkészített kulcsszóval.
  • TestNG – gyakran használják együtt Selenium kulcsszó-térképes módszerek szekvenálásához és jelentések generálásához.

A mi listánk automatizált tesztelő eszközök lefedi az egyes opciók licencelését és platformtámogatását.

GYIK

A mesterséges intelligencia asszisztensei felhasználói történetekből meríthetnek kulcsszóneveket, és össze tudják hangolni azokat. Selenium metódusok, amelyek eltávolítják a beállítási igények nagy részétpingEgy embernek továbbra is meg kell erősítenie az üzleti szókincset, és validálnia kell minden generált lokátort, mielőtt a csomag megbízhatónak minősülne.

Csökkenti, ahelyett, hogy eltávolítaná. Az önjavító motorok újraazonosítják az elemet a környező attribútumok közül, amikor egy lokátor meghibásodik, így kiküszöbölve a rutinszerű javításokat. Az adattár-irányítás továbbra is szükséges, mert egy helyreállított lokátor, amely csendben egyezik a rossz elemmel, egy valódi hibát rejt.

Nem. Mindkettő olvasható lépések mögé rejti a kódot, de a BDD eszközök, mint például Cucumber Használj Adott-Ha-Aztán mondatokat, amelyeket a követelményeken való együttműködéshez írtak. A kulcsszóvezérelt tesztek táblázatos cselekvési szavakat használnak, amelyeket az automatizálási csomagon belüli újrafelhasználásra írtak.

A szókincset a lehető legkevesebbre kell korlátozni az alkalmazás által megengedett mennyiségben, jellemzően néhány tucat alacsony szintű művelettel és egy magas szintű kulcsszóval üzleti folyamatonként. Ha két kulcsszó ugyanazt a műveletet írja le, azonnal egyesítse őket; a duplikált kulcsszavak teszik a könyvtárakat karbantarthatatlanná.

Igen. A kulcsszólapokat a függvénykönyvtárral együtt véglegesítse a verziókövetésben, majd hagyja, hogy a build szerver meghívja az illesztőprogram-szkriptet. Futtatóprogramok, mint például TestNG fogantyúcsiszolásping és a jelentéskészítést, így a hibák ugyanabban a build jelentésben jelennek meg, mint az egységtesztek.

Foglald össze ezt a bejegyzést a következőképpen: