Hogyan kell hosszabb távon együtt dolgozni egy tesztelővel

Tehát megérkezett a tesztelő, és tegyük fel, hogy az előző bejegyzésben (Mit eszik egy tesztelő?) felsorolt problémákat sikerült tisztázni: időben vagyunk, sikerült a betanítás, megvannak a hozzáférési jogok, kijelöltétek a tesztelendő részterületet és hogy ki a felelős a tesztelésért. Hogyan tovább?

A tesztelendő részterület kijelölésével egyben kijelölted azt a kollégát is, aki a tesztelőért felelős lesz. Ahogy említettem, nem mindenki örül ennek egyformán. „Nekem erre nincs időm, hogy még egy tesztelő munkáját is felügyeljem!” „Egyszerűbb, ha én magam megcsinálom!” Ráadásul nem mindenki szereti megosztani a tudását másokkal, mert félti az állását, nem akarja, hogy más is értsen ahhoz, amit csinál.

Függetlenül attól, hogy ezek a kifogások mennyire reálisak, a következményeket a tesztelő fogja elszenvedni. Még a jobbik eset, ha a kifogás ki van mondva, fel van vállalva, a rosszabbik esetben az információs vákuumban dolgozó tesztelőre egy idő után ráfogják, hogy a képességei rosszak vagy a hozzáállása. Nem érdemes senkire ráerőltetni egy tesztelőt, aki ezt nem akarja.

Mitévő légy, ha fejlesztő/rendszerszervező/BA vagy és melléd adnak egy tesztelőt?

A jó tesztelő valójában olyan, mint egy ló, amelyik húzza a szekeredet, vagy a segéd, aki a kezed alá dolgozik. A te embered, aki segít neked. Annál jobb neked, minél többet tud segíteni. Mondj el neki mindent arról, hogy mit szeretnél elérni, ossz meg vele minden tudást, minden trükköt és taktikát.

Felmerül majd a kérdés: ki írja meg a teszteseteket? A te szempontodból logikusnak tűnhet saját kezűleg előírni a tesztelő számára, hogy mit kell csinálni. Valójában azonban sokkal jobb, ha a teszteseket maga a tesztelő írja meg, és te csak ellenőrzöd az eredményt. Ugyanis a megírás minőségéből meg lehet állapítani, hogy a tesztelő kolléga megértette-e a feladatot, megértette-e a szoftver működését és hogy minden fontos eset sorra fog-e kerülni.

Ezután a tesztelő érdemben tesztelni kezd: ellenőrzi, hogy az elképzeléseid beváltak-e, vagyis a szoftver a specifikációnak megfelelően működik. Lepörgeti a variációkat, ami neked csak egy púp a hátadon. Megtalálja a hibákat a specifikációban csakúgy, mint a kész szoftverben. Érvel, kommentál, ellenőriz és adminisztrál – jó esetben érezni fogod, mennyi problémát levesz a válladról.

Vezetői szempontból a közös munka eredményességének sok jele van: az együtt töltött idő, ki riportolja a bugokat, de az egyik legérdekesebb indikátor, hogy a fejlesztő/szervező/BA szabadsága alatt kijavított bugokat a tesztelő újratesztelheti és pozitív esetben önállóan lezárhatja-e – vagy mindennel meg kell várni a nagyobb tudású kollégát, aki nem bízza a tesztelőre a tesztelést, saját kezűleg is ellenőrizni akar mindent.

Eddigi pályafutásom egyik legérdekesebb időszaka volt, amikor a rendszerszervező – tesztelő együttműködésből jó és rossz példák sokaságát láttam közvetlenül egymás mellett. Az egyik végletben volt a feszültség, a hibáztatás, végül a tesztelő kolléga felmondása. A másik végletben voltak az összedugott fejek, a kivételes minőségű felkészítés, a teljes körű helyettesítés szabadság alatt – majd amikor a rendszerszervező kolléga felmondott, a tesztelőt előléptették a helyére, rendszerszervezőnek.

Lev Tolsztoj: Háború és béke

Háború és béke, az új fordításbanA Háború és béke nekem sokáig az „olvashatatlanul hosszú” szinonímája volt. Pedig rövidebb, mint a Harry Potter, rövidebb, mint a Trónok harca, rövidebb, mint az Atlas Shrugged… Úgyhogy amikor 2022-ben új fordításban jelent meg, korszerű, olvashatóbb nyelvezetet ígérve, adtam neki egy esélyt.

