Automatizált tesztelés

Ügyfélprobléma

Az ügyfél szoftverfejlesztő cég, olyan alkalmazást szállított 2008-ban banki és telekommunikációs környezetbe, amelyik mind a mobil telefon, mind pedig a banki rendszerekkel kommunikál, kapcsolatot teremt a kettő között, és tranzakciós lehetőségeket teremt mobil telefon (mobil terminál) felhasználásával.

Az alkalmazás saját protokollon kommunikál a mobil telefonszolgáltatók rendszereivel, és SOAP felületen kapcsolódik a banki rendszerhez.

A feladat minél hatékonyabban tesztelni a SOAP felületet, úgy, hogy a tesztelés eredménye dokumentált legyen, a tesztek ismételten futtathatók legyenek, és így dokumentálni lehessen a bank felé a rendszer interfész definíciónak való megfelelőségét az integrációs tesztek előtt.

Javasolt megoldás

A Verhás & Verhás Szoftver Manufaktúra (VVSC), mint független harmadik fél lépett be a rendszerbe, mint tesztelő. A függetlenség biztosította, hogy a tesztelők sem személyükben, sem cégként nem voltak érdekelve semmilyen hiba elfedésében. (Hasonlóan, ahogy a könyvelő és a könyvvizsgáló is külön személyek.)

A teszteléshez az Eviware SOAPui szoftverét használtuk, amelyet nem csak, mint desktop, grafikus, személyes tesztelő eszközt alkalmaztunk, hanem kihasználtuk a szoftver programozhatóságát mind Groovy scriptekkel, mind pedig a szoftver Java osztályainak külső alkalmazásból való meghívásával.

Összeintegrálva a SOAPui szoftvert a meglevő GreenPepper (teszt integrációs szoftver) és Confluence (Wiki szoftver) termékekkel olyan rendszert kaptunk, ahol az egyes tesztek futtatása egy web lapon egy gomb megnyomását jelenti.

Az integrációs szoftver neve Pegamento .

Megvalósítás

A megvalósítás során kifejlesztésre került a Pegamento rendszer, és minden egyes tervezett tesztesethez kidolgoztuk a tesztelés vázát valamint a teszt adatokat tartalmazó Confluence web oldalakat a GreenPepper szoftver kívánalmainak megfelelően táblázatos formában.

A tesztek váza, a futtatások, SOAP hívások és válaszok technikai értékelése SOAPui programmal történt interaktív módon. Ennek kidolgozása alatt is sok hibára derítettünk fényt. A tesztek végrehajtása különböző adatokkal webes felületen keresztül történt. A webes felületen szereplő táblázatok már nem tartalmaztak alacsony szintű technikai adatot, csak olyan adatokat, amelyek az interfész üzleti szintű teszteléséhez szükséges.

Az egyes hibákat, mivel a megrendelő nem rendelkezett saját hibajegykezelő rendszerrel, saját JIRA rendszerünkben rögzítettük, amelyhez a megrendelő munkatársainak is hozzáférést biztosítottunk.

A tesztek kialakítása során kiderült, hogy a tesztek hatékony megvalósításához nem csak a SOAP felület elérése szükséges, hanem a GSM rendszer proprietary felületeinek a kezelése is. Ehhez olyan Groovy scripteket fejlesztettünk ki, amelyek kezelni tudták a 140byte (egy SMS mérete) csomagba speciálisan összepakolt, és elektronikusan aláírt üzeneteket.

A tesztelő rendszer teljes egészében Java architektúrára épült, míg a tesztelt rendszer teljesen .NET alapokon nyugodott, így a fejlesztett és teszt rendszer együttműködése még nagyobb biztonsággal garantálta a szabványosságot.

A tesztek automatizált újrafuttatása az egyes szoftverkibocsátásoknál minimális ráfordítással végezte el a regressziós vizsgálatokat, néhány esetben olyan hibákat kimutatva, amelyek a regressziós tesztek nélkül bekerültek volna a kibocsátott verzióba.

Továbbfejlesztések

2008 végén szükségessé vált, hogy a fejlesztett rendszer ne csak a banki SOAP felületekkel, hanem küldő banki szolgáltatókkal is kapcsolatot tudjon tartani, külső bank által kibocsátott kártyák kezelésére. Ehhez megfelelő kutatómunka után kiválasztottuk a jPOS nyílt forráskódú szoftvert, amelyet összeintegráltunk a SOAPui programmal. Ezzel a SOAPui mind Base24 szerver, mind pedig Base24 kliens módban használható tesztelésre. Mivel a tesztelés kivitelezése és nem a szoftver kifejlesztése volt a megrendelés tárgya ezért ezt a szoftvert elkészülte után nyílt forráskódú szoftverré tettük, jelenleg is elérhető teljes kóddal, dokumentációval, oktató videóval a web oldalainkon keresztül.

Ügyfélelőnyök

A tesztelés során olyan jellegű hibák derültek ki, amelyeket korábbi fejlesztéseknél csak az integrációs tesztek mutattak meg. Annak ellenére, hogy a tesztelés nem garantálja a 100%-os hiba mentességet, az integrációs teszt egyik fázisa során sem derültek ki addig nem ismert funkcionális hibák. Összességében a korábbi projektek tesztelési tapasztalataival összevetve a tesztelés kisebb költséget jelentett az általunk javasolt, és végigvitt módon.

Bookmark and Share
Friss hírek

2011. szerpember 9.

Kibocsátottuk a Pegamento TR, soapUI modult, amelyiklehetővé teszi, hogy soap szervizeket úgy teszteljünk, hogy közben nem kell helyességellenőrző kódot írni. A modul minden teszt futtatást adatbázisban tárol és az egyes futások eredményei összehasonlíthatóak, és minden lényeges eltérés a futási eredmények között automatikusan felderíthető.

Olvassa régebbi híreinket is!