A projektről
Egy pénzügyi szervezet hitelfelvételhez kapcsolódó webalkalmazásának tesztautomatizálását támogattuk. Az alkalmazás összetett, több rendszeren átívelő üzleti folyamatokat kezelt, amelyek ellenőrzését korábban elsősorban manuális tesztelők végezték.
A Passed feladata egy olyan automatizált tesztelési keretrendszer kialakítása volt, amely támogatja a manuális tesztelőcsapat munkáját, csökkenti az ismétlődő ellenőrzésekre fordított erőforrásigényt, és az alkalmazás működési sajátosságai mellett is megbízható visszajelzést biztosít.
A kihívás: összetett folyamatok és instabil tesztkörnyezet
A projekt egyik legnagyobb kihívását a hosszú, végponttól végpontig (End-to-End, E2E) tartó tesztfolyamatok automatizálása jelentette. Ezek a folyamatok több rendszerkomponenst érintettek, végrehajtásuk pedig jelentős manuális kapacitást igényelt.
Az automatizálást további technikai nehézségek is befolyásolták. A webalkalmazás időnként lassan válaszolt, a rendszerek közötti váltások során pedig ismert hibák jelentkeztek, amelyek megszakíthatták az automatizált tesztfutásokat.
Az automatizálási keretrendszernek ezért nemcsak a felhasználói műveleteket kellett végrehajtania, hanem a kritikus pontokon jelentkező, ismert problémákat is kezelnie kellett.
Az üzleti kockázat: amikor a tesztelés túl sok erőforrást köt le
A hosszú üzleti folyamatok ismételt manuális ellenőrzése jelentős időráfordítást igényelt a tesztelőcsapattól.
Az automatizálás önmagában azonban nem jelent megoldást, ha a tesztek az alkalmazás lassúsága vagy ismert hibái miatt rendszeresen megszakadnak. A sikertelen futások újabb ellenőrzéseket és újrafuttatásokat tehetnek szükségessé, ami csökkenti az automatizálás hatékonyságát.
A nem megfelelően kezelt tesztmegszakadások ráadásul megnehezíthetik a valódi szoftverhibák elkülönítését a tesztkörnyezetből eredő problémáktól.
A cél ezért nem pusztán a manuális tesztlépések automatizálása volt, hanem egy stabilabb, könnyebben karbantartható és hosszú távon is használható tesztelési megoldás kialakítása.
A Passed megoldása: moduláris és ellenálló tesztautomatizálási keretrendszer
A Passed szakemberei Robot Framework és BrowserLibrary használatával, Page Object Model (POM) szemléletben építették fel a tesztautomatizálási keretrendszert.
A megoldás kialakításánál három szempont kapott kiemelt figyelmet.
1. Újrahasználható és átlátható tesztlépések
A felhasználói interakciókat végrehajtó függvényeket modulokba rendeztük, amelyekből összetettebb tesztlépéssorozatokat lehetett felépíteni.
Ez a struktúra átláthatóbbá és könnyebben karbantarthatóvá tette a tesztkódot, miközben hozzájárult a tévesen sikertelennek jelzett tesztfutások számának csökkentéséhez.
2. Ismert hibák kezelése
A rendszerek közötti váltásoknál előforduló hibák kezelésére célzott kerülőmegoldásokat (workaroundokat) alakítottunk ki.
Ezeket a keretrendszerben elkülönített rétegként, önálló könyvtárban helyeztük el. Így az automatizált tesztek bizonyos ismert hibák esetén is képesek voltak folytatni az ellenőrzést, csökkentve a szükségtelen megszakadások kockázatát.
3. Teljesítményelemzés és optimalizálás
A keretrendszer optimalizálását egy saját fejlesztésű, Python-alapú elemzőalkalmazás támogatta.
Az eszköz a gyakran használt tesztlépések végrehajtási idejét vizsgálta, és statisztikákat készített azok időigényéről. Ez segített azonosítani a tesztfolyamatok időigényesebb elemeit, és megalapozta a célzott optimalizálást.
Az eredmény: stabilabb automatizálás és hosszú távon használható megoldás
A kialakított keretrendszer az alkalmazás lassúsága és ismert hibái ellenére is ellenállóbb automatizált tesztfuttatást tett lehetővé.
A moduláris felépítés és az elkülönített hibakezelési megoldások csökkentették a tesztmegszakadásokat, az automatizált ellenőrzések pedig tényleges szoftverhibákat is feltártak.
A projekt során fontos szakmai felismerés volt, hogy a manuális tesztfolyamatok teljes, lépésről lépésre történő automatizálása nem minden esetben jelenti a leghatékonyabb megközelítést.
Bizonyos feladatoknál, különösen a tesztadatok előállításánál és a rövidebb funkcionális ellenőrzéseknél, az automatizálás nagyobb értéket teremthet a manuális tesztelőcsapat számára.
A projekt végén az elkészült keretrendszert az ügyfél belső munkatársai vették át, így a megoldás a további tesztelési tevékenység során is felhasználható maradt.
Mit jelentett mindez az ügyfél számára?
A projekt legfontosabb értéke egy olyan automatizálási alap kialakítása volt, amely az összetett pénzügyi alkalmazás sajátosságaihoz alkalmazkodva támogatta a minőségbiztosítást.
A megoldás fő előnyei:
- Stabilabb tesztfuttatások: csökkent az alkalmazás lassúságából és az ismert hibákból eredő megszakadások kockázata.
- Hatékonyabb hibafeltárás: az automatizált ellenőrzések valódi szoftverhibákat is azonosítottak.
- Könnyebb karbantarthatóság: a moduláris keretrendszer átláthatóbbá tette a tesztlépések kezelését.
- Jobb erőforrás-felhasználás lehetősége: a megfelelő feladatokra alkalmazott automatizálás felszabadíthatja a manuális tesztelők kapacitását az összetettebb ellenőrzésekre.
- Hosszú távon hasznosítható tudás és eszközrendszer: az ügyfél belső csapata átvette a kialakított keretrendszert.
A projekt jól mutatja, hogy a tesztautomatizálás értéke nem kizárólag az automatizált tesztek számában mérhető. Legalább ennyire fontos, hogy a megoldás mennyire stabilan működik, hogyan kezeli a rendszer sajátosságait, és milyen mértékben támogatja a teljes tesztelési folyamat hatékonyságát.
Hasonló tesztelési kihívással szembesül?
A Passed Informatikai Kft. 2006 óta kizárólag szoftverteszteléssel foglalkozik. Szakértőink manuális és automatizált teszteléssel, valamint testreszabott minőségbiztosítási megoldásokkal segítik a vállalatokat a szoftverhibákból eredő üzleti kockázatok csökkentésében.


