Sikeres volt az első magyarországi tesztelői verseny
Bízunk benne, hogy a nemrég lezajlott szoftvertesztelői versenynek lesz folytatása. A hagyományteremtő szándékkal útjára indított rendezvény döntőjét élőben figyelhettük végig. Nézzük át, milyen feladatokat kellett megoldaniuk a döntőbe jutott versenyzőknek.
A külföldön is újdonságnak számító, hiánypótló szoftvertesztelő verseny – hazánkban – hagyományteremtő szándékkal került megrendezésre a ‘hivatásos’ tesztelők körében.
2011. október 15-én kezdődött egy három hónapos, kifejezetten a hibák keresésére koncentráló versenymaraton a Masterfield Oktatóközpont és a versenyt támogató partnerei jóvoltából. Az országos szintű tesztelői szakmai találkozón azokat keresték, akik éreztek magukban elég erőt egy szoftvertesztelői versenyen való megmérettetéshez. A sorozat 2012. január 27-én zárult az élő döntővel, amely a magyarországi IT-szektorban első ízben került megrendezésre.
A kezdeményezés egy rangsort szeretne felállítani a szakemberek tudása, képessége alapján, mivel a szoftvertesztelés a fejlesztéstől és programozástól eltérő képességeket és beállítottságot igényel.
A versenyen nem volt nevezési díj, bárki részt vehetett rajta. Az érdeklődök a verseny honlapján tudtak jelentkezni, de már a sikeres jelentkezéshez is egy beugró feladatot kellett megoldaniuk, aminek a minimális szoftvertesztelési ismeretekkel sem rendelkezők kiszűrése volt a célja. A verseny heti rendszerességű online feladatok fordulóival folytatódott a verseny honlapján. Az online fordulók egy kitalált cég környezetébe lettek elhelyezve, visszatérő szereplőkkel, gyakran a feladat lényege is csak hozzá kapcsolódó e-mailváltásokból volt meghatározható.
Az 1. online forduló egy elhanyagolt, de fontos technikával foglalkozott, a statikus teszteléssel. A versenyzőknek egy valós specifikációban kellett megkeresniük a hibás, ellentmondásos vagy nem egyértelmű részeket, valamint rámutatni a hiányos vagy éppen felesleges pontokra. A feladat komoly kihívást jelentett a versenyzőknek, hiszen kevesen vesznek részt ilyen jellegű munkákban ténylegesen.
A 2. online fordulóban szintén a statikus tesztelés technikáját kellett használni, ezúttal kódelemzésre. Egy pár soros kódrészletben kellett megkeresni a klasszikus programozói hibákat: inicializálatlan vagy deklarálatlan változó, felesleges értékadás, halott kód, túl korai memóriafelszabadítás, memóriafoglalási probléma stb. A nyelv szándékosan fiktív volt, hogy ne legyenek előnyben azok, akik esetleg pont a feladat kiadott programnyelvéhez értenek, és ne lehessen egyszerűen bemásolni egy fordítóba. A versenyzők közül sokan hibátlanul megoldották ezt a feladatot, vagyis bizonyára rendelkeztek fejlesztői háttérrel.
A 3. online fordulóban egy böngészős átutalási űrlapot kellett tesztelni. Itt az volt a feladata a versenyzőknek, hogy alapos teszteléssel az alkalmazás által visszaadott összes lehetséges hibaüzenetet gyűjtsék össze.
A 4. feladat ismét egy űrlap tesztelése volt, ezúttal egy kicsit bonyolultabb, utasbiztosításokkal kapcsolatos felületen kellett hibákat keresni. Az alkalmazáshoz nem volt specifikáció, így felderítő teszt segítségével lehetett a legjobb eredményt elérni.
Az 5. online fordulónál egy fájlfeldolgozó alkalmazásban kellett hibákat keresni. Adott volt egy részletes specifikáció a feldolgozandó fájl formátumáról, amely alapján minta, hibás adatokat tartalmazó állományokat kellett készíteni. A feldolgozóban szándékosan elrejtett hibákat nem volt nehéz megtalálni, azonban az összes hiba kiderítése komoly, szisztematikus munkát igényelt a versenyzőktől.
A 6. feladatban teljesen más téma került előtérbe, a hibajelentés készítése. Alapvető elvárás minden tesztelővel szemben, hogy jó minőségű, vagyis teljes, tömör, pontos hibajegyeket készítsen. Egy e-mailváltás alapján körvonalazódó hibához kellett incidensjelentést készíteni, mégpedig úgy, hogy minden lényeges információt tartalmazzon. Ennél a feladatnál is nagy előnyt jelentett a gyakorlati tapasztalat.
A 7. feladat egy weboldal egyszerű, terheléses tesztjének készítését várta el a versenyzőktől. Ez egy nehéz és speciális témakör, ezért olyan feladatkiírás készült, amelyhez várhatóan azok a résztvevők is hozzá tudnak kezdeni, akik ezzel még nem foglalkoztak. Az automatizálási feladat mellett készíteni kellett egy jegyzőkönyvet is az elvégzett tesztről.
A 8. feladat ismét az automatizálás témakörét vette elő, de ezúttal egy felhasználói felületet kellett kombinációs teszttel végignézni. Hasonlóan a 7. feladathoz, itt is bármilyen automatizáló eszközt használhattak a versenyzők.
A 9. feladatban új feladattípus jelent meg, itt biztonsági tesztet kellett elvégezni. Egy alkalmazás biztonsági hiányosságait kellett felderíteni. Főleg egyszerűbb problémák kerültek elhelyezésre, mint jelszókezelés, bizalmas technikai információk megjelenítése, de néhány összetettebb hiányosság is bekerült, mint pl. SQL injection. A versenyzők nagyon jó eredményeket értek el ennek a feladatnak a megoldásában is.
A 10. online feladatban a versenyzőknek változatos területeken kellett bizonyítaniuk jártasságukat. Telepítés, tesztkörnyezet-felállítás mellett a kliens-szerver architektúrák tesztelése is a kiírás része volt. Egy egyszerű vastagkliens alkalmazást kellett tesztelni, ahol a hibák gyakran csak úgy voltak kideríthetők, hogy adatbázisban kellett ellenőrizni a rekordokat.
Az online fordulók lezárulta után a 20 legjobban teljesítő versenyző a végső, élő döntőbe jutott. Az élő verseny 3 órás időtartamú volt. Az online fordulókon azért is érdemes volt minél jobb helyezést elérni, mert az előkelőbb helyen végzettek extra versenyidőt kaptak az élő versenyre. Ennek alapján a döntőbe jutott versenyzők percenkénti késleltetéssel kezdhették meg az összecsapást. Az élő döntő során 4 összefüggő feladatot kellett megoldaniuk a versenyzőknek. Az 1. feladatban egy specifikációt kellet kijavítani, a 2. feladatban pedig teszteseteket terveztek. A 3. feladat a már kijavított specifikáció alapján történő manuális tesztelés volt a versenyzők számára ismeretlen, de valós alkalmazáson. A 4. feladatban ugyanezen az alkalmazáson kellett felderítő tesztet végezni egy specifikáció nélküli részen.
A szakmai értékelés, eredményhirdetés és díjátadás során még számos program kapcsolódott a rendezvényhez, amelynek során a versenysorozat ötletgazdájának (Gyúri Attila) előadásában sorra vették az online fordulók és az élő döntő feladatait, illetve részletes megoldásait. Az esemény presztízs értékű helyezései mellett a szervező (Masterfield Oktatóközpont) tanfolyamkuponjait, a főtámogató (Profession, Technet.hu) által felajánlott pénznyereményeket, a szakmai partner (Mortoff) értékes szoftvernyereményeit, a média partner (ComputerWorld, Tesztelés a gyakorlatban) előfizetéseit lehetett megnyerni.
Szerző: Gyúri Attila
A szerző
- Masterfield Oktatóközpont ügyvezető igazgatója