5.2. System Level Testing (SLT)

A rendszer összes komponensének teljes körű (funkcionális, nem funkcionális) tesztelése. Feladata annak megállapítása, hogy a rendszer kiadható-e a megrendelőnek. Ez tehát egy végső ellenőrzési fázis a fejlesztési folyamatban. Szokás elnevezése még: "release test", a tesztelés tárgyát képező rendszerváltozat pedig gyakran nevezik "alpha version"-nek.

Bár a tesztelési munka még fejlesztő szervezeten belül folyik, szükséges az éles használat környezetének minél pontosabb szimulációja.

A tesztelés célja kettős:

  1. Verifikációs: a rendszer olyan hibáinak megtalálása, amelyek az eddigi tesztelési tevékenységek során nem mutatkoztak meg.

  2. Validációs: főleg a nem funkcionális követelmények tesztelése segítségével meggyőződni arról, hogy a felhasználó céljainak megfelelő a rendszer működése.

Ezen célok elérésére a rendszert több szempont szerint tesztelhetjük.

5.2.1. Szolgáltatás tesztelés

Célja annak megállapítása, hogy a rendszer minden funkcionális követelményt implementál, és azok helyesen működnek.

5.2.2. Mennyiségi tesztelés

A szoftver működését nagy mennyiségű adattal teszteljük a kapacitáskorlátok ellenőrzésére. Ellenőrizzük, hogy az adatmennyiség nem okoz-e hibás működést. Végrehajtási / válasz időket is figyelhetünk, mérhetünk, amely már a terhelési tesztek előkészítését jelenti.

5.2.3. Terheléses tesztelés (Stressz-tesztelés)

A tesztelt rendszert valamilyen szempontból erős terhelésnek teszi ki. Fontos feladata a megfelelő válaszidők ellenőrzése. Ennek érdekében:

  1. Vizsgálni kell, hogy a rendszer adott időkorláton belül hogyan teljesít nagy mennyiségű adatokon dolgozva.

  2. Intenzív feldolgozást kívánó helyzeteket kell teremteni, melyek szélsőségesek, de előfordulhatnak.

  3. A robosztusság ellenőrzésére érdemes a terhelést olyan szintre is emelni, amely (elvileg) a használat során nem fordulhat elő.

5.2.4. Használhatósági tesztelés

A rendszer egy meghatározott felhasználó által, egy meghatározott felhasználási körben használva, meghatározott célok hatékony és produktív elérésére, mennyire kielégítő és mennyire vezet megelégedésre. Minden felhasználói szerepkört, minden használati módot meg kell vizsgálni.

5.2.5. Biztonsági tesztelés

Az adatbiztonsággal és adatvédelemmel kapcsolatos hibák vizsgálata. A mai, elosztott architektúrájú, gyakran (legalább részben) Web alapú rendszerek esetén egyre nagyobb a jelentősége, ezért ezzel e kérdéssel egy külön fejezetben is foglalkozunk.

5.2.6. Teljesítménytesztelés

A teljesítmény vagy a hatékonyság mérése különböző terheléseknél és konfigurációkra meghatározott válaszidők és feldolgozási sebességek formájában.

5.2.7. Konfigurációtesztelés

Különböző környezetek (hardver, operációs rendszer, egyéb szoftver installációk) lehetségesek.

Ha a programnak korábbi rendszerekhez kell kapcsolódniuk, vagy a program egy korábbi változatát váltják le: ellenőrizni kell a kompatibilitást vagy a konverziós eljárásokat.

5.2.8. Megbízhatósági tesztelés

Ha program céljai között megbízhatósággal kapcsolatos speciális kitételek szerepelnek.

A megbízhatósági teszteknek adott esetben ki kell terjedniük a rendszer programozási- hardver- vagy adathibák bekövetkezte utáni felállására, működésbe visszaállására.

5.2.9. Dokumentációtesztelés

Felhasználói és fejlesztési dokumentumokra egyaránt vonatkozik.

A fejlesztési dokumentáció esetén annak teljességét és az elkészült rendszerrel való összhangját kell vizsgálni.

A felhasználói dokumentációban szereplő összes illusztratív példát le kell képezni tesztesetekké és végre is kell hajtani velük a tesztelést.