Tesztautomatizálási keretrendszer: Archistruktúra és típusok
⚡ Okos összefoglaló
A Tesztautomatizálási Keretrendszer architektúrája meghatározza a kódolási szabványokat, a tesztadat-kezelést és az objektumtárház szabályait, amelyeket az automatizálási szkriptek követnek. Öt bevett típus létezik, amelyek mindegyike a beállítási erőfeszítést az újrafelhasználás, a karbantartási költségek és a hosszú távú skálázhatóság ellenében cseréli gazdára.

Mi az a keretrendszer az automatizálási tesztelésben?
A Teszt automatizálási keretrendszer olyan irányelvek halmaza, mint például a kódolási szabványok, a tesztadatok kezelése, az objektumtárkezelés stb., amelyeket az automatizálás során követve a szkriptek olyan előnyös eredményeket hoznak létre, mint például megnövekedett kód-újrahasználat, nagyobb hordozhatóság, csökkentett szkript-karbantartási költségek stb. Ezek csak iránymutatások, és nem szabályok; ezek nem kötelezőek, és az irányelvek betartása nélkül továbbra is írhat. De lemarad a keretrendszer előnyeiről.
Miért van szüksége keretrendszerre?
Nézzünk egy példát, hogy megértsük, miért van szükség keretrendszerre.
Biztos vagyok benne, hogy részt vett egy szemináriumon/előadáson/konferencián, ahol a résztvevőket arra kérték, hogy tartsák be a következő irányelveket:
- A résztvevők az előadás kezdete előtt 5 perccel foglalják el helyüket.
- Vigyél magaddal jegyzetfüzetet és tollat a jegyzeteléshez.
- Olvasd le a hasizmokattract, így van egy elképzelésed arról, hogy miről fog szólni a prezentáció.
- A mobiltelefonokat néma üzemmódba kell állítani.
- Használja az előadóval ellentétes végén lévő kijárati kapukat, ha az előadás közepén távoznia kell.
- A kérdésekre az ülés végén kerül sor.
Gondolja, hogy le tud tartani egy szemináriumot? NÉLKÜL betartva ezeket az irányelveket?
A válasz egy nagy IGEN! Természetesen a fenti iránymutatások nélkül is tarthat szemináriumot/előadást/konferenciát/bemutatót... sőt, néhányunk nem követi azokat, pedig ki vannak írva!
De ha betartjuk az irányelveket, az előnyös eredményt hoz, például csökkenti a közönség tévedését.tracaz előadások során, a résztvevők fokozott megtartása és a téma jobb megértése.
A fentiek alapján a A keretrendszer olyan irányelvek összességeként határozható meg, amelyek betartása előnyös eredményeket hoz.
Teszt automatizálási keretrendszer Archiszerkezet: Főbb összetevők
Mielőtt összehasonlítanánk a típusokat, érdemes áttekinteni, hogy mit tartalmaznak az egyes keretrendszerek. ArchiA struktúra leírja, hogyan rétegeződnek ezek az alkatrészek úgy, hogy az egyik réteg változása ne rontsa a többit.
- Tesztszkript réteg: A teszteseteket tárolja. A szkriptek rövidek maradnak, mert újrafelhasználható függvényeket hívnak meg a navigációs lépések ismétlése helyett.
- Függvénykönyvtár: Tárolja a megosztott műveleteket, például a bejelentkezést, a keresést és a kijelentkezést, így a munkafolyamat-módosítás csak egyszer történik meg.
- Objektumtár: Felhasználóbarát neveket rendel hozzá a GUI elemkeresőkhöz. Amikor a felület megváltozik, csak ez a réteg szerkesztődik.
- Tesztelési adatréteg: A bemeneti és a várható értékeket Excelben, CSV-ben vagy adatbázisforrásokban tartja a kódon belüli helyett.
- Konfigurációs réteg: Környezetet tartalmaz URLs, böngészőbeállítások, időtúllépések és hitelesítő adatok.
- Jelentési réteg: Végrehajtási jelentéseket, hibajelentéseket és diagnosztikai naplókat készít.
- Végrehajtási réteg: Csomagok indítását indítja el egy build szerverről, összekapcsolva az automatizálást a folyamatos integráció.
Az alábbi keretrendszer-típusok főként abban különböznek, hogy mennyire szigorúan választják el ezeket a rétegeket.
Tesztautomatizálási keretrendszerek típusai
Az alábbiakban bemutatjuk az automatizált tesztelési keretrendszerek különböző típusait:
- Lineáris szkriptelés
- A tesztkönyvtár Architecture Framework.
- Az adatvezérelt Tesztelés Keretrendszer.
- A kulcsszóvezérelt vagy táblázatvezérelt tesztelési keretrendszer.
- A hibrid tesztautomatizálási keretrendszer.
Nézzük meg őket részletesen –
1) Lineáris szkriptelés – Felvétel és lejátszás
Ez a legegyszerűbb az összes tesztelési automatizálási keretrendszer közül, és más néven is ismert „Felvétel és lejátszás”. Ebben Automatizálási tesztelés A keretrendszer, a Tester manuálisan rögzít minden lépést (navigációs és felhasználói bemenetek), ellenőrzőpontokat szúr be (érvényesítési lépések) az első körben. Ezután lejátssza a rögzített forgatókönyvet a következő körökben.
Példa: Fontolja meg a bejelentkezést Repülőjegy-foglalási kérelem és annak ellenőrzése, hogy az alkalmazás betöltődött-e a sikeres bejelentkezéskor. Itt a tesztelő egyszerűen rögzíti a lépéseket, és hozzáadja az érvényesítési lépéseket.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded after successful log-on Window("Flight Reservation").Check CheckPoint("Flight Reservation")
Előnyök
- A szkript létrehozásának leggyorsabb módja
- Automatizálási szakértelem nem szükséges
- A Teszteszköz funkcióinak megismerésének legegyszerűbb módja
Hátrányok
- Kevés szkriptek újrafelhasználása
- A tesztadatok a szkriptbe vannak bekódolva
- Karbantartási rémálom
2) A tesztkönyvtár Architecture Framework
Úgy is ismert, mint "Strukturált szkriptek" or „Funkcionális dekompozíció”.
Ebben az automatizálási tesztelési keretrendszerben a tesztszkripteket kezdetben a „Felvétel és lejátszás”Módszer. Later, a parancsfájlokon belüli gyakori feladatok azonosítása és függvényekbe csoportosítható. Ezeket a függvényeket a fő tesztszkript hívja meg Vezető különböző módokon tesztesetek létrehozására.
Példa: Ugyanazt a példát használva, mint a fenti, a Flight Reservation szolgáltatásba való bejelentkezés funkciója így fog kinézni.
Function Login() SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click End Function
Most ezt a függvényt a következőképpen hívja meg a fő szkriptben
Call Login() --------------------------- 'Other Function calls / Test Steps. ---------------------------
Előnyök
- A Strukturált Scriptingben magasabb szintű kód-újrahasználat érhető el, mint a „Rögzítés és lejátszás”
- Az automatizálási szkriptek fejlesztése kevésbé költséges a nagyobb kód-újrafelhasználás miatt
- Egyszerűbb szkript-karbantartás
Hátrányok
- A Test Library Framework használatával szkriptek írásához technikai szakértelem szükséges
- Több időre van szükség a tesztszkriptek tervezésére és előkészítésére.
- A tesztadatok keményen kódolva vannak a szkriptekben
3) Az adatvezérelt tesztelési keretrendszer
Ebben a keretrendszerben , míg Teszt eset Mivel a logika a tesztszkriptekben található, a tesztadatokat elkülönítik és a tesztszkripteken kívül tárolják. A tesztadatokat külső fájlokból (Excel-fájlok, szövegfájlok, CSV-fájlok, ODBC-források, DAO-objektumok, ADO-objektumok) olvassák be, és a tesztszkripten belüli változókba töltik be. A változókat bemeneti értékekként és ellenőrző értékekként is használják. Magukat a tesztszkripteket lineáris szkripteléssel vagy tesztkönyvtár-keretrendszerrel készítik el. A technikát részletesebben a következő részben ismertetjük. adatvezérelt tesztelés tutorial.
Példa: Fejlesztőping A repülőjegy-foglalási bejelentkezési szkript ezzel a módszerrel két lépésből áll.
Step 1) Hozzon létre egy tesztet – adatfájlt, amely lehet Excel , CSV vagy bármilyen más adatbázisforrás.
| Ügynök neve | Jelszó |
|---|---|
| Feszítővas | Mercury |
| Tina | MERCURY |
| Bill | Higany |
Step 2) Készítsen tesztszkriptet, és hivatkozzon a tesztadatforrásra.
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set DataTable("AgentName", dtGlobalSheet) Dialog("Login").WinEdit("Password:").Set DataTable("Password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click 'Check Flight Reservation Window has loaded Window("Flight Reservation").Check CheckPoint("Flight Reservation") 'Note "dtGlobalSheet" is the default excel sheet provided by QTP.
Előnyök
- A tesztszkriptek változásai nem érintik a tesztadatokat
- A tesztesetek több adatkészlettel is végrehajthatók
- Különféle tesztforgatókönyvek hajthatók végre a külső adatfájlban lévő tesztadatok megváltoztatásával
Hátrányok
- Több időre van szükség a tesztszkriptek és a tesztadatok megtervezéséhez és előkészítéséhez
4) A kulcsszóvezérelt vagy táblázatvezérelt tesztelési keretrendszer
Az Kulcsszóvezérelt vagy a táblavezérelt automatizálási keretrendszer fejlesztéséhez adattáblákra és kulcsszavakra van szükség, független a teszt automatizálási eszköz végrehajtásukra használták. A tesztek megtervezhetők az Alkalmazással vagy anélkül. A kulcsszóvezérelt tesztben a tesztelés alatt álló alkalmazás funkcionalitása egy táblázatban, valamint az egyes tesztek lépésenkénti utasításaiban van dokumentálva.
A kulcsszóvezérelt keretrendszernek 3 alapvető összetevője van, nevezetesen. Kulcsszó , Alkalmazástérkép , Összetevő funkció.
A kulcsszó egy GUI-komponensen végrehajtható művelet. Volt. A GUI komponens szövegdobozában néhány kulcsszó (művelet) az InputText, a VerifyValue, a VerifyProperty és így tovább.
Mi az Alkalmazástérkép?
Az alkalmazástérkép névvel ellátott hivatkozásokat tartalmaz a grafikus felhasználói felület összetevőihez. Az alkalmazástérképek nem más, mint „Objektumtár"
Mi az a komponens funkció?
A komponensfüggvények azok a funkciók, amelyek aktívan manipulálják vagy lekérdezik a grafikus felhasználói felület összetevőjét. Példa erre a funkcióra: kattintson a web gombra az összes hibakezeléssel , adja meg az adatokat a webes szerkesztésben az összes hibakezeléssel. Az összetevő függvények lehetnek alkalmazásfüggőek vagy függetlenek.
Példa: A Kulcsszónézet megértéséhez vegyük ugyanezt a példát. 2 lépésből áll
1 lépés: Adattábla létrehozása (Eltér a Data Driven Frameworkben létrehozott tesztadattáblázattól). Ez az adattábla tartalmazza a GUI objektumokon végrehajtandó műveleteket és a megfelelő argumentumokat, ha vannak. Minden sor egy tesztlépést jelent.
| tárgy | Akció | |
|---|---|---|
| (Alkalmazástérkép) | (KULCSSZAVAK) | Érv |
| WinEdit (ügynök neve) | Készlet | Guru99 |
| WinEdit (jelszó) | Készlet | Mercury |
| WinButton (OK) | Kattints | |
| Ablak (járatfoglalás) | Ellenőrzése | Létezik |
2 lépés: Írás Code komponensfüggvények formájában.
Miután létrehozta az adattáblázat(oka)t, egyszerűen írjon egy programot vagy egy szkriptkészletet, amely minden lépésben beolvassa, végrehajtja a lépést a Művelet mezőben található kulcsszó alapján, elvégzi a hibaellenőrzést, és naplózza a releváns információkat. Ez a program vagy szkriptkészlet az alábbi pszeudokódhoz hasonlítana:
Function main() { Call ConnectTable(Name of the Table) { //Calling Function for connecting to the table. while (Call TableParser() != -1) //Calling function for Parsing and extracting values from the table. { Pass values to appropriate COMPONENT functions. Like Set(Object Name, Argument) ex. Set(Agent Name, Guru99). } } Call CloseConnection() //Function for Closing connection after all the operation has been performed. } //End of main
Ez minden a kulcsszóvezérelt keretrendszerben.
A Kulcsszóvezérelt Framework előnye, hogy a kulcsszavak újra felhasználhatók. Ennek megértéséhez fontolja meg, hogy ellenőrizni szeretné egy webhely bejelentkezési működését, mondjuk a YAHOO MAIL. A táblázat így fog kinézni:
| tárgy | Akció | |
|---|---|---|
| (ALKALMAZÁSI TÉRKÉP) | (KEYWORD) | Érv |
| WebEdit (Felhasználónév) | Készlet | abc@yahoo.com |
| WebEdit (jelszó) | Készlet | xxxxx |
| WebButton (OK) | Kattints | |
| Ablak (Yahoo Mail) | Ellenőrzése | Betölti |
Ha ebben az esetben azt tapasztalja, hogy a kulcsszavak (Set, Click, Verify) ugyanazok maradnak, amelyekhez már kifejlesztették a megfelelő komponensfüggvényeket. Csak az Alkalmazástérképet kell módosítania.ping (Objektumtár) a korábbi repülőjegy-foglalásból a Yahoo-hoz Mail , az argumentumértékek megváltoztatásával és ugyanaz a szkript fog működni!
Előnyök
- Magas kód-újrafelhasználhatóságot biztosít
- Teszteszköz független
- A tesztelés alatt álló alkalmazástól függetlenül ugyanaz a szkript működik az AUT-hoz (bizonyos korlátozásokkal)
- A tesztek megtervezhetők AUT-val vagy anélkül
Hátrányok
- Mivel a kezdeti befektetés meglehetősen magas, ennek előnyei csak akkor érhetők el, ha az alkalmazás meglehetősen nagy, és a tesztszkripteket jó néhány évig karban kell tartani.
- A kulcsszóvezérelt keretrendszer létrehozásához magas szintű automatizálási szakértelem szükséges.
JEGYZET : Annak ellenére OpenText UFT Egy (korábban Micro Focus UFT) kulcsszóvezérelt keretrendszerként hirdeti magát, használatával nem lehet teljes teszteszköz- és alkalmazásfüggetlenséget elérni.
5) A hibrid tesztautomatizálási keretrendszer
Ahogy a neve is sugallja, ez a keretrendszer egy vagy több fentebb tárgyalt automatizálási keretrendszer kombinációja, amelyek erősségeikből merítenek, és megpróbálják mérsékelni gyengeségeikat. A hibrid teszt-minőségbiztosítási automatizálási keretrendszer az, amivé a legtöbb tesztautomatizálási keretrendszer idővel és több projekttel együtt fejlődik. A Maximum iparág a kulcsszókeretet használja a függvénybontási módszer kombinációjában.
PS: További említésre méltó automatizálási keretrendszerek
Modularitási keretrendszer tesztelése
Ebben a keretben a tesztszkriptben található közös feladatok modulokként vannak csoportosítva.
PéldaMűveletek használata a következőben: QTP használatával moduláris szkripteket hozhat létre
Minta szkript a bejelentkezéshez
SystemUtil.Run "flight4a.exe","","","open" Dialog("Login").WinEdit("Agent Name:").Set "Guru99" Dialog("Login").WinEdit("Password:").Set "Mercury" Dialog("Login").WinButton("OK").Click 'End of Script
Most a következőképpen hívhatja ezt a műveletet a fő szkriptben -
RunAction ("Login[Argument]", oneIteration)
Üzleti folyamatok tesztelése (BPT)
Ezek az automatizálási keretrendszerek a nagy üzleti folyamatokat komponensekre bontják, amelyek többször is felhasználhatók ugyanabban vagy különböző tesztszkriptekben. Például a repülőjegy lefoglalásának üzleti folyamata olyan összetevőkre van felosztva, mint a Bejelentkezés, a repülőjegyek keresése, a foglalás, a fizetés és a kijelentkezés, amelyek újra felhasználhatók ugyanabban az üzleti folyamatban vagy különböző folyamatokban. Ezenkívül a BPT elősegíti a KKV-k és az automatizálási mérnökök közötti szorosabb koordinációt.
Hogyan válasszuk ki a megfelelő tesztautomatizálási keretrendszert?
Egyetlen típus sem nyer mindig. A helyes választás a csapat képességeitől, az alkalmazás méretétől és attól függ, hogy mennyi ideig kell a csomagnak fennmaradnia. Az alábbi táblázat összehasonlítja az öt típust a kimenetelt meghatározó tényezők alapján.
| Kerettípus | Beállítási erőfeszítés | Code újrafelhasználás | Fenntartási költség | A legalkalmasabb |
|---|---|---|---|---|
| Lineáris szkriptelés | Nagyon alacsony | Nagyon alacsony | Nagyon magas | Bemutatók és egyszeri füstellenőrzések |
| Tesztkönyvtár Architectúra | közepes | közepes | közepes | Stabil alkalmazások ismétlődő munkafolyamatokkal |
| Adatközpontú | közepes | közepes | Alacsony | Sok bemeneti készletet igénylő űrlapok és számítások |
| Kulcsszóvezérelt | Magas | Nagyon magas | Alacsony | Vegyes műszaki csapatok által karbantartott nagyméretű lakosztályok |
| hibrid | Magas | Nagyon magas | Alacsony | Hosszú távú vállalati programok |
Mielőtt belevágsz, gondold át ezeket a kérdéseket:
- Meddig fog élni a lakosztály? Az évekig tartó karbantartás indokolja egy kulcsszóvezérelt vagy hibrid design magas kezdeti befektetését. Egy rövid projekt nem.
- Ki írja a teszteket? Ha a manuális tesztelők eseteket adnak hozzá, egy kulcsszótábla lehetővé teszi számukra a szkriptnyelv megtanulása nélküli munkát.
- Mennyire változékony a felület? A gyakori képernyőváltás miatt elengedhetetlen egy külön objektumtár, különben minden szkriptet szerkeszteni kell.
- Mekkora adatvariációra van szükség? Sok bemeneti kombináció közvetlenül egy adatvezérelt tervezésre mutat.
- Melyik eszköz van már használatban? A keretnek illeszkednie kell a kiválasztotthoz automatizálási eszköz és egy nyelvet, amit a csapat ismer, például Selenium ahol Java or Cucumber.
A legtöbb csapat könyvtár- vagy adatvezérelt megközelítéssel kezd, majd hibrid modell felé halad. regresszió lakosztály bővül.
A tesztautomatizálási keretrendszer előnyei Architectúra
A Tesztautomatizálási keretrendszer architektúra előnyei a következők:
- A tesztautomatizálási keretrendszer segít csökkenteni a kockázatokat és a költségeket
- Javítja a tesztek hatékonyságát
- Segít csökkenteni a karbantartási költségeket
- Lehetővé teszi a kód újrafelhasználását
- Lehetővé teszi a maximális vizsgálati lefedettség elérését
- Maximalizálja az alkalmazás funkcionalitását
- Segít csökkenteni a tesztesetek megkettőzését
- A tesztautomatizálással segít a teszt hatékonyságának és teljesítményének javításában
