5.2. Tesztelés

iDevice ikon

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.