Az első kötet rögtön iszonyú vastag és nehéz – el lehet olvasni papíron is, ha valaki szereti az ilyesmit, de a Kindle könnyebb, vékonyabb és világít a sötétben.

A Háború és béke sokkal könnyebb olvasmány, mint hittem. Az első fele olyan, mint a Bridgerton, csak oroszokkal. Pierre sok pénzt örököl, de nem tud mit kezdeni magával. Szonja és Natasa mikor kibe szerelmes? Az öreg gróf is szórakoztató, a sok pletykás vénasszony is, meg az előkelő estélyek, ahol külön koreográfiája van annak, mikor kivel kell beszélgetni. Pláne, hogy kivel táncol az uralkodó! Szerintem ez egy női könyv, romantikus, például amikor a szánkó repül a havon a szerelmes fiatalokkal a holdfényes téli éjszakában.

Ráadásul olvasmányos, gördülékeny szöveg, Gy. Horváth László új fordítása kiváló, és nagyszerű, hogy ha a szereplők franciául beszélnek, azt csak jelezte, nem hagyta benne eredetiben (minek? úgyse érti, aki nem tud franciául).

A második részben támad Napóleon, és a férfi főszereplők elmennek háborúzni. Ezek a részek is jók, ahogy a már megismert arcokon keresztül látjuk a háború lefolyását.

Ami viszont gáz, hogy Tolsztoj sokszor kilép a regényből, és elmagyarázza nekünk a háború történeti háttérét. Nem lenne baj, ha mértéket tartana, és csak annyit írna le, amennyi a sztori megértéséhez szükséges. De nem, hosszasan osztja az észt, általában a háborúkról, Napóleon szerepéről, meg a csapatok elhelyezkedéséről – ahelyett, hogy Pierre, Rosztov meg a többiek sorsát követnénk. Szerencsére egy idő után azért mindig visszatér a cselekményhez.

A regény vége sem az igazi: amikor eldől, végül is kihez megy feleségül Natasa, ott kellett volna befejezni, boldogan éltek, meg minden. A házaséletük érdektelen, az Epilógusban pedig nincs is szó a szereplőkről, csak Tolsztoj filozofál a történetírás hibáiról és a történelem mozgatórugóiról, ez érdektelen és fárasztó.

Összességében mégis megérte, kellemes csalódás volt. Ha nem riaszt el, hogy egy regény hosszú, érdemes próbát tenni vele.

Mit eszik egy tesztelő?

Volt egy UPC reklám a tévében, amiben a betárcsázós internetet használó férfit úgy mutogatták turistáknak, mint egy ritka állatot. Egyik turista megkérdezi: – És mit eszik? – Ugyanazt, mint mi.

A tesztelők, amikor először bekerülnek egy csapatba, néha ugyanilyen furcsa szerzetek a már ott dolgozók számára. Azt hiszed, eltúlzom, pedig nem.

Történt, hogy a már másfél éve haladó projektbe megérkeztünk mi, tesztelők. Beültettek minket egy másik szobába, mint ahol a projekt dolgozott, és hetekig nem szólt hozzánk senki. A projektvezető egyszer bejött, bemutatkozott, és megkérdezte, minden rendben? Hát… persze. Aztán ő se szólt hozzánk hetekig. Halvány lila gőze nem volt senkinek, mit kéne velünk kezdeni, és nekünk se, hogy mihez kezdjünk.

Másik projekt, szintén előrehaladott fázisban, eljött az idő: be kéne vonni a tesztelőket. Behívtak minket egy meetingre, ismeretlen emberek, akik hadarva, érthetetlenül beszéltek valamiről, amiből egy szót se értettünk. Aztán kinyögték: hétfőtől kell elkezdeni a tesztelést. Minek a tesztelését?! Hol van ez a valami? Az nem baj, hogy hétfőn még egyébként tök mást fogok csinálni?

