Szoftvertesztelés szintjei és szerepük A szoftvertesztelés célja, hogy biztosítsa a rendszer helyes működését azonosítsa az esetleges hibákat, és elősegítse a minőség javítását. A tesztelési szintek segítenek abban, hogy a rendszer rétegekre bontva, lépésről lépésre ellenőrizzük. Az alábbiakban áttekintjük a tesztelés legfontosabb szintjeit. 1. Unit teszt: Egyes függvények, metódusok tesztelése. Célja, hogy egy kisebb egység (pl. egy metódus vagy osztály) működését verifikálja. 2. Modul vagy komponens teszt: Több, összefüggő unit tesztet foglal magában. Különböző osztályok vagy metódusok integrálása. 3. Integrációs teszt: Két vagy több modult, rendszert tesztel, hogy biztosítja-e az együttműködését. 4. Rendszerteszt: Az egész rendszer működését vizsgálja, teljes funkcionalitással. 5. Átvételi teszt: A végfelhasználó által elfogadott teszt, amely az üzleti igényeket validálja. Unit teszt (Egységteszt) Célja: - Egy adott kód egység (pl. függvény, osztály vagy metódus). - Az egység izolált vizsgálata, hogy az önállóan helyesen működik-e. Jellemzők: - Fejlesztő által írt tesztek. - Általában automatikusan futtatott tesztek. - Segítenek a hibák gyors azonosításában, és csökkentik a későbbi tesztelési költségeket. Eszközök: - C# esetén népszerű keretrendszer az Nunit -, xUnit vagy MSTest. Modul vagy komponens teszt Célja: - Egy modul vagy komponens letesztelése (amely több egységet foglal magában). - Az egységek közötti kapcsolat és a modul helyes működésének ellenőrzése. Jellemzői: - Több egységből álló részegységeket vizsgál. - Izolált, a többi modultól független tesztelése törekszik. - Különösen fontos az objektumorientált rendszerekben. Integrációs teszt Célja: - Több komponens vagy modul együttműködésének tesztelése. - Biztosítja, hogy a különböző részek helyesen kommunikálnak egymással. Jellemzői: - Nem izolált, hanem több komponens együttes vizsgálatát jelenti. - Külső rendszerek vagy adatbázisok is bevonhatók. Eszközök: - Mocking keretrendszerek használata, mint a Moq vagy NSubstitue. Rendszerteszt: Célja: - A teljes rendzser együttes vizsgálata a felhasználói követelmények alapján. - Annak ellenőrzése, hogy a rendszer az elvárt funkciókat teljesíti. Jellemzői: - A tesztkörnyezet hasonlít az éles környezethez. - Funkcionális és nem funkcionális teszteket egyaránt tartalmaz (pl. teljesítmény, biztonság). Eszközök: - Selenium (automata tesztekhez webes környezetben) - JMeter (teljesítményteszteléshez) Átvételi teszt (Acceptance test) Célja: - Annak biztosítása, hogy a rendszer megfelel az üzleti követelményeknek és a felhasználói elvárásoknak - A fejlesztés befejezésének hivatalos felvétele. Jellemzői: - Üzleti szakértők vagy végfelhasználók végezhetik. - Az éles környezetben történő működés próbája. Típusai: - Felhasználó átvételi teszt (User Acceptance Testing, UAT): Végfelhasználók végzik. - Szerződéses teszt: Üzleti szerződéses felek ellenőrzése. - Regressziós teszt: Biztosítja, hogy a frissítések ne okozzanak hibát a rendszerben. A tesztelési szintek kapcsolata: A tesztelési szintek hierarchiája biztosítja, hogy a rendszer fejlesztése során fokozatosan kerüljenek feltárásra és javításra a hibák: 1. Unit tesztek az alapok: gyorsak, izoláltak, kicsik. 2. Modul tesztek kiterjedtebbek, több függvényt vizsgálnak. 3. Integrációs tesztek az együttműködést ellenőrzik. 4. endszertesztek a teljes rendszer működését vizsgálják 5. Átvételi tesztek biztosítják a végső átvizsgálást.