A harmadik vállalati platformot alkotó felhő, mobil-, bigdata-analitikai és közösségi technológiák elterjedésével, a digitalizáció, a kognitív rendszerek és a dolgok internetének korában az üzletnek megannyi változásra kell minél gyorsabban válaszolnia, ezért hasonlóan gyors reagálást, agilitást vár el az informatikai oldaltól az új alkalmazások, funkciók kifejlesztése, tesztelése és bevezetése terén.
Computerworld: Milyen kihívásokkal szembesíti az egyre fokozottabb tempó a szoftvertesztelőket, a követelményekkel együtt miként változik a munkamódszerük, gyakorlatuk?
Szenfner János: Az értékteremtés az egyik legnagyobb kihívás számunkra. Javítanunk, de legalábbis garantálnunk kell az adott szoftver, termék minőségét, és elfogadtatnunk, hogy a minőségbiztosítás (quality assurance, QA), a tesztelés szükséges a piaci sikerhez. A gyorsan változó technológiák miatt - mindenki máshoz hasonlóan - mi is folyamatosan képezzük magunkat, a változásokhoz gyorsan kell alkalmazkodnunk. A rendelkezésre álló módszerek közül kiválasztjuk az adott környezethez illőt, hogy átláthatóbbá, gyorsabbá, követhetővé és tisztábbá tegyük a teljes fejlesztési életciklust. A tesztelőnek azt is meg kell tanulnia, hogy a naprakész tudást átadja a körülötte dolgozó csoportoknak, fejlesztőknek, projektvezetőknek. Értenie kell azt is, hogy az üzlet vagy a megrendelő pontosan mit vár az új fejlesztéstől, hogy a projekt indulásától tevékenyen figyelhessen a releváns kérésekre, teljesítésükre és mindennek a következményeire.
Agilisan kell dolgoznia a QA-nak is, mindig készen kell állnia az új technológiák, módszertanok alkalmazására. Ismernie kell a módszertanok előnyeit, hátrányait, és szabályaikat be kell tartania, különben káoszba fullad a projekt. Jó, ha minden érintett fél tisztán látja ezt. Komoly félreértés például, hogy agilis módszertant követve nem kell dokumentálni a munkát, holott az csupán annyit mond ki, hogy a feladat vagy projekt függvényében megfelelő mértékben kell dokumentálni. A kettő nem ugyanaz. Előfordul, hogy a vállalat olyan projekthez választ agilis módszertant, amely ezt nem tenné lehetővé. Az agilis módszertanok jók és fontosak, de ésszel kell élni velük.
CW: Az említett technológiák és trendek nyomán sokasodnak a kiberbiztonsági kockázatok is, amelyekkel a szoftverek tesztelése során is foglalkozni kell. Az agilis fejlesztéssel készülő, úgynevezett elég jó alkalmazások elég biztonságossá tehetők? Egyáltalán a fejlesztőnek, a tesztelőnek vagy az üzemeltetőnek kell foglalkoznia a biztonság kérdésével?
SZJ: A biztonság kérdésével mindenkinek foglalkoznia kell, nincs kivétel. Az IT-üzemeltetés azonban egymagában nem tudja költséghatékonyan megvédeni az alkalmazást annak hibáitól. A biztonsági problémákat kifizetődőbb kód szintjén megoldani, ezért a fejlesztőcsapatnak tisztában kell lennie azzal, hogy egy alkalmazás miként védhető a támadásokkal szemben. Természetesen a QA-nak is részt kell vennie a biztonsággal kapcsolatos megbeszéléseken, de két dolgot kiemelnék. A QA nem hibakereséssel foglalkozik, hanem az adott termék vagy alkalmazás megfelelő működését ellenőrzi. A biztonsági tesztelés nagyban különbözik a hagyományos, manuális teszteléstől, és speciális tudást feltételez.
De facto biztonságos alkalmazás nem létezik, és vannak olyan hibák is, amelyeket nem érdemes kijavítani. Mérlegelni kell az adott hiba jellegét, a készülő szoftver használatának módját, és a védeni kívánt alkalmazás értékét is, különben a világ összes pénzét elkölthetné a vállalat biztonságra.
CW: Miként készülhetnek fel a szoftvertesztelők, illetve a szervezetek arra, hogy eleget tegyenek a gyors megoldásszállítás és a jobb minőség, a nagyobb biztonság egymással szembe menő követelményeinek? Technológia, eszközök, szervezet vagy emberek szintjén lehet ezt a problémát megoldani?
SZJ: Az informatikában gyakran alulértékeltjük a kommunikáció fontosságát. Sok múlik azon, hogy a QA miként kommunikál a csoportokkal, amelyekkel együtt dolgozik. Nem mindegy, hogy a megoldandó feladatokat miként jelezzük, hogyan kérdezünk vagy válaszolunk. Fontos, hogy a tesztelő minden csoportból kiszedje a munkájához szükséges adatokat, mert ha nem kap meg minden információt, akkor a termék minőségét sem tudja javítani vagy legalább fenntartani. Teljesen természetes, hogy ezt mindenkinek magának kell kijárnia. Minden csoport más szemszögből tekint azonban az adott feladatra, míg a QA-nak a fejlesztés egészét át kell látnia, hogy értékteremtő munkát végezhessen.
Nem minden szereplő - fejlesztő, projektmenedzser, cégvezető - gondolja úgy feltétlenül, hogy fontos áldozni a minőségre. A QA-nak saját feladata és felelőssége elmagyarázni és megértetni, hogy munkája mekkora értéket teremt és képvisel az adott projektben.