7 lépés a hatékonyabb tesztelésért

post-thumb

A leghatékonyabb fejlesztői csapatok mindig keresik az újabb lehetőségeket, hogy csapatuk tagjait még hatékonyabbá tegyék. Arra jutottak, hogy a fejlesztési folyamatok tökéletesítése jó módja a minőség növelésének és a piacra kerülési idő csökkentésének.

Van, amikor ez a tökéletesítés új eszközök bevezetését jelenti, de van, amikor csak arra van szükség, hogy kettőt hátralépve megvizsgáljuk az aktuálisan futó folyamatokat.

Vegyük a szoftvertesztelést.

A többségünk olyan projekteken dolgozik, ahol tesztesetek ezrei fordulnak elő és a teljes lefutásuk órákat, vagy akár napokat is igénybe vehet.

A csapatok minden héten újabb teszteket hoznak létre, mindezt az évek során folyamatosan, aztán egy ponton jön a felismerés, hogy a teljes tesztelési idő túl sokáig tart. Ezen a ponton hardveres erőforrásokkal is bővítjük a projektet az automatizált tesztek miatt, vagy emberi erőforrással a manuális szoftvertesztelés és a felfedező tesztelés miatt.

Nálatok is túl sok időt vesz igénybe a tesztelés? A következő 7 lépés segíthet csökkenteni azt!

Első lépés: Vizsgáld meg a hibás teszt adatokat!

Az adatok összegyűjtését egyszerű automatizálni. Valószínűleg ezzel még nincs is problémád. Győződj meg az adatok egységességéről és, arról hogy azok programozással analizálhatók. Senki sem akar log file-okat keresni.

Az adatokat tartalmazó tárhely nem számít egészen addig, amíg API-nak nem teszed ki. Az lefuttatja az összes tesztet és hozzáférést enged a tesztek listájához és annak előzményeihez.

Győződj meg arról is, hogy minden információt rögzítesz, minden felhasználó esetén, minden teszt futtatásakor és minden kontextusban. Minél több adat van, annál jobb.
Ha megvannak a nyers adataid, csoportosítsd a teszteket 3 kategóriába a hibázási ráta alapján: gyakran, néha vagy ritkán fut hibára.

Második lépés: Javítsd vagy töröld a törékeny teszteket!

A következő lépés az, hogy további csoportokra oszd a gyakran hibára futó teszteket. Különítsd el azokat, amelyek bugokat találnak és azokat, amelyek törékenyek.

Ha úgy reagálsz egy tört tesztre, hogy újrafuttatod azt és reménykedsz, hogy ezúttal sikeres lesz, akkor gond van a folyamataiddal.

A törékeny teszteket át kell alakítani vagy törölni. Nem könnyű azonban ezeket a teszteket gyorsan kijavítani.
Ha azt gondolod ezek mégis értékesek, legalább a mindennapos szoftvertesztelésből töröld őket és csak bizonyos időszakokban futtasd őket, amikor az infrastruktúrád engedi azt.

Harmadik lépés: Értsd meg a tesztjeidet!

A tesztek mennyiségének növelése helyett fontosabb, hogy a jó teszteket futtasd.

Rengeteg módja van a tesztek csoportosításának, törekedj az egyszerűségre.
Érdemes három különböző csoportba rendezni a funkció fontossága alapján: magas, közepes, alacsony.

Érdemes ezeket a kategóriákat manuálisan létrehozni és később szükség esetén módosítani.
Tartsd észben, hogy a fontosságot a felhasználó szemszögéből kell meghatározni és azt is, hogy a felhasználók többsége nem az összes funkcióval rendelkező terméket használja. Szóval, ha a tesztjeid 90%-a magas prioritású kategóriába kerül, nézd át őket még egyszer!

Tartsd észben azt is, hogy a funkció, amelyet a felhasználóid számára a legfontosabb, nem biztos, hogy egyezik azzal, amit a fejlesztők gondolnak annak.
Kérd az ügyfélkapcsolatos kollégák segítségét ebben a szakaszban és nézzétek át, hogy a felhasználók mely hibákkal találkoznak a legsűrűbben.

Negyedik lépés: Szelektáld az elavult teszteket!

Milyen gyakran nézed át az aktuálisan futó teszteket? Eltávolítod azokat, amelyeknek nincs értelme vagy azokat, amelyek feleslegesek?

Vagy ehelyett konstans futtatod ezeket a régi teszteket, mert igazán azt sem tudod, hogy milyen célt szolgálnak, csak félsz törölni őket?

Csak úgy mint egy kód refaktorálásánál, a tesztesetek refaktorálása is kritikus a hatékonyság fenntartásában, de hol is kezdjük azt?

Amikor a harmadik lépéssel megvagy, esélyes, hogy bizonyos tesztjeid azért lesznek az alacsony fontosságú kategóriában, mert nem vagy benne biztos, hogy mire valók.
Itt az ideje, hogy alaposabban megnézd azokat és átgondold a törlésüket vagy a refaktorálásukat.

Ötödik lépés: Priorizáld a teszteket!

Amint fixáltad vagy törölted a törékeny teszteket és törölted az elavultakat is, rendelj hozzájuk prioritást a 9 attribútum kombinációja alapján, mint azt a következő táblázatban is látod.

Ez 5 különböző teszt prioritás csoportot fog eredményezni. Ezt követően ellenőrizd, hogy a tesztek megoszlása a különböző csoportokban, értelmezhető-e a projektedre. 

Szabd személyre ezt a táblázatot, de azt azért tudd, hogy ha a tesztjeid 90%-a rendszeresen hibára fut vagy a magas prioritású tesztek csoportjába tartozik, problémáid továbbra is fennállnak.

Hatodik lépés: Hajtsd végre a teszteket a prioritásuk sorrendjében!

Most, hogy a tesztjeidet kategorizáltad, jöhet a végrehajtási stratégia. Jó, ha prioritási sorrendben haladsz a tesztekkel és megállsz egy bizonyos számú pl. 5-10 hibát követően. Azért érdemes több hibát is megvárni, mert az segíthet a fejlesztőknek észrevenni egy előfordulási mintázatot.

Hetedik lépés: Folyamatosan finomítsd a részleteket! 

Az utolsó lépés az, hogy folyamatosan figyelemmel kíséred a tesztek fontosságát és a hibák előfordulását.

Ahogy a projekted fejlődik, korábbi funkciók fontossága csökkenhet, újabb funkcióké pedig nőhet, új felosztást eredményezve ezzel a prioritási szintek között.

Forrás: https://www.coderskitchen.com/improving-test-efficiency/

- TesterLab -

Megosztás: