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.