Téma: Tesztelés
Témavezetők: Pali, Krisztián
Leírás:
A Brainstorming témája a
szoftvertesztelés volt. A szoftvertesztelés a szoftverfejlesztés egyik kiemelt
szakasza, fontosságát az is jelzi, hogy a tesztelési erőfeszítések közel felét
ennek a szakasznak a sikerre vitele jelenti. Nyilvánvaló, hogy a megírt
szoftver hibátlanságáról és használhatóságáról meg kell győződni, mielőtt azt a
megrendelő használatba venné.
A tesztelés általában két szinten
zajlik, modul és rendszer szinten, a modulszintű tesztelés esetén a modulokat a
teljes rendszerből kiemelve, szeparáltan tesztelik le, míg a rendszerszintű
tesztelésnél a teljes rendszert vizsgálják összefüggéseiben.
A tesztelés két fő típusát különböztetjük meg, ezek a validációs
ill. a verifikációs tesztelések. A verifikációs teszt a programozás
helyességét, a programírás és tervezés mérnöki folyamatának hibátlanságát
vizsgálja, míg a validációs tesztelés a specifikációnak, a felhasználó
igényeinek való megfelelést vizsgálja. A kétféle teszt végrehajtása biztosítja,
hogy jó minőségű és funkcionálisan megfelelő szoftver készült.
A tesztek elvégzésére általában két
utat különböztetünk meg. A fejlesztők általában úgynevezett white box
tesztelést folytatnak, míg a tesztelők főleg black vagy iron box tesztelést. A
white box tesztelés lényege, hogy a tesztelő belelát a kódba, míg a black box
tesztelésnél a tesztelő csak azt tudja, milyen kimenet várható el egy bizonyos
bemenet esetén, de a belső funkciók működését nem ismeri.
Ez a két megközelítés egyben a
tesztesetek tervezésénél is meghatározó, a white box tesztek tervezésénél
strukturális teszteket terveznek, míg a black box tesztelésnél rengeteg technika
ismert, például tapasztalaton alapuló, ekvivalencia - partícionálás,
határérték-analízis, ok-hatás analízis.
A tesztelési visszacsatolás
általában manuális követést jelent, a tesztelés szempontjából ez rendkívül
fontos, hiszen ez alapján lehet kiértékelni a tesztelés eredményességét,
illetve követni a tesztelési folyamat állapotát.
A manuális tesztelésen kívül
léteznek automatizált tesztelési módszerek is. Az automatizált tesztelés eléggé
megosztja a tesztelőket, általánosságban elmondható, hogy az automatizált
tesztek létrehozása már magában is egy mini fejlesztési folyamat, a tesztelési
idő nem csökken az automatizált tesztek esetében, csak a ráfordítás csökkenhet,
de ez sem minden esetben.