A legtöbb tesztstratégia már a projekt elején elbukik

Amikor egy projekt a végén minőségi gondokkal küzd, a reflex szinte mindig ugyanaz: a tesztelést okoljuk. „Nem teszteltek eleget”, „átcsúszott egy hiba”, „a QA nem fogta meg”. Kényelmes magyarázat, mert a folyamat legvégére mutat, oda, ahol a baj láthatóvá vált. Pedig a valódi ok gyakran nem a tesztelésben rejlik. Maga a tesztstratégia dönti el jó előre a projekt sorsát, és ha az már az induláskor elhibázott, azt a legjobb tesztcsapat sem hozza helyre a hajrában.

A valóság kényelmetlenebb. A legtöbb minőségi probléma nem a tesztelés során keletkezik, hanem jóval korábban, a tervezőasztalnál. A tesztstratégia ugyanis nem akkor dől el, amikor a tesztelő elkezd dolgozni, hanem akkor, amikor a projekt céljait, kockázatait és felelőseit tisztázzuk. Vagy éppen nem tisztázzuk.

Nézzük meg, hol reped meg a jég, jóval azelőtt, hogy bárki ráállna.

A tesztelés lényege az összehasonlítás: a rendszer viselkedését vetjük össze azzal, aminek lennie kellene. De mi van akkor, ha soha senki nem mondta ki pontosan, hogy minek kellene lennie?

Rengeteg projekt indul úgy, hogy a „jó minőség” és a „kész” fogalma kimondatlan marad. Nincsenek mérhető átvételi kritériumok, csak homályos elvárások. Ilyenkor a tesztelőnek nincs mihez mérnie a munkát, a döntéshozónak pedig nincs mire alapoznia a kiadási döntést.

Vegyünk egy egyszerű példát. Egy webáruház új pénztárfolyamatot fejleszt, és a specifikációban ennyi áll: „a fizetés legyen gyors és megbízható”. De mit jelent a „gyors”? Két másodpercet vagy tízet? És a „megbízható”? Kibírja a fekete pénteki csúcsterhelést, vagy elég, ha átlagos forgalom mellett működik? Amíg ezekre nincs szám, addig a tesztelő csak találgat, a vezető pedig nem tudja megmondani, készen áll-e a rendszer a szezonra. A tanulság egyszerű: ha egy követelményhez nem lehet tesztet írni, akkor az a követelmény nem elég egyértelmű. És ez nem tesztelési, hanem tervezési hiba.

Az erőforrás mindig véges. Idő, ember, pénz: egyikből sincs annyi, hogy egy rendszer minden zugát egyformán alaposan le lehessen fedni. A jó tesztstratégia ezért nem a teljességről szól, hanem a helyes sorrendről.

Ahol nincs kockázatalapú prioritás, ott a csapat ösztönösen azzal kezdi, ami könnyen tesztelhető, nem azzal, ami a legfontosabb. A látványos, egyszerű funkciók korán megkapják a figyelmet, miközben az üzletileg legkritikusabb, legkockázatosabb részek a végére, a kapkodás idejére maradnak.

A nemzetközi tesztelési gyakorlat (például az ISTQB ajánlásai) éppen ezért helyezi a kockázatalapú tesztelést a középpontba: azt teszteljük a legalaposabban, aminek a hibája a legnagyobb üzleti kárt okozná. Ez a döntés viszont a stratégia szintjén dől el, nem a tesztelőasztalnál.

Az előző pont mögött egy még alapvetőbb hiányosság húzódik: sok projekt egyszerűen nem teszi fel a kérdést, hogy „melyik hiba okozná a legnagyobb bajt”.

Kockázatelemzés nélkül a tesztelés mennyiségi kérdéssé silányul: hány tesztesetet írtunk, hány százalékot fedtünk le. Csakhogy a lefedettség önmagában megtévesztő. Lehet valami 90%-osan letesztelve úgy, hogy pont az a 10% marad ki, ahol a valódi üzleti kockázat lakik.

Egy banki rendszernél ez a különbség milliókban mérhető. Ha a csapat egyenletesen szórja szét a tesztelést a felület minden része között, akkor a látványos, de alacsony kockázatú képernyők ugyanannyi figyelmet kapnak, mint a tranzakciókat könyvelő mag. Egy hiba az előbbiben kellemetlen, az utóbbiban viszont pénzügyi és megfelelőségi katasztrófa. A jó stratégia nem azt kérdezi, „mindent leteszteltünk-e”, hanem azt, „a legnagyobb kockázatokat lefedtük-e”. A kettő nagyon nem ugyanaz. És a fel nem tárt kockázat éppen ott csap le, ahol a legdrágább: a késői, éles környezetben napvilágra kerülő hibáknál, ahol a javítás már sokszorosába kerül a korai felismerésnek.

4. Nincs objektív kockázati kép: a döntéshozó vakon repül

Van egy csendes stratégiai hiba, amely az összes többinél alattomosabb: amikor a kiadási döntéshez senki nem ad objektív, átlátható kockázati képet.

Fontos tisztázni, hogyan működik ez a modern gyakorlatban. Agilis és DevOps környezetben az élesítésről ritkán a QA dönt, és nincs is abszolút vétójoga. A döntés jellemzően a Product Owneré vagy az üzleti felelősé, és ez így van rendjén. A kérdés nem az, hogy kinek van vétója, hanem az, hogy a döntéshozó milyen információ birtokában dönt. Objektív kockázati kép nélkül ugyanis a határidő nyomása alatt a döntés érzésre születik: „valószínűleg jó lesz”.