Egyébként nem ciki, ha fogalmad sincs, mi fán terem a tesztelés, csak legyél bátor bevallani. A következőket kell tenned:

  1. Minél korábban vond be a csapatba a tesztelőt. Ne akkor mutatkozz be neki, amikor a fejlesztés már előállt és le kellene tesztelni. Hanem lehetőleg akkor, amikor a tervezés elkezdődik.
  2. Eligazítás a projektben. Mi a projekt célja, melyek a fejlesztés főbb szempontjai, kik a résztvevők.
  3. Domain oktatás: az e-mailben átdobott dokumentáció nem elég. A három napos beszállítói tanfolyam fontos, de szintén nem elegendő. Valaki üljön le vele személyesen és mutasson meg mindent, válaszoljon a kérdésekre. Pro tipp: minden régi munkatárs töltsön el egy napot az új kollégával, így rengeteg tudást, ötletet és ismeretséget szerezhet rövid idő alatt.
  4. Hozzáférési jogok – egyáltalán nem nyilvánvaló, mennyi joga legyen egy tesztelőnek. Általában a rendszerszervezői, adminisztrátori szint alá szokták belőni, nehogy ezek a furcsa szerzetek valami komoly bajt okozzanak. Valójában azt kellene végiggondolni, hogy a tesztelő is felnőtt ember, van jogosítványa, gyereke, szavazójoga, felelős azért, amit csinál, és néha még az is kiderülhet, hogy kompetens a munkájában. Amennyivel kevesebb jogot adsz neki, annyival kevesebb témában számíthatsz a segítségére.
  5. A tesztelendő részterület kijelölése. Erről szoktak megfeledkezni leginkább. A tesztelő nem fog mindent, az egész rendszert letesztelni. Ehhez a szoftver túl nagy, túl bonyolult, és egyébként is túl sokáig tartana. Meg kell találni azt a részterületet, ahol a tesztelő bevonása a leghasznosabb lehet. Ahol a legtöbb a tesztelendő kombináció, ahol a legtöbb a hiba, ahol a leginkább kell a segítség. Igaz, ezzel rögtön a nyakába is sóztad valakinek a tesztelőt: aki az adott részterületért addig felelős volt. Nem mindenki örül ennek egyformán… Úgyhogy időben fel kell tenni a kérdést:
  6. Ki a felelős a tesztelésért? Egyáltalán nem egyértelmű, hogy a tesztelő, főleg, ha éppen beesett az utcáról az évek óta tartó projektbe, ahol a szakértők már régen benne vannak a mélyében. Ilyenkor sokat segít, ha valaki eldönti helyette: mikor van az adott terület letesztelve, mely tesztek lefutása lesz elegendő, vagy legalábbis kellően megnyugtató a szoftver minősége szempontjából.

És ez még csak a kezdet – hogyan kell jól együtt dolgozni egy tesztelővel hosszabb távon? Folytatása következik…

Egyébként ugyanazt esszük, mint ti… Tényleg!

Hogyan lehet lemérni, melyik tesztelő dolgozik jobban?

Tegyük fel, adott egy tesztelőkből álló csapat, akiknek a munkáját értékelned kell. Nyilván van egy benyomásod arról, hogy valaki szorgalmas vagy lusta, okos vagy buta, együttműködő vagy problémás. Lehet dokumentálni, hogy ki hányszor késett el, hányszor szólalt meg meetingeken, hány alkalommal dolgozott késő estig stb. De mivel lehet számszerűen lemérni egy tesztelő munkáját?

Az első ötlet a lefuttatott tesztesetek száma. Ez az adat valóban nagyjából megmutatja, hogy ki mennyit dolgozott, de az összehasonlítás sokszor félrevezető, mert sok múlik azon, ki és hogyan írta meg a teszt scriptet. Egy adott problémakör vizsgálatát ugyanis le lehet bontani sok kis tesztesetre, vagy össze lehet foglalni néhány nagyobb lélegzetű tesztesetben is. A tesztesetek felől nézve: egy darab végrehajtása néha egyszerű, néhány kattintás (pl. login), máskor viszont előkészítéssel, futási idővel, értékeléssel járó bonyolult tevékenység (pl. tesztadat végigfuttatása a rendszeren). A végrehajtott tesztesetek darabszámát ettől függetlenül mindenképpen nézni kell, de az eredményeket félrevezető lehet közvetlenül összehasonlítani egymással.

Tapasztalatom szerint a megfelelő mérce a riportolt bugok száma. Mert bármilyen furcsa, egy darab bug megtalálásához szinte minden projektben, minden területen nagyjából ugyanannyi befektetett munka, figyelem és megértés szükséges. Aki több hibát talált, az többet dolgozott, figyelmesebb és jobban érti a szoftvert, mint aki kevesebbet.

