Megéri-e tesztautomatizálás? Számold ki!

post-thumb

A tesztautomatizálás bevezetése igenis megéri, de szerencsére ezt nem kell bemondásra elhinni sem nekünk, sem másnak: bárki kiszámíthatja magának, úgy, mint más beruházások megtérülését. Van viszont néhány speciális szempont, amit érdemes figyelembe venni, továbbá jó, ha tudatában vagyunk, milyen buktatók leselkednek ránk.

A szoftverfejlesztésben már jó ideje a gyorsaság számít a termékbevezetések leginkább meghatározó attribútumának. Senki sem kerülheti el, hogy ez alapján (is) ítéljék meg a munkáját. A gyorsaság igénye állandó nyomás alatt tartja a piaci szereplőket: élesíts most, javítsd a hibákat később! Gyere ki az új szolgáltatással azonnal, különben leköröz a konkurencia! Tartsd be a határidőt mindenáron, nehogy elveszítsd az ügyfelet! Ilyen követelményekkel minden fejlesztésben dolgozó vezető találkozott már.

Ennek legalább részben az az oka, hogy a technológiai folyamatok egyre nagyobb hányada automatizált, ez ugyanis nagyon magasra tette az ügyfelek és általában a piac elvárásait. Az automatizálás szerencsére megoldást is kínál arra, hogy gyorsan és a termék stabilitását szem előtt tartva haladjunk előre. Az automata tesztek egyszerre képesek biztosítani a kellő sebességet és minőséget.

A tesztautomatizálás megtérülése

De ahhoz, hogy egy felelős vezető jól döntsön, nem elég efféle jól hangzó állításokat magáévá tennie, hanem tudnia kell, hogy tényleg kifizetődő-e. Visszahozza-e tesztautomatizálás bevezetése a ráfordított erőforrásokat? Ebből a szempontból ez is csak olyan, mint bármelyik beruházás – ki kell számolni a megtérülését. Lássuk, hogyan.

A matematikai képlet egyszerűen leírható:

  • megtérülés = megtakarítás / beruházási költség.

Ezt a számítást azonban akkor fogja tudni jól alkalmazni bármely vállalat, ha figyelembe veszi a saját jellegzetességeit és persze az iparág trendjeit. A megtakarítást, például, a legkézenfekvőbb az alapján kalkulálni, hogy mennyivel kevesebb időt emészt fel a minőségbiztosítás, de a céges folyamatok és költségszerkezet, illetve a tesztautomatizálási eszközök ismeretében többféle megoldás is lehetséges. Nem mindegy az sem, hogy mit takar a beruházás: saját keretrendszer kiépítését vagy egy külső szolgáltató megbízását?

Megközelíthető a kérdés onnan is, hogy mi történne az automatizálás bevezetése nélkül.

Mekkora lenne az elmulasztott lehetőség ára?

A tapasztalatok szerint a tesztautomatizálás nagyjából ötször olyan gyors, mint a manuális. Ez a különbség hatni fog a határidők betartására, a csoportdinamikára, az egyének stressz-szintjére. És mindez természetesen nem korlátozódik az adott csoportra, hanem a cég más egységei is megérzik. A lassulás visszafogja a salest és a marketinget, a HR-nek pedig kezelnie kell az alkalmazottak problémáit és/vagy újakat keresni a távozók helyére.

Minden szervezetben szükség van mikromenedzsmentre: problémák elsimítására, értekezletekre, személyes négyszemközti megbeszélésekre. Ha csak manuális tesztelést alkamazunk, a szervezetirányításnak ez a része több időt és erőforrást fog lekötni, hiszen nagyobb mértékben terheljük az embereket technológiai oldalról, így több támogatásra lesz szükségük.

A regressziós tesztek jelentősége

Nem érdemes figyelmen kívül hagyni azt sem, hogy a tesztelés sohasem csak az épp aktuális funkció ellenőrzéséről szól. Mindig szükség lesz regressziós tesztekre, hogy megbizonyosodjunk róla, az új feature nem okozott gondot a szoftver más, korábban már tesztelt komponenseinek működésében sem. Márpedig egy komplex szoftver egymásra épülő kódrétegekből áll, melyeket az évek során adott esetben programozók tucatjai állítottak elő. Ha a regressziós teszteket emberi erővel kell elvégezni, annak súlyos következményei lesznek.

A döntéshozók felelőssége, hogy bevezetik-e a tesztautomatizálást. Az biztos, hogy nem lehet mindörökké megúszni az innovációt a versenyben lemaradás veszélye nélkül. De a döntés meghozatala még csak az első lépés, utána figyelni kell arra, hogy ne fussunk bele a kínálkozó hibalehetőségekbe. Nézzük a leggyakoribb baklövéseket!

Mit lehet elrontani tesztautomatizáláskor?

A manuális tesztelés teljes feladása*.* Nem igényel az összes folyamat és szcenárió automata teszteket. A legtöbbször a két típus egymás mellett, egymást kiegészítve a leghatékonyabb. Persze rá kell jönni, hogy melyik, hol lesz hasznosabb, és ez nem feltétlenül könnyű.

Rövid távú megtérülés-számítás*.* Fontos a közvetlen költségek alakulása, de valószínű, hogy a tesztautomatizálásnak hosszú távon jelentős hatása lesz a tágabb folyamatokra. Több dolgot is megoldhat, mint a minőségbiztosítás lerövidítése, csak meg kell látni ezeket a lehetőségeket.

A tesztkarbantartás elhanyagolása. Az automata teszt is csak kód. Ha azt akarjuk, hogy évekig értéket termeljen, folyamatosan gondozni, frissíteni kell. Ez befolyásolja a megtérülési számításokat, át kell gondolni, ki és hogyan fogja a munkát elvégezni.

A dokumentálás elhanyagolása*.* Utaltunk már rá, hogy a fejlesztők cserélődése kellemetlen következményekkel járhat. Az egyik legrosszabb, amit történhet, ha valaki magával viszi a tudás egy részét, és elölről kell kezdeni alapvető folyamatokat. Az útmutatás rövid és egyértelmű: dokumentálj mindent, amit lehet!

Összességében hat paraméternek van jelentősége a tesztautomatizálás megtérülésének számításában.

Mit vegyek figyelembe a tesztautomatizálás megtérülésének számításakor?

Új tesztek automatizálása – ez a standard eset, a “megtakarított minőségbiztosítási idő” formulával megragadható.

Régebbi tesztek automatizálása – már említettük a regressziós teszteket, ez egy megfontolandó jó gyakorlat.

Teljeskörű környezeti tesztelés – sokat ér, ha tudjuk, hogyan viselkedik a termékünk sokféle környezetben, el tudjuk-e kerülni mindenütt a bugokat.

Kiszivárgó hibák – azon bugok száma, amelyek eljutnak a fejlesztési szakaszból az éles termékig, potenciálisan jelentős károkat okozva.

Tesztek újrahasznosíthatósága – fölösleges új tesztet írni, ha egy korábbi átalakításával is elérhető a kívánt cél.

Tudásvesztés – egy fejlesztő távozása esetén mekkora költséggel jár az utódjának a betanulása és az elvesztett tesztesetek újraírása? Hogyan képes a veszteségeket minimalizálni az automata tesztelés?

Két ökölszabályt érdemes még megjegyezni a tesztautomatizálással kapcsolatban: fokozatos bevezetés és hosszú távú tervezés. Mert papíron megtérülést számolgatni egy dolog, és egy nehezen mozduló szervezetben bevezetni egy új módszert egészen más.

- TesterLab -

- TesterLab -

Megosztás: