Nincs elég tesztelő? Ez az 5 fájdalmas következmény a projektre

Bevezető

„Spóroljunk a tesztelésen, majd a fejlesztők megnézik egymás kódját.”

Hányszor hallottuk már ezt a mondatot projektindító megbeszéléseken? Logikusnak tűnhet: a fejlesztő ért a legjobban a kódhoz, miért fizetnénk külön embert arra, hogy „kattintgasson”? Ez a gondolkodásmód azonban olyan, mintha a könyvelőt kérnénk meg, hogy auditálja a saját mérlegét. Papíron minden rendben lesz, de a valóságban időzített bombákon ülünk.

A dedikált tesztelő (vagy Quality Assurance mérnök) hiánya a projekt költségvetésében nem „megtakarított profit”, hanem elhalasztott kiadás, ami később kamatostul, gyakran a projektet veszélyeztető mértékben tér vissza.

Nézzük azt az 5 kritikus pontot, ahol a projekt vérezni kezd, ha nincs megfelelő tesztelői kapacitás.

1. A Rework (Bumeráng-effektus) drága örvénye

A szoftverfejlesztés egyik alaptörvénye: minél később találunk meg egy hibát, annál drágább kijavítani.

Tesztelő nélkül a folyamat jellemzően így néz ki:

  1. A fejlesztő lefejleszti a funkciót. Szerinte „kész”.
  2. Nincs validáció, a kód bekerül a közös ágba.
  3. Két héttel később, egy demón vagy élesítés előtt derül ki, hogy a funkció nem működik bizonyos peremfeltételekkel, vagy elrontott egy másik modult.
  4. A fejlesztőnek, aki már fejben egy teljesen más feladaton dolgozik, vissza kell térnie a két héttel ezelőtti kódhoz. Újra fel kell vennie a fonalat, ami hatalmas kontextusváltási (context switching) költséggel jár.

A QA szerepe, hogy ezt a kört rövidítse le percekre vagy órákra. Ha a hiba még a fejlesztés napján kiderül, a javítás töredékannyi időbe és pénzbe kerül. A tesztelő nélküli projektekben a fejlesztői kapacitás 30-40%-a is elmehet a „bumerángként” visszatérő hibák javítására – ez pedig a létező legdrágább hibajavítási mód.

2. Csapatfeszültség és motivációvesztés

A fejlesztők – tisztelet a kivételnek – nem szeretnek tesztelni. Ők alkotni szeretnek, problémákat megoldani, logikát építeni. A manuális tesztelés, a végeláthatatlan űrlapkitöltés vagy a különböző böngészőkben való kattintgatás számukra monoton és demotiváló munka.

Ha a tesztelést a fejlesztőkre kényszerítjük („cross-testing”), két dolog történik:

  1. Felületes lesz a tesztelés: Mivel „túl akarnak lenni rajta”, csak a „happy path”-t (a helyes működési utat) ellenőrzik, a hibák nagy része rejtve marad.
  2. Kirobban a „Blame Game”: Amikor beüt a hiba, elkezdődik a mutogatás. „Miért nem nézted meg?” „Mert siettem a saját feature-ömmel!” Dedikált felelős (QA) nélkül a minőségért mindenki felelős – ami a gyakorlatban azt jelenti, hogy senki.

Hosszú távon ez a senior fejlesztők elvesztéséhez vezethet, akik inkább keresnek egy olyan munkahelyet, ahol a szakmájukra koncentrálhatnak, és van professzionális QA csapat mögöttük.

3. Reputációs kockázat: Amikor az ügyfél a tesztelő

Ez a legrosszabb forgatókönyv, és sajnos a leggyakoribb a tesztelőhiányos projekteknél. Ha házon belül senki nem szűri a hibákat, akkor a végfelhasználók fogják megtalálni azokat.

Gondoljunk bele:

  • Egy webshopnál, ha a kosárba tétel gomb nem működik mobilon, a vásárló nem fog hibajegyet írni. Egyszerűen átmegy a konkurenshez.
  • Egy B2B szoftvernél az első éles hibák után a megrendelő bizalma meginog. „Ha már az alapok sem működnek, mi lesz később?”

A bizalom elvesztése sokkal drágább, mint bármilyen tesztelői bérköltség. A reputációt évekig tart felépíteni, de egyetlen rosszul sikerült, teszteletlen élesítéssel le lehet rombolni. Ez már nem IT technikai probléma, hanem közvetlen üzleti kár.

4. Lassuló Time-to-Market (Piacra lépés ideje)

Paradoxnak tűnhet: ha nem kell tesztelni, gyorsabban haladunk, nem? Nem.