Elméleti szempontból ez persze vitatható. Egy tesztelő bármikor kifoghatja a szoftver olyan területét, ahol csak úgy rajzanak a bugok, egy másik pedig olyat, ami stabilan, hibamentesen működik. A gyakorlat viszont azt mutatja, hogy nem a fejlesztők, hanem a fejlesztő csapatok között szokott minőségi különbség lenni – ezért egy adott csapaton belül mindenkinek kb. ugyanannyi esélye van hibát bugot találni.

Felmerül az a probléma is, hogy ha a tesztelők már tudják, hogy a riportolt bugok alapján fogod értékelni őket, elkezdenek feleslegesen sok, kamu hibát riportolni. Több bugot írnak be ugyanarról a jelenségről, vagy belekötnek az élő fába is, csak hogy több legyen a beírt hibajegy. Ilyenkor súlyozni kell a hibákat

  • prioritás szerint (a vezetők által már felülvizsgált prioritást alapul véve)
  • milyen arányban lettek ténylegesen kijavítva (Fixed vagy Not fixed státusszal zártuk le).

Volt már olyan értékelésem, ahol a vezetőm egy kollégámmal baráti viszonyban volt, engem viszont kevésbé kedvelt, és úgy gondolta, hogy a kolléga jobban is dolgozik nálam. Úgyhogy rámutattam, hogy az adott időszakban kétszer annyi bugot riportoltam, mint ő. De azok biztos kevésbé fontosak voltak! Hát, ahhoz képest pontosan ugyanolyan arányban javították ki őket, tehát nekem kétszer annyi kijavított bugom volt, mint neki… Becsületére legyen mondva: nem kaptam rosszabb értékelést, mint a kolléga (mondjuk jobbat se).

Koldus és királyfi, Pesti Magyar Színház

Egy új magyar musical, Tolcsvay László zenéjével és Müller Péter Sziámi szövegével, decemberben mutatták be a Pesti Magyar Színházban.

Nagyon jó zenéje van. Az összes szám dallamos, ritmusos. Érdemes belehallgatni a Youtube-on:

Többször az István, a király jutott eszembe róla, mert ahhoz hasonló a stílusa. A történetben is vannak hasonlóságok: (a csere után) lesz egy királyfi, aki nem akar király lenni, egy másik viszont nagyon is szeretne. Az öreg király meghal. Mindkét srác körül vannak aggódó nők… Persze a Koldus és királyfi nem élet-halál harcról szól, eggyel lazább és viccesebb az egész.

Viszont túl hosszú, szünettel együtt három óra. Fél órát ki kellene húzni belőle, például az elmebeteg arkangyal jelenetét, majd utána az éjszakát a koldusokkal, akik egyenként elmesélik az életüket – este fél 10-kor már fárasztó olyan részeket nézni, amik semmit nem adnak hozzá a történethez. Pavletits Béla is nagyon jól játssza a lovagot, de a családi háttértörténete egyáltalán nem kapcsolódik a fiúkhoz, kár volt ilyen hosszú történetszálat írni róla.

A szereplők közül MÁZS abszolút zseniális mint beteg király, ahogy egy-egy fáradt mozdulattal is érzékelteti a hatalmát, és vicces, hogy Ember Márkból bármi legyen, ő marad az apja… Jenes Kittit az Operettben nagyon szerettük, örülök, hogy a Magyar Színházban újra rendszeresen látjuk.

Jó lenne, ha készülne lemezfelvétel a darabból, amit önállóan is meg lehetne hallgatni. A Hogyan tudnék élni nélküled című film esetében hónapokat várni külön a filmzene megjelenésére, de azért megjelent – remélem, ebből a darabból is lesz streamelhető verzió egyszer.

Mennyire kell tudnia angolul egy tesztelőnek?

Érdemes egyáltalán megtanulni angolul? Igen: én például pont kétszer annyit kerestem az első multis munkahelyemen, ahol már tudni kellett angolul, mint azelőtt.

De mégis, mennyire kell tudnia egy tesztelőnek angolul?

Az első kérdés, hogy kell-e napi szinten külföldi kollégákkal beszélned. Ha igen, akkor értened kell a beszélt nyelvet és meg is kell szólalni, sőt: tudnod kell érvelni angolul. A nyelvtani hibák viszont nem nagyon számítanak, amíg érthető maradsz. Én az évek alatt még sohasem hallottam, hogy bárki kínos helyzetbe került volna nyelvtani hiba miatt, vagy hogy kibeszélték volna a háta mögött. Kevesen beszélnek annyira jól angolul, hogy ne ejtsenek nyelvtani hibákat menet közben.

