Tesztautomatizálási keretrendszer: mi az, Architecture & Types
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.
- Olvassa el az absztraktot, hogy elképzelése legyen arról, miről fog szólni az előadás.
- 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!
Ha azonban betartják az irányelveket, az olyan kedvező eredményeket fog eredményezni, mint például az előadások alatti hallgatóság elterelése, a résztvevők fokozottabb megtartása és a téma 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.
Tesztautomatizálási keretrendszerek típusai
Az alábbiakban bemutatjuk az automatizált tesztelési keretrendszerek különböző típusait:
- 1) Lineáris szkriptelés
- 2) A tesztkönyvtár Architecture Framework.
- 3) Az adatvezérelt Tesztelés Keretrendszer.
- 4) A kulcsszóvezérelt vagy táblázatvezérelt tesztelési keretrendszer.
- 5) 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 A logika a tesztszkriptekben található, a tesztadatokat elválasztják és a tesztszkripteken kívül tartják. A tesztadatokat a rendszer a külső fájlokból (Excel-fájlok, szövegfájlok, CSV-fájlok, ODBC-források, DAO-objektumok, ADO-objektumok) olvassa be, és betölti a tesztszkripten belüli változókba. A változók mind a bemeneti, mind az ellenőrzési értékekhez használhatók. Maguk a tesztszkriptek vagy a Lineáris Scripting vagy a Test Library Framework segítségével készülnek.
Példa: A Flight Reservation Login szkript fejlesztése 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
A kulcsszóvezérelt vagy táblázatvezérelt automatizálási keretrendszer fejlesztéséhez adattáblázatokra é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ó.
Mi az a kulcsszó?
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: Kód írása komponens fü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 figyeli, hogy a Kulcsszavak beállítása , Kattintás , Ellenőrzés változatlanok maradnak, amelyekhez a megfelelő összetevő függvények már ki vannak dolgozva. Mindössze annyit kell tennie, hogy módosítsa az Alkalmazásleképezést (Object Repository) a korábbi repülésfoglalásról Yahoo-ra 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, hogy a Micro Focus UFT kulcsszóvezérelt keretrendszerként hirdeti magát, a HP UFT segítségével nem érhet el teljes teszteszköz- és alkalmazásfüggetlenséget.
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élda: A QTP műveletek 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.
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
Összegzésként
- A Framework 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 betartva előnyös eredményeket produkál, például megnövekedett kód-újrahasználatot, nagyobb hordozhatóságot, alacsonyabb szkript-karbantartási költségeket stb.
- A lineáris szkriptelés a legegyszerűbb az összes automatizálási keretrendszer közül, és „Rögzítés és lejátszás” néven is ismert.
- Tesztkönyvtár ArchiA tecture Framework más néven „Strukturált Scripting” vagy „Funkcionális dekompozíció”.
- Az adatvezérelt tesztelési keretrendszerben a teszteset logikája a tesztparancsfájlokban található, a tesztadatok pedig elkülönítve vannak, és a tesztparancsfájlokon kívül maradnak.
- A kulcsszóvezérelt vagy táblázatvezérelt keretrendszer adattáblázatok és kulcsszavak fejlesztését igényli, függetlenül a végrehajtásukhoz használt tesztautomatizálási eszköztől.
- A legtöbb tesztautomatizálási keretrendszer idővel és több projekttel együtt a hibrid automatizálási keretrendszerből fejlődik ki.