Ne bonyolítsd túl a tesztelést!

A tesztelő szemszögéből a tesztelési feladat sokszor végtelenül egyszerű tud lenni. Pláne akkor, ha az adott munkában a tesztelőnek nagy tapasztalata és rutinja van. Ami viszont belülről egyszerűnek néz ki, kívülről közel sem látszik annak. Semmi értelme csak azért bonyolítani a feladatainkat, hogy pótolhatatlanságunkat éreztessük a munkatársainkkal. Végezzünk el mindent a maga egyszerűségében.

Egy jó szakember leegyszerűsíti a dolgokat

Az egyik, ami különbséget tesz a professzionális és nem professzionális szakember között az a módszer, hogy először is a dolgokat elegánsan és könnyen megoldhatónak kell tekinteni. (Előszeretettel gondolok rá úgy, mint egy triviális folyamatra.)

Ezt láthatod amikor egy akrobata természetességgel mozog a színpadon (láttam a „Cirque du Soleil” előadást pár héttel ezelőtt, ami ezt az érzést nyújtotta), vagy a festő, aki az ecsetet olyan lazán húzza, hogy az már majdnem pontatlannak hat (mégis a festmény végül kikerekedik, és semmi pontatlanságról nem tanúskodik!), és ugyanígy, ahogy egy tehetséges programozó beviszi a kódok sorait, elegánsan és helyesen tesz hozzá a céljához, a programjához.

A közös, hogy az összes hasonló példában, ahogy elkészülnek a bonyolult feladatok, látszólag pofon egyszerűek, és időnként magától értetődőek.

Lehet elegánsan tesztelni?

A válasz IGEN.

Emlékszem egy QA konferenciára az Egyesült Államokban pár évvel ezelőttről. Egy sokat tapasztalt szakember előadást tartott egy konkrét tesztelési módszerről, ami arról szólt, hogy milyen alapszabályok betartásával lehet a legtöbb hibát felfedezni, szinte bármilyen alkalmazásban.

Hogy bizonyítsa ezt, megkérte a hallgatóságot, hogy nevezzen meg egy alkalmazást, amit fel tud tenni a számítógépére, és rövid időn belül kiszúr rajta legalább 5 (vagy talán 10?) hibát, ott és azonnal.

Nem emlékszem az alkalmazásra amit választottak, lehetett volna egy jegyzettömb, vagy egy windows kalkulátor, de az tény, hogy a tesztelő vette az alkalmazást, és nagyon gyorsan, látszólag triviálisan, jó pár elképesztő hibát talált. Még azt is sikerült kétszer is elérnie, hogy összeomoljon a rendszer, két egymástól független hibával.

Mit csinálhatott ez a tesztelő, hogy látszólag könnyedén, és elképesztően elegánsan tesztelt.

Mivel teszik egyes tesztelők bonyolulttá a dolgokat?

Ezt elég nehéz megválaszolni, mert alapvetően úgy gondolom, sokféle választ lehet erre adni.

1. Minden bonyolult, ha nem tudod hogyan kell csinálni.

Gondolj bele milyen megtanulni kerékpározni. Amikor először próbáltad, lehetetlen feladatnak látszott, valószínűleg elestél vele vagy százszor, sokunknak még mindig megvannak a hegek a térdünkön bizonyításképp.

Akármikor tanulsz valamit, mindig bonyolult lesz az elején. Amíg megtanulod hogy kell jól csinálni a dolgokat, ügyetlennek, határozatlannak fogod érezni magadat, és egyáltalán nem lesz gördülékeny. Szóval az ok, amiért számos tesztelő látszólag bonyolultan tesztel, mert nem tanulta meg kellőképpen, hogyan kell tesztelni.

Az itt a probléma, hogy ellentétben a biciklizéssel, ahol a legtöbb ember végül szépen kerékpározik, a tesztelők még számos munkával töltött év alatt (és némelyiküknek még szép diplomák és oklevelek is lógnak a falaikon) sem mindig tanulták meg mi a helyes tesztelés. ők sosem fogják egyszerűnek látni a tesztelést.

2. Néhány módja a tesztelésnek igazán bonyolult.

A másik ok az, minden teljesen minden mit gondolsz, vagy mondasz a tesztelésről, bizonyos fajtái tényleg nagyon bonyolultak.