Éppen ezért, ha van lehetőséged nyelvtanfolyamra járni, nem az a jó választás, ahol akkurátusan végighaladtok a tankönyvek egyre magasabb szintjein, és ahol a tanár hosszasan magyarázza a nyelvtani szerkezetek jelentését. Az a jó nyelvtanfolyam, ahol megszólalsz, ahol egy idő után beszélgetni tudsz.

Ha viszont a hétköznapi kommunikációs nyelv a magyar, mihez kellhet az angol egyáltalán? Ott van például az írásos anyag, a dokumentáció, ha van egyáltalán. De jó esetben személyesen fog egy magyar kolléga betanítani a szoftver használatára…

Vagy ott vannak a tesztesetek és a bugok, amiket esetleg angolul kell megírni. Ezekhez egy nagyon szűk szókincs elegendő, az viszont elengedhetetlen. Click the button – the window opened. The software crashed. Ami eggyel nehezebb, az a bugok indoklás része – miért gondolod ezt egyáltalán hibának, ehhez már eggyel nagyobb szókincs szükséges. Viszont amíg csak írásban kell megnyilvánulni, számíthatsz a barátaidra: Google Translate, ChatGPT, CoPilot.

Végül a meetingek: egy bizonyos szint alatt megúszhatod, hogy külföldi kollégákkal kelljen beszélned. Megfordítva viszont: egy bizonyos szint fölé nem fogsz eljutni, ha nem tudsz külföldi kollégákkal beszélni.

Oltári srácok Nyíregyházán

Öt oltári musical sztár egy színpadon: Kerényi, Dolhai, MÁZS, Serbán, és a turné kedvéért Amerikából hazalátogató Szabó Dávid – ezt nyilván látni kell. Mi február 8-án láttuk Nyíregyházán.

Oltári srácok plakát

Az Oltári srácok című darabot 2007-ben már játszotta ugyanez a csapat a Thália Színházban. Azoknak, akik akkor is látták már, nyilván nosztalgikus élmény újra látni a darabot ugyanazokkal a szereplőkkel. Persze öregedtek azóta, de egyrészt még mindig jól néznek ki, másrészt az öregedést ironikusan kezelik, az este legjobb poénja, amikor a nézői levelek elolvasásához szemüveget vesznek elő…

Maga a színdarab, az Oltári srácok című musical nem jó. A történet szerint öten fiúcsapatot alkotnak, csakhogy ez öt keresztény férfi, akiknek a dalai kizárólag hitről, szeretetről, Istenről szólnak, ilyen kínosan fiatalos, fiúcsapatosan táncoló, rappelős módon. A sztori annyi, hogy elmesélik, ahogy találkoznak – ez vicces szeretne lenni, de nem vicces. Továbbá térítenek, egy nagy számláló mutatja a falon, hogy mennyi bűnös lélek van még a teremben…

Nem hittem volna, de a második felvonás még ennél is kínosabb volt. Az egyik kamu olvasói levél nyomán Dolhai Attila hosszasan beszélt az önmegtartóztatás fontosságáról, hogy az esküvő előtt senki ne szexeljen, csak azzal, aki majd a gyerekei anyja/apja lesz. Nem tudom, hogy ez a darab része, vagy Dolhai tényleg ezt gondolja? Ki kíváncsi rá? MÁZS végleg kilépett a szerepéből és a saját életéről beszélt, ahogy a két végén égette a gyertyát, Kerényi Miklós Máté pedig az édesanyja haláláról. Serbán általánosságokat mondott, Szabó Dávid pedig az Amerikába költözése kapcsán mondta el, hogy azt hitte, cserben hagyták a társai, erre ő hagyta itt őket…

Nyilván ezeknek a személyes monológoknak is van létjogosultsága. Ezeket a színészeket sokan évtizedek óta követik, nézik a színházban, és a rajongókat érdeklik a személyes történeteik. Engem viszont sajnos nem, és a nyíregyházi csarnok többi nézőjében sem vagyok biztos. A színészeknek ezekkel a személyes monológokkal leginkább saját magukat sikerül meghatni: mindegyikük többször sírva fakadt, az öt pasas vigasztalta, ölelte, puszilgatta egymást, mintha egy melegbár műsorát látnánk…

