Hogyan optimalizáljuk hatékonyan a regressziós teszthalmazt?
A szoftver alkalmazásfejlesztés egy következetes folyamat, amely rengeteg változtatást és kiegészítést igényel időről-időre. Ezzel ellentétben nem minden alkalmazásfejlesztő készít olyan alkalmazásokat, amely teljesen egyezik a felhasználók, vagy megrendelők elvárásaival. Egy kutatás szerint az alkalmazásfejlesztés 70 %-a rendszertámogatás és szoftverjavítás.
Ahogy a tulajdonságok és követelmények változnak, és ahogy ezeknek a változtatásoknak a száma növekszik, egyre nehezebb helyzetbe kerül a regressziós tesztet futtató tesztelő. Tudjuk, hogy a regressziós tesztek egy része automatizálható, az automatizált regressziós tesztek jobb eredményt és nagyobb lefedettséget jelentenek általában. Emellett az erőforrásokat az újabb és komplikáltabb funkciók tesztelésére irányíthatjuk.
Az automata regressziós teszteknél a tesztelők mindig szembesülnek a karbantartási problémákkal. Van néhány faktor, ami hatással van a regressziós teszthalmaz hatékonyságára. Közöttük vannak olyan esetek, amikor a tesztsorozat és kiegészítők elvesztik a szinkront a tesztelendő termékkel, alkalmazással, ami redundáns tesztekhez és többletmunkához és még ki tudja, hogy mihez vezet.
Hogyan optimalizálhatjuk és tarthatjuk karban a regressziós teszteseteinket? Íme néhány tipp, amely segíthet:
- Regression Test Selection (RTS) ez az egyik legnépszerűbb módszer a teszteset halmaz optimalizálásának. A módszer felosztja a teszteket újrahasználható, újratesztelendő és elavult tesztesetekre. Ezenkívül új teszteseteket kell létrehozni, azokra a feladatokra, amelyeket a jelenlegi tesztesetek nem fednek le, a nagyobb tesztlefedettség elérése érdekében.
- A másik nagyszerű út a regressziós tesztek karbantartására és optimalizálására egy jó nyomon követő – ellenőrző mechanizmus az új fejlesztésekre, kiegészítésekre a fejlesztési idő alatt. Ennek egy következetes folyamatnak kell lennie, amely karbantartja a teszteseteket és segíti a tesztmenedzser munkáját a kiegészítések tesztelésének ellenőrzésében és a tesztlefedettség mérésében az újabb és újabb szoftverkiadások esetén.
- A regressziós teszthalmaz karbantartásának jelentősége könnyen mérhető a teszthalmaz változásainak monitorozásával. A tisztán definiált folyamat megerősít majd abban minket, hogy csak azok a tesztesetek kerülnek be a regressziós halmazba, amelyek hasznosak a stratégia szempontjából, valamint használhatóak és hatékonyak.
- A régi, használaton kívüli tesztesetek kitisztítása egy másik jó megközelítés a regressziós tesztek karbantartására. Ebben az esetben az összes létező tesztet hatékonyságát elemezni kell a teszthalmazban az adott esetre. Lesznek olyan esetek is, amelyekben egyes új funkciók nem lesznek támogatva a különböző fejlesztési irányok miatt. Ezeknél az eseteknél szintén változtatni kell a regressziós teszteken. Így a regressziós teszthalmaz megbízhatóan a rendelkezésünkre áll hosszú ideig.
- A regressziós tesztek eredményességét a szoftverkiadástól a szoftverkiadásig is ellenőrizhetjük. Így könnyen megtalálhatjuk a hatékonyságot csökkentő tényezőket, ha vannak ilyenek az lehetőséget ad számunkra a közbeavatkozásra és a hatékonyság növelésére.
- A mérőszámok használata is eredményre vezethet. Vizuálissá válik a regressziós teszthalmaz jelentősége. Más mérőeszközöket is bevezethetünk, mint például a regressziós tesztek által felfedezett hibák százalékos értéke és ezen hibák fontossága.
Ezek mellett fontos azt is megvizsgálni, hogyan kerülnek újabb tesztesetek a regressziós teszthalmazba. Akár optimalizálni is tudjuk a teszteket, amikor már robusztussá válnak, futtathatunk különböző regressziós teszteket a különböző szoftververziókra, tervezhetünk és felfedezhetünk változásokat a regressziós tesztesetekben annak érdekében, hogy a tesztelési munka még hatékonyabb legyen.
Bizonyosodj meg arról, hogy használhatóak-e ezek a tanácsok a regressziós tesztek karbantartásában. Használtad már ezek közül bármelyiket ezelőtt?
Forrás: http://intersog.com/blog/How-To-Optimize-Regression-Test-Suite-Effectively
Szerző: Prashant Chambakara
A szerző
- Prashant Chambakara a tesztautomatizálási technológia megszállottja, aki a TestingWhiz-nél dolgozik. Ő a felelős a TestingWhiz online marketing stratégiájáért és annak végrehajtásáért. Rajta tartja a szemét a tesztelési automatizálási gyakorlatokon, és szereti megosztani az automatizálásban és a szoftvertesztelésben szerzett tapasztalatait. Technikai gondolatait és tevékenységét a Twitteren követheted: @PChambakara.