Néhány példa:
  • Komplex beágyazott rendszerek, ahol a komponensek és integrációk száma szokatlanul sok.
  • Dolgozni egy olyan rendszeren, ami még fejlesztés alatt áll, ahol improvizálsz egy csomót a környezethez (pl. ágak, vezérfonalak) csak hogy reagálni tudj.

Néha egyszerűen nem várhatod el hogy valami egyszerűnek látsszon, ami ennyire bonyolult…

3. A tesztelés önmagában nem bonyolult, de a változó környezet képes káoszt teremteni belőle.

További ok lehet ami nem magához a teszteléshez, sokkal inkább a projekt környezetéhez kapcsolható, amikor az olyan sűrűn változik, hogy bármely tervet, vagy előkészületet használhatatlanná tesz.

Ezt észreveheted a Start-up vállalkozásoknál, ahol a legtöbb dolgot nem definiálják 100%-ban. Változtatgatnak a tervekben és termékekben aszerint melyiket érzik valóságosnak, előnyösebbnek, hogy győztes vállalkozást alkossanak.

Bármekkora cégnél láthatsz ilyeneket a nehéz időkben. Amikor túl nagy rajtuk a nyomás, olykor elbocsátások is vannak, és ez visszaköszön a projektek és prioritások folyamatos változásán keresztül. Ez a jelenség feladja a munkát a tesztelőknek, de ugyanúgy az összes többi dolgozónak is. Ilyenkor a munka nem csak látszólag, hanem ténylegesen is bonyolulttá válik.

4. Egyes tesztelők akik úgy gondolják azzal hogy bonyolítják a munkájukat, igazolják is annak szükségességét.

Végül ott vannak azok a tesztelők, akik már megfelelő tapasztalattal és tudással rendelkeznek, hogy jó tesztelőknek számítsanak, akik „nyugodt időben” nem annyira komplex rendszereken dolgoznak, de mégis úgy döntenek hogy bonyolultnak láttatják a munkájukat.

Mégis miért teszik ezt? Nem vagyok benne biztos, de szerintem ez nem csak felesleges, hanem bizonyos értelemben butaság is.

Az egyik gondolatom, hogy talán azért, mert úgy érzik ha nem mutatják bonyolultnak a munkájukat, akkor nem hiszi azt az egész csapat, hogy keményen dolgozik, és ezért elvesztheti a munkáját.

Ezzel az a probléma, hogy a munka bonyolultnak feltüntetése, valamint egész idő alatt az összetett előkészületekkel és tervezéssel való foglalkozás, szűk keresztmetszetek szül a projektben.

Tehát ahelyett hogy segítene az egész csapatnak időt megtakarítani és produktívabbnak hatni, csak terheli őket, és elvesztegeti az időt. Úgy gondolom így sokkal nagyobb eséllyel lesz lecserélve, vagy egyszerűen kirúgva.

A lazsálók szégyent hoznak az egész tesztelői közösségre!

Nem is lenne probléma, ha csak ők szenvednék el a tetteik következményeit… De amióta túl sok a tesztelő, aki bonyolultnak láttatja munkáját, mert félnek hogy túl egyszerűnek látszik a tesztelés, ami persze attól is lehet, hogy nagy számban vannak olyan tesztelők is, akik állítják hogy tapasztaltak, de a gyakorlatban nem igazán tudják hogyan kell tesztelni, ez mind rossz fényt vet az egész tesztelési közösségre.

Nem vagyok benne biztos, hogy lehet-e mást tenni ez ellen, mint megbizonyosodni arról, hogy te, és a csapatod professzionálisan dolgoztok, és valós tesztelési eredményeket hoztok a vállalatoknak.

Régen még azt gondoltam, hogy az oklevelekben, és az egységes képzésekben van a válasz, de nem, ma már ennél sokkal szkeptikusabb vagyok…

Te hogy érzed?

Egyszerűnek láttatod a tesztelést?

Mit lehet tenni azokkal a tesztelőkkel, akik abban a hitben élnek, hogy ha bonyolultnak mutatják a munkájukat, azzal igazolják azt? Vagy azokkal a tesztelőkkel, akik tudatosan, vagy nem tudatosan megtagadják, hogy hogyan is kell tesztelni? Kíváncsi lennék a véleményedre, hogy milyen tapasztalataid vannak ezen a területen.

Szerző:
Joel Montvelisky

<< Vissza