Alaposabban utána kellett volna nézni előre, hogy mit fogunk látni. Az a baj, hogy a szereplők névsora annyira erős, Dolhai és Kerényi neve eddig külön-külön is garancia volt egy jó előadásra – hát, ez most elmúlt. Legközelebb figyeljünk oda jobban, hogy mire veszünk jegyet…

Mi a legjobb bugok két titkos összetevője?

Egy időben hetente tartottunk bug scrub nevű rendezvényeket, ahol összeültek a projekt vezetői és elolvasták, majd priorizálták az adott időszakban riportolt bugokat. A probléma az volt, hogy aki vezette a meetinget és felolvasta a bugokat, az

  1. nem értett a termékhez,
  2. diszlexiás volt, nehezen értette meg a leírt szöveget.

Ott tanultam meg jól bugokat írni. Az a bug volt jól megírva, amit a terméket nem ismerő, diszlexiás igazgató is azonnal megértett. Ennek két titka volt:

  1. A description rész elején elhelyezett rövid, nagyon jól érthető indoklás
  2. Screenshot, amin a hibát nagy, piros ellipszissel jelöltem meg. Ha van pozitív ellenpélda, azt egy másik screenshoton nagy, zöld ellipszissel jelöltem meg.

A jó screenshot hasznosságát talán nem kell magyarázni, ahogy mondani szokták: egy kép többet mond ezer szónál. Ebben az esetben gyorsan és hatékonyan megmutatja, hogy pontosan hol és mivel van probléma.

Az indoklás rész már bonyolultabb. A Description kitöltése amúgy is mindenkinek gondot okoz, mert szabad szöveges mező, nincs a többi mezőre jellemző fogódzó, választási lehetőség. Mit kell oda írni egyáltalán? Steps to reproduce, Expected results, Actual result – ez a szentháromság, és a többség ezzel meg is elégszik.

A személyes felfedezésem az volt, hogy a bug életciklusában résztvevő minden kollégának (projektvezető, fejlesztők) segít, ha megindoklod, miért hiszed a riportolt jelenséget problémának. Leginkább az „impact” faktort érdemes körülírni:

  • a jelenség kinek okoz problémát (végfelhasználónak > belsős adminisztrátornak > tesztelőknek)
  • mekkora problémát okoz (anyagi vagy reputációs kár a cégnek > nehezíti az életet, de nem állítja meg > nem okoz gondot, de javíthatná a terméket)
  • mekkora eséllyel, milyen gyakran fordul elő (élesben is jó eséllyel bekövetkezik > kicsi az előfordulás esélye > speciális esetben fordul elő)

Mert mindenki azt hiszi, hogy ha a mezőket alapszinten kitöltötte, az már elég, abból már mindenki másnak is értenie kell, hogy milyen súlyos problémát fedeztünk itt fel. A valóságban viszont mindenki más ellenérdekelt abban, hogy hibákat fedezzünk fel a termékben és azok javításával időt, energiát töltsünk. Éppen ezért, ha mégis el rá akarjuk venni a csapatot a hiba javítására,  érdemes alaposan megindokolni, miért jelent ez a dolog problémát, miért lenne fontos mégiscsak kijavítani.

A legnagyobb mítosz: a tesztelés automatizálása

Az egyik leggyakoribb buzzword vezetői oldalról: automatizáljuk a tesztelést! Mindig, mindenhol hallani ezt, teljesen függetlenül attól, hogy a tesztelési kultúra milyen érettségi szinten van a szervezetben, és hogy technikailag mit lehetne egyáltalán automatizálni.

Kezdjük az alapokkal: mit várunk el a teszteléstől? Még az élesítés előtt vizsgáljuk meg a terméket, találjuk meg a hibákat, csökkentsük az élesítéssel járó kockázatokat. Mit lehet ezen automatizálni?

A tesztelés automatizálásának két szituációban van értelme. Az első a regressziós tesztelés: a rendszeresen, ugyanúgy megismételt tesztelési feladatok. Ezeket manuálisan végrehajtani unalmas, nagyobb a hibalehetőség, illetve a manuális tesztelés lassú, automatizálva gyorsabban, több tesztet lehet lefuttatni.