Itt válik értékessé a független nézőpont. Egy külső minőségi szereplő nem dönt a vezető helyett, és nincs is felhatalmazva rá. A dolga más és nehezebb: elfogulatlan, tárgyilagos kockázati riportot adni, olyat, amelyet nem torzít se a határidő, se a saját munka igazolásának vágya. Ettől lesz a QA nem kapuőr, hanem döntéstámogató: megmutatja, mi a valós kockázat, mi lett letesztelve és mi maradt ki, hogy a Product Owner vagy a vezetés ne vakon döntsön az élesítésről. Ez a különbség egy feszített határidejű projektben akár heteket menthet, mert a rossz hír időben az asztalra kerül, amikor még van mód dönteni róla, nem pedig akkor, amikor már csak kármentés marad.

5. A megoldás nem a tesztelőknél kezdődik

Ha mind a négy buktató a tervezésnél keletkezik, akkor a megoldás is ott van, nem a tesztelési fázisban. És jó hír, hogy nem több munkáról szól, hanem néhány jó kérdésről a megfelelő pillanatban.

A gyakorlatban ez egy rövid, közös indító egyeztetés az üzleti oldal, a fejlesztés és a minőségbiztosítás között, még a fejlesztés megkezdése előtt. Nem formális dokumentumgyártás, hanem négy kérdés tisztázása: Mit jelent pontosan a „kész” ennél a projektnél? Mi a legnagyobb üzleti kockázat, és melyik funkció hordozza? Milyen sorrendben tesztelünk, ha kifutunk az időből? És ki hozza meg a végén az élesítési döntést, milyen kockázati kép alapján?

Egy modern projektben ehhez egy ötödik kérdés is tartozik. Ha a rendszerbe AI vagy LLM alapú funkció kerül, a tesztstratégiának már az első napon ki kell térnie a nem determinisztikus viselkedés kezelésére: arra, hogy ugyanaz a bemenet többféle, önmagában elfogadható választ is adhat, és ezt nem lehet a hagyományos „egy bemenet, egy elvárt eredmény” logikával ellenőrizni. Ha ez a kérdés a projekt elején kimarad, a felhasználói átvételi teszt (UAT) fázisában szinte biztosan falba ütközik a tesztelés, amikor a korrigálás már a legdrágább. Az AI tehát nem old fel a tesztstratégia alól, épp ellenkezőleg: még fontosabbá teszi, hogy már a tervezésnél tudatosan foglalkozzunk vele.

Ez a beszélgetés ritkán tart tovább néhány óránál. Cserébe pont azokat a réseket zárja be, amelyeken a legdrágább hibák később kicsúsznak. A tesztstratégia így nem egy vastag dokumentum lesz, hanem néhány tudatos döntés, amelyet a projekt elején hozunk meg, amíg még olcsó.

Összegzés

A tesztstratégia sikere vagy kudarca nem a tesztelőkön múlik elsősorban, hanem négy vezetői döntésen, amelyek mind a projekt legelején dőlnek el: tiszták-e a célok, jók-e a prioritások, elvégeztük-e a kockázatelemzést, és áll-e objektív kockázati kép a döntéshozó rendelkezésére a kiadás előtt.

Ez jó hír is. Azt jelenti, hogy a legdrágább minőségi problémák nagy része megelőzhető, méghozzá nem több teszteléssel a végén, hanem néhány jó döntéssel az elején. Aki a projekt indulásakor rászán erre fél napot, az a végén heteket és milliókat spórol.

Források

  • ISTQB: Certified Tester Foundation Level Syllabus v4.0 (2023), a kockázatalapú tesztelés és a tesztelési célok szerepéről. Elérhető: istqb.org

Megosztás

Kérsz értesítést a legújabb cikkekről?

Kapcsolódó cikkek

AI rendszerek tesztelése: miért teljesen más, mint egy hagyományos szoftveré?

Egyre több cég épít AI funkciót a termékébe: chatbotot az ügyfélszolgálatra, ajánlórendszert a webshopba, dokumentumfeldolgozót a háttérfolyamatokba, döntéstámogatót a szakértői munkába. A vezetők jó része ilyenkor ugyanúgy áll a teszteléshez, mint bármely más szoftvernél: „írjuk meg a teszteseteket, nézzük meg, átmegy-e”. Csakhogy egy AI rendszer másképp működik, és ami fontosabb: másképp is hibázik. Ezért másképp

AI által generált kód = új QA kihívások

Az AI asszisztensek (a GitHub Copilottól a különféle nagy nyelvi modellekig) néhány év alatt a szoftverfejlesztés mindennapi eszközévé váltak. Egy funkció, amelynek megírása korábban órákba telt, ma percek alatt elkészül. A fejlesztői produktivitás növekedése valós és mérhető. Csakhogy a sebesség önmagában megtévesztő mutató. A kód gyorsabb megírása ugyanis nem jelenti azt, hogy a kód jobb

Mit jelent egy sikeres release a CIO szemével?

Kérdezz meg egy fejlesztőt, mikor volt sikeres egy kiadás, és nagy eséllyel ezt hallod: „lefutott a pipeline, a kód bement a main ágba, nem dobott hibát a telepítés.” Technikailag tökéletes válasz. És egy CIO számára mégis szinte irreleváns. Mert egy vezető nézőpontjából a release nem akkor sikeres, amikor a kód kiment. Hanem akkor, ha másnap

Scroll to Top

Töltse le tesztelőink szakmai profilját

Adja meg elérhetőségét egyszer és férjen hozzá valamennyi elérhető profilhoz.