Testre szabott informatikai és üzleti megoldásokkal segíti a pénzügyi szervezeteket a digitális átállásban az L&P Solutions Kft. szakértői csapata, amely Európa 17 országában eddig 66 banknál és biztosítónál valósított meg projekteket. Szolgáltatásai közé tartozik a tesztmenedzsment és a minőségbiztosítás kialakítása, a gondtalan rendszerhasználat megalapozása, valamint a különböző funkcionális, integrációs, felhasználói, biztonsági és teljesítménytesztek megtervezése és végrehajtása.
Computerworld: Az üzleti igények gyors változása, a fejlesztési ciklusok lerövidülése, a mobil-, felhő-, hibrid és IoT-környezetek térhódítása a szoftvertesztelőket is új kihívások elé állítják a szerteágazóan hálózatba kapcsolt, ezért a kibertámadásoknak fokozottan kitett szervezeteknél. Milyen kockázatokra kell különösen ügyelniük napjaink tesztmenedzsereinek?
Kreisz József: Elsők között kezdtek a digitális átállással foglalkozni a pénzügyi szektor szereplői, először a lehetőségeket és a kockázatokat mérlegelve, de az utóbbi pár évben már a megvalósítás szintjén is. Hamar nyilvánvalóvá vált, hogy szoftvertesztelés szempontjából ehhez jóval többre lesz szükség, mint a kódhibák keresése és az üzlet által kért funkciók ellenőrzése, ezért a feladatok megoldásához a korábbinál nagyobb mértékben kell majd külső erőforrásokra támaszkodni. A technológiai feltételek megteremtésén túl a tesztmenedzsernek így az emberi tényezőre is fokozottan oda kell figyelnie, hogy a házon belüli csapatok, fejlesztők, üzemeltetők, kulcsfelhasználók és a külső szolgáltatók hatékonyan együttműködhessenek.
Kreisz József tesztelésikompetencia-vezető, L&P Solution
Követve a technológia fejlődését, változik a szabályozási környezet is, az informatikai rendszereknek olyan követelményeknek is meg kell felelniük, amelyek látszólag ellentmondanak egymásnak. Az Európai Unió digitális pénzügyi szolgáltatásokra vonatkozó második irányelve, a januártól érvényes PSD2, valamint a személyes adatok kezelését szabályozó rendelete, a májusban hatályba lépő GDPR ilyen kihívásokkal szembesíti a tesztelőket, mivel az előírások értelmében a vállalatoknak informatikai rendszereik működését egyszerre kell átláthatóbbá és nyitottabbá, ugyanakkor megbízhatóvá és biztonságossá tenniük. Tetemes bírságra számíthat a vállalat, ha ezt elmulasztja, ezért a tesztelőknek fel kell készülniük, hogy az alkalmazások megfelelőségét mindenkor megbízhatóan ellenőrizhessék.
CW: A DevOps, az agilis fejlesztés és a folyamatos szoftverszállítás módszertani környezetében miként alakíthatnak ki a vállalatok célravezető, eredményes stratégiát a tesztelés gyakorlatának átalakításához?
KJ: Tapasztalataink szerint a szervezetek többsége még nem dolgozott ki ilyen stratégiát. Fontos ezért, hogy amikor ehhez hozzálát a vállalat, akkor az üzlet igényeiből induljon ki. Ha az üzleti folyamatok átalakításában a digitalizáció kerül előtérbe, akkor a folyamatok támogatására készülő alkalmazások tesztelésében, minőségbiztosításában is az újgenerációs megoldásoknak kell nagyobb szerepet adni. A tesztelés ugyanis követő terület, a jó tesztelők erényeik közé sorolják az alkalmazkodás képességét.
Tesztelési stratégiájának kidolgozásakor a vállalat az iparágban elterjedt nemzetközi módszertanok közül választhat. A hagyományos, hierarchikus felépítés mellett ezekben olyan oldalmodulok is elérhetők, amelyek például az agilis szoftverfejlesztést, az alkalmazások modellalapú, illetve kiberbiztonsági tesztelését támogatják. A friss módszertanokat követve olyan gyakorlat alakítható ki, amelyben a tesztelők meg tudnak felelni a digitális átalakulással fellépő új követelményeknek is. Az agilis fejlesztés például feltételezi a tesztelők és a fejlesztők szoros, akár egy csapaton belüli együttműködését. A tesztelőnek minden futamon (sprinten) belül késznek kell lennie a kód tesztelésére, de legalábbis szorosan lépést kell tartania a futamok ütemezésével. Ehhez automatizálnia kell a tesztelés folyamatát, ami az elméleti tudás és a manuális munkavégzés képessége mellett újfajta technológiai felkészültséget is megkövetel: a PSD2 miatt például egyaránt ismernie kell a hagyományos banki rendszereket, valamint az újgenerációs fintech-alkalmazásokat és a két világot összekapcsoló integrációs megoldásokat.
Ehhez az együttműködéshez felül kell emelkedni fejlesztő és tesztelő vélt érdekellentétén, mivel a cél nagyon is közös: jobb minőségű szoftvert szállítani rövidebb átfutással. Célszerű ezért, ha a vállalat ugyanazon platformon dolgozó kisebb, agilis csapatai az együttműködést támogató szoftvermegoldásokat használnak a tudás megosztására, és ahogyan azt a Lean módszertan is szorgalmazza, létrehozzák a tesztelés kompetenciaközpontjait.
CW: Milyen eszközökkel érhetik el egyszerűbben és könnyebben ezt a közös célt az agilis csapatokban dolgozó fejlesztők és tesztelők?
KR: Sokan vélik úgy, hogy a tesztek eszközszintű támogatása a végrehajtásra korlátozódik, de ebben tévednek. Egy szövegszerkesztő vagy táblázatkezelő program például ugyanolyan hasznos lehet a funkciók tesztelésében, mint egy kimondottan kódtesztelésre készült szoftvercsomag, amely egy kattintásra lefuttatja a részfeladatok automatizálására írott rövid programokat, szkripteket. Persze ez a két végletet jelenti, ezért nézzük inkább a feladatokat, amelyek szoftvereszközökkel hathatósan támogathatók. A végrehajtás mellett ilyen a tesztmenedzsment, melynek eszközeivel a tesztesetek például megfelelő struktúrában tárolhatók, és forgatókönyvek állíthatók össze belőlük a különböző tesztesemények támogatására, továbbá a tesztek végrehajtása is dokumentálható. Nagyon fontos szempont, hogy a tárolt teszteseteket a menedzsmenteszköz virtualizált környezetben újra felhasználhatókká tegye, mert így jelentősen csökkenthető a tesztelés költsége.
Még jobb, ha a tesztmenedzsment-eszköz az üzleti követelmények strukturált tárolására és tesztesetekkel összekapcsolására is alkalmas. Így ugyanis a tesztelés teljes folyamata nyomon követhető, és mérőszámokkal kimutatható lesz, hogy a tesztesetek hány százalékban fedik le a követelményeket, azok milyen arányban teljesülnek. Az üzleti oldal gyakran úgy fogalmazza meg a követelményeket például szöveges dokumentumban, hogy azok némelyikét később nem lehet tesztelni. Ha a tesztmenedzsment-rendszer támogatja a követelmények levezetését a rendszermodellből, akkor ez a probléma megszűnik. Az üzleti elemzők ilyen eszközzel akár modellezhetik is a rendszer elvárt viselkedését a különböző helyzetekben, így a tesztelők később ellenőrizhetik ennek teljesülését az elkészített tesztesetek automatizált lefuttatásával.
Integráltan tartalmazhatják ezek a csomagok a riportkészítő eszközöket is, amelyekkel előállíthatók a tesztelés folyamatát és eredményét áttekintő jelentések, de különálló, illetve a vállalatnál már bevezetett riportkészítő megoldások is használhatók erre a célra. A jelentések alapján a felsővezetők is nyomon követhetik a követelmények teljesülését, a tesztelés hatékonyságát és költségeit, nem utolsósorban pedig időben kezelhetik a készülő alkalmazás kapcsán felmerülő kockázatokat is.
Minthogy a tesztmenedzsment és -végrehajtó eszközcsomagok licencdíja igen drága lehet, a vállalat dönthet nyílt forráskódú megoldás mellett is. A sikeres bevezetés és használat érdekében azonban először fel kell mérni, hogy a szervezet felkészült-e a tesztmenedzsment-csomag érdembeli használatára, felállította-e a kompetens, a tesztelés és a minőségbiztosítás iránt elhivatott csapatot.
CW: Mely feljövő technológiákra, eszközökre és megoldásokra, módszerekre érdemes külön figyelmet fordítaniuk a tesztmenedzsereknek, hogyan tervezzenek a jövőre nézve?
KR: Jelenleg teszteljük azokat a technológiákat, amelyek a közeljövőben a tesztelés és a minőségbiztosítás hatékonyságát és eredményességét fogják javítani. Kiemelkedik közülük a mesterséges intelligencia (AI), amelynek már a tesztelése is kihívást jelent. Ha ugyanis a tesztelők nem ismerik az AI működési modelljét, akkor azt csak tapasztalati úton, fekete dobozos teszteléssel tudják ellenőrizni. A vállalatoknak azonban fel kell készülniük arra, hogy a továbbiakban az AI képességeit más megoldások tesztelésében, megfelelő tesztesetek létrehozásában is hasznosítsák olyan területeken, mint például a mesterséges és az üzleti intelligencia, a big data, az adatbányászat, a kiberbiztonság, valamint a dolgok internete.
Mindazon technológiákra figyelniük kell a tesztmenedzsereknek, amelyekkel modellezhető és ellenőrizhető az ilyen rendszerektől elvárt nagyon gyors, megbízható és biztonságos működés, és persze azokkal a keretrendszerekkel is meg kell ismerkedniük, amelyekben az okos megoldások egyre újabb nemzedékei készülnek.