A probléma, hogy a változásokat és a fejlesztéseket az automata eszköznek egyesével be kell programozni – ez viszont csak lassan megy, tehát adott funkció leteszteléséhez az automata tesztelőnek sokkal több idő kell, mint a manuális tesztelő kollégáknak. Az agilis módszertani elképzeléseknek általában része, hogy az adott sprintben az új fejlesztésekhez tartozó automata tesztek is készüljenek el, de én még soha, sehol nem láttam, hogy ez ténylegesen megtörtént volna, az automata tesztelés általában hónapokkal lemaradva követi csak a fejlesztéseket.

Tisztában kell lenni továbbá a Pesticide paradoxon nevű alapelvvel: ha ugyanazokat a teszteket ismételjük újra és újra, végül ezek a tesztek már nem fognak új hibákat találni. Ezért a teszteseteket rendszeresen felül kell vizsgálni, karbantartani, új teszteket kell hozzáadni, hogy az automata hibákat találjon. A regressziós tesztelést hosszútávon érdemes automatizálni.

A másik szituáció, ahol az automatizálás hasznos lehet a load test, a terhelés szimulálása. Például ha manuális tesztelőből nem tudunk annyit felsorakoztatni, amennyien a végfelhasználók lesznek – a számítógép viszont szimulálni tudja ezt a helyzetet, ahogy a hosszan tartó, folyamatos terhelést és sok más nehezítést is.

Kik azok a tesztautomatizálók? Az automata eszközök programozásához programozói tudás kell. Az automata tesztelők ezért a fejlesztők/tesztelők tengelyén a fejlesztőkhöz állnak közelebb, gyakran fejlesztők specializálódnak automata tesztelésre. Mivel a fejlesztők többet keresnek a tesztelőknél, a „tesztelés automatizálása” viszonylag drága mutatvány, mármint ha a cél simán csak a manuális tesztelők kiváltása.

Hogyan mérhető, hogy megéri-e? Minden automata tesztelő előszeretettel hivatkozik a lefuttatott tesztesetek számára. Száz, ezer, tízezer API hívást indítottunk, jó alaposan leteszteltük tehát a rendszert. Valóban?

Szerintem mindenféle tesztelés értelmét és eredményességét végső soron a riportolt, majd kijavított hibák száma mutatja meg – ennyivel fejlődött ugyanis a szoftver a tesztelő tevékenysége nyomán. Ha egy automata tesztelő évek óta dolgozik a csapattal, de soha, egyetlen hibát sem riportolt (megtörtént), ott el kellene gondolkozni, hogy valóban megérte-e a tesztelés automatizálása…

Priority, Severity – mit jelent ez egyáltalán és hogyan kellene a bugokat helyesen priorizálni

Az a helyzet, hogy mindenki gondol erről valamit – de mindenki valami mást.

Minden teszt adminisztrációs rendszerben van a bugokhoz legalább két mező, általában Priority és Severity néven, amelyekkel elméletileg a hiba súlyosságát, a javítás sürgősségét, valamint az okozott kár nagyságát lehet jelölni. Minden cégnél, minden csapatban van valamilyen definíció arra, hogy ezeknek az értékei, és az értékek kombinációi mit jelentenek: azonnal kell a javítás, sürgősen javítani kell, nagyon fontos, kevésbé sürgős stb.

Ezek a definíciók azonban kissé homályosak, egy idő után összefolyik, hogy a Major és a Critical között mi a különbség. Pontosabban, tapasztalatom szerint mindenki pontosan tudja, hogy mi jelentenek – de mindenki másképp…

A hibát ott követjük el, hogy a definíciókat a saját szempontunkból írjuk meg. Ehelyett arra kellene gondolni, ami a fejlesztők oldalán történik:

  1. Dobjanak el mindent azonnal, javítsák ki a hibát és küldjenek hotfixet
  2. Vegyék előre a hiba javítását, és már a következő sprintben, következő buildben szállítsák is le
  3. Később is ráér a hiba javítása, de az élesítésig legyen készen
  4. A hibával az éles működés során is együtt tudunk élni

A fenti besorolásokat nevezzük el például úgy, hogy Blocking, Critical, Major, Minor, és a szerződésbe írjuk le a vonatkozó határidőket (pl. két munkanap / következő sprint / élesítés dátuma) és kész is vagyunk. Minden más (pl. a Severity mező használata) csak felesleges bonyolítása a csapat életének.