5.2. Tesztelés
A tesztelés, a rendszer minőségellenőrzését szolgáló folyamat. A rendszer tesztelése során a két legfontosabb ellenőrzési kritérium, a felhasználói igényeknek történő megfelelés és az üzemszerű működés.
E munkafolyamat elvégzése egyrészt a fejlesztők feladata, ugyanakkor az átvételi teszt elkészítésébe a felhasználókat is be kell vonni.
A tesztelés
célja a programhibák feltárása, nem annak bizonyítása, hogy a rendszer hibátlan.
A tesztelés típusai:
- egyedi
- integrációs
- rendszer
- átvételi
Az egyedi teszt valójában külön-külön ellenőrzi az egyes programfunkciók működését, ez természetesen a kezdő lépése lehet a tesztelési munkálatoknak.
A második fázisban tovább kell lépni, és azt kell leellenőrizni, hogy a programok egymással összefüggésben hogyan működnek. Ilyenkor elsősorban egy-egy menüágat veszünk nagyító alá, a csoportosítását is ellenőrizzük, ugyanakkor a közös működés vizsgálata ennek az integrációs tesztnek a feladata.
Az egész rendszer egységes működését, amit már valós adatokkal célszerű elvégezni, a rendszerteszt biztosítja. A sorban ez az utolsó olyan teszt, amelyet a fejlesztők végeznek.
Van azonban még egy fajta ellenőrzés, amely tartalmilag és az értékelés szempontjait tekintve is más, ez az átvételi teszt.
Az átvételi teszt a felhasználói képviselettel közösen végrehajtott feladatsor. Valamennyi teszt végezhető mintaadatokkal vagy ún. éles adatokkal. Az átvételi tesztre az a jellemző, hogy szinte kizárólag a felhasználó által biztosított konkrét adatokkal történik a rendszer működésének ellenőrzése.
Az átvételi tesztet a legmagasabb szintű tesztnek tekintjük, melynek célja annak eldöntése, hogy vajon a rendszer valóban az előre megfogalmazott felhasználói követelményeknek megfelelően működik-e?
Emlékezzünk rá, hogy ez az utolsó döntési pont a rendszerek
fejlesztésében Itt még előfordulhat, hogy a felhasználó úgy dönt, nem veszi át
az elkészített rendszert.
Felhasználó által a fejlesztőtől függetlenül végzett teszteket szokták béta tesztnek nevezni. A béta teszt során a potenciális felhasználók egy részéhez juttatják el a programot, akik valós, éles körülmények között kezdik el használni a szoftvert, valamilyen szerződés keretében. Tapasztalataikat megosztják a fejlesztőkkel, akik ezeket felhasználják a rendszer javítására.
Ha a fejlesztő végzi el ezt a tesztelést, akkor alfa tesztről beszélünk. Az átvételi tesztet szokás alfa tesztelésnek hívni.
Tesztelni kell azt, hogy hogyan viselkedik a rendszer nem rendeltetésszerű használatra - nem okoz-e károkat esetleg egy képzetlen felhasználó, vagy egy hirtelen fellépő nagy terhelés. Ezt a folyamatot stressz tesztnek nevezik.
Verifikáció és validáció - verification and validation - V&V: ellenőrző és elemző folyamatok, amelyek biztosítják, hogy a szoftver megfelel a specifikációjának és kielégíti a kliens igényeit.
Verifikáció: A szoftver megfelel-e specifikációjának? A rendszer eleget tesz-e a megadott funkcionális és nem funkcionális követelményeknek?
Validáció: A szoftver kielégíti a kliens igényeit, megfelel a vásárló elvárásainak?
Boehm megfogalmazása szerint (1979):
- Verifikáció: A terméket jól készítjük el? (Are we building the product right?)
- Validáció: A megfelelő terméket készítjük el? (Are we building the right product?)
A folyamat lépései: követelményvizsgálat, a tervezés áttekintése, kódvizsgálat, a termék tesztelése. A szoftverfejlesztés minden szintjén szükség van V&V tevékenységekre.