![]() |
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.
|
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ő. |