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 -