„Kill it before it lays eggs!” – A tesztelésről I. rész

„Kill it before it lays eggs!”

A következő néhány hétben, 4 bejegyzésben a tesztelésről fogunk Nektek mesélni. Onnantól, hogy „miért érdemes tesztelni?”, a tesztelési és fejlesztési módszereken át egészen addig, hogy mit lát a megrendelő. Beszélünk majd a tesztpiramisról, az automatizált tesztelésről és a tesztek csoportosításáról is.

Tesztelésről szóló blogsorozatunkat Nagy Szilveszter kollégánk írta.

A tesztelésről – I. rész

1998. tavaszán a Microsoft egyeduralkodó volt a az operációs rendszerek piacán. Épp arra készültek, hogy bemutassák az elsöprő sikert hozó Windows 95 utódját, a Win 98-at. Április 20-án maga Bill Gates sétált a színpadra, hogy élete feltehetően legkellemetlenebb momentumának legyen részese. Történt ugyanis, hogy a szoftver összeomlott. Rögtön a bemutató elején.

Ez azt bizonyítja, hogy még a legnagyobbak is hibáznak, ezért nem győzzük hangsúlyozni a tesztelés fontosságát. Tesztelték vajon a Win 98-at? Bizonyára. Rengetegszer. Azonban legalább eggyel kevesebbszer, mint szükség lett volna rá, vagy a módszer volt hibás.

A szoftverfejlesztőkre hatalmas nyomás nehezedik a szűkös határidőkkel, korlátozott budgetekkel, viszont a tesztelésnek akkor is részét kell képeznie a fejlesztési folyamatnak, ha felesleges kiadásnak tűnik.

Miért tesztelünk?

Egyelőre minden szoftvert emberek fejlesztenek, ami azt jelenti, hogy bizony hibáznak is. Így szinte biztosak lehetünk abban, hogy minden szoftverben van hiba. A kérdés csupán annyi, hogy mi találjuk-e meg először, vagy a megrendelő, esetleg a felhasználó.

Ugyanez a helyzet akkor, ha új funkciókat adunk hozzá egy már meglévő szoftverhez, optimalizáljuk azt, vagy csak refaktoráljuk. Minden változtatás magában rejti a hiba lehetőségét – és ezért bizony tesztelni kell. A tesztelés biztosítja a termék minőségét és megbízhatóságát. Nemcsak a megrendelő felé, hanem kollégáink felé is, mert megfelelően kidolgozott tesztelési mechanizmusok tudatában egy junior is nagyobb magabiztossággal nyúlhat a kódhoz, hiszen a teszt őt is védi saját hibáitól.

A lean szemlélet egyik alapvetése, hogy a lehető leghamarabb kész legyen a Minimum Viable Product (MVP), vagyis a szoftvernek az a verziója, ami már működőképes. Jelentheti-e ez vajon egyben azt is, hogy a kezdeti fázisban nincs szükség a tesztekre sem? Ha elhagyjuk a tesztelést, akkor az ugyan – kis szerencsével – a rövidtávú üzleti céloknak segítségére lehet, azonban kockáztatjuk azt, hogy magunk előtt görgetünk olyan hibákat, melyek a fejlesztés későbbi fázisait rémálommá teszik.

Sokkal nehezebb egy problémát az elején orvosolni, mint később. Ezért gyomlálja ki a Kisherceg is a bolygóján a majomkenyérfákat. “Kill it before it lays eggs!” – tartja a mondás. Jobb akkor elcsípni a problémákat, amíg nem nőnek a fejünkre és kezdenek el sokasodni. Különösen akkor kell figyelni erre, ha a fejlesztés során csapatban, hosszabb projekten dolgozunk. Hiszen előfordulhat, hogy egyes hibák még évekkel később is problémát okoznak, holott az elején teszteléssel könnyen elcsíphetőek lettek volna.

Mit nyerünk a teszteléssel?

A fentiek miatt bátran állíthatjuk, hogy a tesztelés hosszú távon időt és pénzt takarít meg és még a későbbi fejlesztéseket is gyorsabbá teszi. Már a kezdetektől fogva segít átgondolni a feladat megoldását, megkönnyíti a fejlesztők dolgát és az ügyfél is pontosabb dokumentációt kap a folyamat végén. Mindezt természetesen amellett, hogy minimalizájuk a lehetséges hibákat a szoftverben. Figyelem, spoiler: halmozottan igaz ez az automatizált tesztekre.

Következő bejegyzésünkben az automatizált tesztelést fogjuk kivesézni, beszélünk a tesztpiramisról, illetve megnézzük, hogy hogyan érdemes  tesztelni.

Látogassatok el rendszeresen a join.stylers.hu oldalra, és kövessetek minket a Facebookon és Instagramon is!

2019-11-06T09:59:12+00:00

Share This Post With Others!

Go to Top