Tesztautomatizálás Playwrighttal Java nyelven

Saved in:
Bibliographic Details
Main Author: Papp Gergely
Other Authors: Baják Dr. Imre
Merczel András
Format: Thesis
Kulcsszavak:automatizáció
Java
Playwright
Tesztautomatizálás
tesztelés
Online Access:http://dolgozattar.uni-bge.hu/42125

MARC

LEADER 00000nta a2200000 i 4500
001 dolg42125
005 20221111081323.0
008 221111suuuu hu om 000 hun d
040 |a BGE Dolgozattár Repozitórium  |b hun 
041 |a hu 
100 1 |a Papp Gergely 
245 1 0 |a Tesztautomatizálás Playwrighttal Java nyelven  |c Papp Gergely  |h [elektronikus dokumentum] 
520 3 |a Szakdolgozatom célja az volt, hogy bemutassam hogyan nézhet ki egy webes alkalmazás automatikus tesztelése a ma rendelkezésünkre álló nyílt forráskódú eszközök segítségével. Ennek bemutatásához elengedhetetlen, hogy ismerjük a tesztelés alapjait. A tesztelés célja a lehetséges hibák felfedezése, a kockázat csökkentése és a minőség biztosítása, továbbá annak ellenőrzése, hogy valóban a felhasználók, illetve a megrendelők elvárásai szerint működik a szoftver, ezzel növelve az ügyfelek elégedettségét. Alapvetően három féle hibát különböztetünk meg: az emberi hibát, a hibát és a meghibásodást. Egy emberi mulasztás (error) a forráskódban hiba (defect) létrejöttét idézheti elő. Ha a hibás kódot lefuttatjuk, az meghibásodást (failure-t) okozhat, azonban nem feltétlenül minden váratlan teszteredmény meghibásodás. Ismertettem a tesztelés hét alapelvét. Fontos ismernünk a tesztelés szintjeit is, amelyeket 4 különböző csoportra oszthatunk. A legelső teszt szint a komponens teszt. A komponens teszt esetében nem a teljes rendszert, hanem külön-külön, egymástól függetlenül teszteljük a szoftver bizonyos részeit, moduljait. A következő teszt szint az integrációs teszt. A komponens integrációs tesztelés azt vizsgálja, hogy a különböző komponensek hogyan viselkednek egymással. Ezt követi a rendszer teszt. A rendszertesztekkel a szoftver egészének a működését vizsgálják egy olyan tesztkörnyezetben, ami az éles környezethez a lehető legjobban hasonlít. Csak kis mértékben az egyes funkcionalitásokra, sokkal inkább a teljes rendszer működésére koncentrálnak. Az utolsó teszt szint az elfogadási teszt. Az elfogadási teszt (UAT), akárcsak a rendszertesztelés, a teljes rendszer képességeire és viselkedésére összpontosít, de már nem szimulált, hanem éles környezetben. Lényege, hogy ellenőrizzük, a szoftver valóban képes-e éles környezetben is ellátni azt a feladatát amire készült. A tesztelésnek 4 típusa van, a funkcionális tesztelés, a nem-funkcionális tesztelés, az ellenőrző tesztelés és a regressziós tesztelés. A funkcionális tesztek a szoftver előre definiált (például az ügyfelek által) funkcióit ellenőrzik le. Nem-funkcionális tesztelés lehet például a teljesítményteszt és a terheléses teszt. Ellenőrző tesztelést akkor hajtunk végre, amikor ellenőrizni szeretnénk, hogy a fejlesztők által javított hibákat valóban az elvárásoknak megfelelően sikerült javítani. A regressziós teszt a már tesztelt funkció ismételt tesztelését jelenti. Célja, hogy ellenőrizze, hogy a korábban már sikeresen működő szoftvertulajdonságok továbbra is helyesen futnak-e le. Bemutattam a tesztelési technikákat, a statikus és a dinamikus tesztelést. A statikus tesztelés, egy olyan tesztelési technika, amelyhez a tesztelés alatt álló szoftver futtatása nem szükséges. Ilyenkor a szoftver követelményeit, forráskódját és dokumentációját ellenőrizzük. A dinamikus tesztelési technikákat a már „félkész” (működőképes) szoftveren tudjuk végrehajtani. A dinamikus technikát további három alcsoportra bonthatjuk: a feketedobozos tesztelésre, a fehérdobozos tesztelésre és a felfedezéses tesztelésre. Bemutattam a 4 szoftverfejlesztési életciklus modellt (vízesés modell, V-modell, inkrementális modell, iteratív modell (agilis módszer)) és ismertettem ezek előnyeit és hátrányait. Ezt követően írtam a tesztelés folyamatáról, amely a következő lépésekből áll: teszttervezés, tesztelemzés, tesztelőkészítés, tesztvégrehajtás, teszt kiértékelés. Bemutattam olyan eszközöket, amelyek támogatják a tesztautomatizálást, mint például a Maven, a Cucumber, és a két legnépszerűbb tesztautomatizáló keretrendszer, a Selenium és az általam is használt Playwright. A Maven egy szoftver projekt menedzselő eszköz, amelyet a build folyamat megkönnyítésére, automatizálására lehet használni. A Cucumber egy olyan tesztautomatizálást támogató eszköz, amely támogatja a viselkedés-vezérelt fejlesztést. Cucumberben szakmai tudás nélkül (így akár a felhasználók is) lehet (automata) teszteseteket definiálni. Ezeket később lépés definíciókkal kell kiegészíteni (scriptet kell „mögé” írni). A Selenium és a Playwright is egy nyílt forráskódú ingyenesen használható webböngésző automatizáló keretrendszer. Tartalmaznak minden olyan metódust, ami a webes interakciókhoz szükséges. Az utolsó fejezetben elkészítettem a teszteket. A http://automationpractice.com/ weboldalt teszteltem. Ez egy ál e-commerce weboldal, amely direkt tesztautomatizálás gyakorlás céljából lett létrehozva. A teljes projektet Java nyelven készítettem el. Létrehoztam egy Maven projektet, hozzá adtam a számomra szükséges függőségeket és elkészítettem a mappastruktúrát. A teszteseteket a Cucumber segítségével feature fájlokban írtam meg. Ezeket a feature fájlokat a Page Object Model szerint kiegészítettem lépés definíciókkal és page objectekkel. Összesen 11 tesztet készítettem, amely 4 feature fájl, 5 step definition (lépés definíció) osztály és 6 page object segítéségével valószult meg. Mindegyik teszt sikeresen lefutott. Úgy gondolom általánosságban véve elmondható, hogy amennyiben hosszútávon gondolkodunk, az esetek döntő többségében a tesztek automatizációja a manuális teszteléshez képest sokkal olcsóbb és hatékonyabb megoldás, de a manuális teszteléstől továbbra sem lehet eltekinteni. 
695 |a automatizáció 
695 |a Java 
695 |a Playwright 
695 |a Tesztautomatizálás 
695 |a tesztelés 
700 1 |a Baják Dr. Imre  |e ths 
700 1 |a Merczel András  |e ths 
856 4 0 |u http://dolgozattar.uni-bge.hu/42125/1/Papp-Gergely-Tesztautomatiz%C3%A1l%C3%A1s-Playwrighttal-Java-nyelven.pdf  |z Dokumentum-elérés 
856 4 0 |u http://dolgozattar.uni-bge.hu/42125/2/TesztautomatizalasSzakdolgozatPlaywright.zip  |z Dokumentum-elérés 
856 4 0 |u http://dolgozattar.uni-bge.hu/42125/3/BA_O_Papp_Gergely.pdf  |z Dokumentum-elérés