A tesztelés fejlődése minden szervezetnél egy evolúciós folyamat, amely állomásaival szinte elkerülhetetlenül szembesül minden cég. Az elválasztahatlan szerzőpáros, Derrick és Harry, azaz Fejér Gábor, az FHB Bank CIO-ja, és Tanács Lajos, az Alvicom Kft. fejlesztési igazgatója – a Derrick és Harry Projektmenedzsment Blog szerzői –, most átfogó képet adnak a hazánk nagyvállalati tesztprojektjeinek a helyzetéről. Remélhetőleg a cikk végére kiderül, milyen széles skálán is szóródik az informatikai beruházások tesztelési érettsége. És talán arra is fény derül, miért van szükség olyan konferenciákra, mint a HUSTEF. (A szerzőpáros korábbi cikkeit egy kattintásra találja itt, valamint itt. Aki pedig kíváncsi a két nyomozó további munkásságára, bátran kattintson ide.)
1. Terméketlen pusztaság
Ahogy Földünkön az ősidők kezdetén nyoma sem volt az életnek, csupán mérges gázok és lávatengerek uralták a tájat, ugyanúgy nincs kezdetben a tesztelésnek helye a szoftverkészítéssel foglalkozó szervezeteknél.
A fogalom annyira ismeretlen, hogy még a cég helyesírás-ellenőrzője is aláhúzza a „tesztelés” szót, és „tetvészkedés”-re próbálja javítani: a projektfolyamatokban (amennyiben egyáltalán definiálhatók ilyenek) közvetlen út vezet a fejlesztő gépéről az éles környezetbe. Rosszabb esetben a kettő meg is egyezik egymással.
A hibajavítások jellegüket és kockázatosságukat tekintve olyanok, mint amikor a pilóta menet közben a levegőben, a szárnyba kapaszkodva próbálja kikalapálni a meghibásodott motort.
2. Az élet első csírái
Amint a készülő szoftvert élesítés után a programozón kívül más is meglátja, szinte azonnal kiderül: mennyire jó lett volna még élesítés előtt ránézni a készülő műremekre! A magából kikelt első megrendelő és a vezetőség orkánszerű reakciói által gerjesztett viharok felkavarják az addig terméketlen ősóceánt, és megjelennek a tesztelés első csírái.
Az ügyfél akár egy órát is eltölt a fejlesztő gépe mellett ülve azzal, hogy élesítés előtt megnézze, mi született: félrenyomtatott UML diagramok hátoldalán, monitor szélére ragasztott post-iteken, jegyzetfüzetek lapjain megjelennek az első hibajegyek is. A javítások még koordinálatlanok, az élesítés ad-hoc jellegű, de a szervezet megindul a tesztelés rögös útján!
3. Kiemelkedés az ősóceánból
A rendszer hízik, az ügyfelek sokasodnak, az eddigi egy szem programozó helyett már tizenheten reszelik a rendszert. A hibajegyek, változtatási kérelmek már egyre kevésbé sajtpapíron, sokkal inkább e-mailben érkeznek. Ezek mennyisége a korábbi exponenciális többszöröse, a fejlesztők számára így garantálttá válik a heti 120 órás leterheltség.
A kooperatív fejlesztés magával hozza az első közös tesztszerver megjelenését, ami a szárazföldi állatok megjelenésével egyenértékű evolúciós ugrás. A teljesen véletlenszerű telepítéseknek és az általános hozzáférhetőségnek köszönhetően azonban a tesztszerver annyira hatékony csak, mint tüdős hal a lóverseny-pályán.
A jövőben már felsejlik a következő hatalmas evolúciós ugrás: a dedikált tesztelő megjelenése.
4. Titánok harca
A cég akkor működik jól, ha a folyamatok szépen szabályozott, komoly eszköztámogatással bírnak, és minden tudományos módszertan alapján zajlik. Nincs ez másképp a teszteléssel sem ennél az evolúciós állomásnál: dinoszaurusz méretű tesztmódszertani projektek és sokmilliós tesztelési eszközbevezetések uralják a tájat.
Nem csak tesztelők, de tesztelői részlegek, részlegvezetők, specialisták jelennek meg, akik kezdetben a projektek lezárása után, majd lassan-lassan a projektek közben készítik el a tesztelési dokumentációkat.
A tesztelés ekkor már megkerülhetetlen jelenség. Az elfogadottsága azonban kimondottan vegyes, a harcos ellenzők fölösleges adminisztrációs tehernek, a rajongók a fényes jövőbe vezető útnak tekintik a témát. A dolog hasznosságáról a felek végeláthatatlan workshopokon és meetingeken harcolnak egymással ahelyett, hogy valaki végre megnézné a készülő rendszert.
5. Homo Sapiens Testelitis
A tesztelés eléri a jelenleg ismert legmagasabb evolúciós fejlettségi szintet. A tesztelők integráns részét képezik a projektcsapatoknak, ahol vállvetve dolgoznak a fejlesztőkkel és tervezőkkel a teljes fejlesztési életciklusban.
A tesztriportok egységesek, kockázatközpontúak, és objektíven tükrözik a vizsgált szoftver teljes egészének minőségét. A tesztelési eszközök integráns részei a szoftverfejlesztési folyamatoknak, a hibajegy-kezelő rendszer a feladatütemezés és nyomon követés gerincét jelenti a teljes szervezeten belül. A kritikus rendszerek regressziós tesztelése automatizáltan történik. A fejlesztők unit-teszjei, az automatizált funkcionális tesztek, a nightly build szerverek, a periodikus teljesítmény és terheléses tesztek szerves egészet alkotnak, ezen túl szoftverergonómiai vizsgálatok teszik teljessé a rendszerek vizsgálatát.
Az éles rendszerek kiemelkedő minőségűek, az ügyfelek boldog elégedettséggel határidőn belül fizetnek az elkészült szoftverért, odakint éppen virágba borulnak a cseresznyefák, és szerelmes galambok búgnak egymásnak a lombok között a lágy koranyári szellőben.
Ha Ön is kíváncsi arra, hogyan lehet minél könnyebben eljutni a tesztelési evolúció csúcsára, akkor szeretettel várjuk október 29-30-án HUSTEF 2014 konferencián, ahol a Derrick és Harry PM Blog is képviselteti magát előadóként!
Nyílt forráskód: valóban ingyenes, de használatának szigorú szabályai vannak