A szoftvertesztelésről általában

A szoftvertermék egyik fő jellemzője a minőség – gyakran egy-egy projekt kiértékelésének elsődleges szempontja a végtermék minősége. A projekt nem tekinthető lezártnak, amíg a felhasználó elégedetlen a kézhez kapott termékkel, hibákkal szembesül, vagy a végeredmény nem felel meg az előzetes elvárásoknak. Így a projekt még mindig értékes fejlesztői és üzleti erőforrásokat köt le, sőt a támogatási és garanciális költségvetéséből is jókora hányadot követel.

Ugyanakkor a minőségi tényezők meghatározása nem egyszerű. Egy-egy termékkel életciklusa során sokan kerülnek kapcsolatba (a szakértőtől a „laikus” felhasználóig), és mindannyian más-más szemszögből ítélik meg. A minőség mutatóinak egy részét nehéz, másokat egyenesen lehetetlen számszerűsíteni. A minőségellenőrzés (Quality Control) szabványai és eljárásai épp azt a szakszerű perspektívát biztosítják, amelyből a fő minőségbiztosítási tényezők számszerűsíthetően vizsgálhatóak. Amíg a tágabban meghatározott minőségbiztosítás (Quality Assurance) a tervezéstől a fejlesztésen, a kivitelezésen, a telepítésen és a szervizen át a dokumentálásig minden munkafázisra kiterjed, a Newnet szigorúan folyamat- és termékorientált minőségellenőrzési szolgáltatásokat kínál, amelyek bármely fejlesztési vagy tesztelési projektbe beilleszthetők.

Több munkatársunk is megszerezte az Minősített tesztelők ISTQB Certified Tester címet, az International Software Testing and Qualification Board nevű szoftvertesztelői világszervezet minősítését. E minősítési eljárást és címet világszerte a szoftvertesztelő szakemberek minősítési szabványaként ismerik el.

Miért van olyan nagy szükség a szoftvertesztelésre?

A tesztelés költsége tervezhető – szemben a garanciális javítások terhével, az felmerülő hibák által okozott károkkal. Minél később derül fény egy hibára, annál költségesebb a javítása, míg a tesztelés során felderített hibák javításának költségei minimalizálhatók. Mi több, a váratlan költségtételekhez gyakran komoly erkölcsi veszteség is társul.

Szoftverfejlesztési folyamat összehasonlítása
Tesztelés nélül Tesztelési folyamat társításával
A szoftverfejlesztési folyamatról nincs visszajelzés. A szoftverfejlesztési folyamat:
  • Minősége mérhető
  • Az esetleges hibák jól feltérképezhetők
  • Majd ez alapján javíthatóak
Az átadott alkalmazás minőségéről nincsenek pontos információk. Az átadott alkalmazás minőségéről az átadásig objektív és egzakt kép alakul ki.
Az átadás után, a vásárlónál, a tényleges használat során előkerülő súlyos hibák kézzelfogható veszteséget okoznak. Már az átadás előtt az alkalmazás számos hibájára fény derül, és kijavításukra is van lehetőség.
Minél később derül fény egy hibára, annál költségesebb kijavítani. A tesztelés során felderített hibák kijavításának költsége minimalizálható.

Szoftvertesztelés fontossága. A hibajavítás várható költsége diagram
Hibajavítás várható költsége a fejlesztési fázis előrehaladtával.

Rendszerteszt (System Testing)

Egy új alkalmazás funkciói vagy egy létező alkalmazáshoz fejlesztett új funkciók rejthetnek hibákat. A rendszerteszt célja, hogy ezeket még az átadás előtt felderítse. A tesztelés a funkcionális és a technikai specifikációt veszi alapul, ezekhez viszonyítva verifikálja az alkalmazást.

Regressziós teszt (Regression Testing)

Egy alkalmazás új verziójának fejlesztése során már létező, kipróbált funkciók is sérülhetnek. A regressziós teszt az alkalmazás alapfunkcióinak, valamint a fejlesztés során esetlegesen érintett területek működőképességét ellenőrzi.

Felhasználói tesztelés (User Acceptance Testing, UAT)

E tesztek azt ellenőrzik, hogy az alkalmazás megfelel-e a lefektetett üzleti követelményeknek. Végrehajtása a felhasználóra (az ügyfélre) hárul, a tesztelő csapat a munkafázis megszervezésében és előkészítésében vállal szerepet, a tesztelés során pedig szakmai és technikai támogatással áll a felhasználó rendelkezésre.

Terméktámogatási tesztelés (On-going Support)

Azonnali hibajavítások működőképességének ellenőrzése tesztkörnyezetben, még mielőtt azokat a működési szoftverkörnyezetben is telepítenék. Alkalmazásával megelőzhetőek egy esetleg rosszul, vagy egyáltalán nem működő hibajavítás miatt fellépő további károk.