Rövid távon talán gyorsabbnak tűnik a fejlesztés (nincsenek „idegesítő” hibajegyek, amik megakasztanák a folyamatot), de közép távon a projekt drasztikusan lelassul. Miért? Mert a csapat állandó tűzoltásban (firefighting) ég. Ahelyett, hogy az új funkciókat fejlesztenék a roadmap szerint, az előző sprintekből visszamaradt, élesben felbukkant hibákat („hotfixeket”) kell javítaniuk.

A tervezhetőség megszűnik. A projektvezető nem tudja megmondani, mikor lesz kész az új verzió, mert a csapat kapacitását felemésztik a váratlan hibák. A tesztelés hiánya nem gyorsítja, hanem kiszámíthatatlanná teszi a piacra lépést.

5. Dokumentáció hiánya és a „Tribal Knowledge” (Törzsi tudás) veszélye

Kevesen gondolnak rá, de a tesztelői munka egyik legértékesebb mellékterméke a dokumentáció. A megírt tesztesetek (Test Case-ek), a tesztelési forgatókönyvek és a bug reportok valójában a rendszer élő, naprakész leírásai.

QA nélkül gyakran elmarad a specifikáció aktualizálása. A rendszer működése csak a fejlesztők fejében létezik („Tribal Knowledge”). Mi történik, ha a projekt kulcsfejlesztője felmond vagy megbetegszik? Viszi magával a tudást. Senki nem tudja pontosan, hogyan kellene működnie egy bonyolult üzleti logikának, hiszen nincs róla se specifikáció, se teszteset, ami leírná az elvárt működést.

A tesztesetek hiánya óriási kitettséget (Vendor Lock-in vagy Person Lock-in) jelent a cégnek. Egy új fejlesztő betanítása hetek helyett hónapokig tarthat, mert nincs mihez nyúlnia.


Összegzés: A minőség ingyen van?

Philip Crosby, a minőségbiztosítás egyik úttörője mondta: „Quality creates money.” (A minőség pénzt termel.) De még pontosabb a másik idézete: „Quality is free. It’s not a gift, but it is free. What costs money are the unquality things — all the actions that involve not doing jobs right the first time.” (A minőség ingyen van. Nem ajándék, de ingyen van. Ami pénzbe kerül, az a minőség hiánya – mindazok a dolgok, amikor nem végezzük el a munkát jól már elsőre.)

A tesztelő alkalmazása nem luxus, amit csak a nagyvállalatok engedhetnek meg maguknak, hanem a fenntartható szoftverfejlesztés alapköve.

Van megoldás, ha nincs keret teljes állású kollégára: Nem feltétlenül kell azonnal senior QA mérnököt felvenni teljes állásba.

  • Staffing / Outsourcing: Béreljen tesztelőt csak a projekt kritikus szakaszaiban.
  • Részmunkaidő: Egy junior tesztelő vagy egyetemista is rengeteg terhet levehet a fejlesztők válláról.
  • Automatizálás: Befektetés, ami később térül meg, de kiválthatja a manuális tesztelés egy részét.

Ne feledjük: A tesztelés hiánya mindig többe kerül a végén, mint a tesztelés ára. Csak a számlát nem a QA csapat küldi, hanem az elégedetlen ügyfelek és a frusztrált fejlesztők.

Megosztás

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

Kapcsolódó cikkek

A tesztpiramis: a stabil és kifizetődő tesztautomatizálás alapköve

Bevezető A szoftverfejlesztés világában az automatizálás gyakran úgy indul, mint egy lelkes fellángolás: „Minden manuális tesztet váltsunk ki automata scriptekkel!” A kezdeti eufória után azonban sok projektvezető és fejlesztő szembesül a kőkemény valósággal. A tesztek lassúak, gyakran ok nélkül elbuknak, a karbantartásuk pedig több időt emészt fel, mint amennyit maga a fejlesztés. Ilyenkor merül fel

Tesztautomatizálás: mikor érdemes belevágni, és mikor várjunk még?

Bevezető A szoftverfejlesztési projektek egyik legvitatottabb kérdése nem az, hogy kell-e automatizálni a tesztelést, hanem az, hogy mikor. „Már az első naptól írjunk automata teszteket, vagy ráérünk, ha már kész a funkciók nagy része?” – hangzik el a kérdés szinte minden projektindító megbeszélésen. A válasz azonban nem egy egyszerű dátum vagy verziószám. A tesztautomatizálás ugyanis

Tesztautomatizálás útmutató: mikor, hogyan és miért érdemes bevezetni?

Szoftvert fejleszteni ma már nem csak kódolást jelent. Egy termék sikere legalább annyira múlik azon, hogy a kiadás pillanatában stabilan, hibamentesen és megbízhatóan működjön, mint magán az ötleten. Ahogy az IT projektek egyre komplexebbé válnak, a hagyományos, tisztán manuális tesztelés egyre kevésbé tud lépést tartani a fejlesztés tempójával. Eljön a pont, amikor a tesztelés már

Scroll to Top