Egy három részes sorozat keretein belül szeretnénk ismertetni a szoftvertesztelés alapjait. Lesz szó definiíciókról, eszközökről, módszerekről és sok egéb érdekességről. Az első részében megismerkedünk a szoftverteszteléshez kapcsolodó legfontosabb fogalmakkal. Lássunk is neki!

2017- ben több mint 75 000 applikáció jelent meg az AppStore-on, és ez a szám nem egyezik meg a hozzájuk jóváhagyásra beküldött applikációk számával, ami ennek a többszöröse.

Azt hiszem kimondhatjuk, hogy egyre nagyobb kihívást jelent felkelteni és megtartani a felhasználók figyelmét, akik egyre kevésbé toleránsak a szoftverhibákkal kapcsolatban.

Az egyre növekvő elvárásokkal párhuzamosan nő a szoftvertesztelés fontossága. A tesztelés legfőbb célja bizonyosságot szerezni a rendszer minőségi állapotáról, hibákról, kockázatokról,  elegendő információt gyűjteni a döntés hozatalhoz.

Itt joggal állunk meg egy pillanatra, hogy mit is kell eldönteni? Például azt, hogy egy új applikáció készen áll-e arra, hogy nyilvánosságra hozzuk.

Alapfogalmak

A szoftvertesztelés definíciója: A szoftvertesztelés a szoftverminőség-biztosítás és így a szoftverfejlesztés részét képezi. A tesztelés egy rendszer vagy program kontrollált körülmények melletti futtatása, és az eredmények kiértékelése.

Teszteset (test case) – Egy elvárás egy adott részének működését ellenőrző dokumentum. Nagyon pontosan leírt feltételek és inputok mellett nagyon pontosan leírt funkcionalitást és outputot vár az ellenőrzött szoftvertől.

Tesztkészlet (test suite) –  Egy adott funkcionalitást leíró test case-ek összessége..

Teszt - Orákulum (test oracle) –  A várt és az aktuális eredmények összehasonlítását támogató forrás. Teszt-orákulum lehet egy másik, benchmark-ként funkcionáló rendszer; lehet felhasználó kézikönyv, vagy akár egy személy speciális tudása is. A program forráskódja viszont nem lehet teszt-orákulum.

Eredmény (verdict) – Sikeres (pass), sikertelen (fail) – Nem meggyőző (inconclusive), hiba (error)

Hibakeresés (debugging) –  A szoftver meghibásodás okainak megtalálási, analizálási és eltávolítási folyamata.

Tesztfázisok

Nagy rendszerek tesztelése egy menetben nem lehetséges.

Az alábbi tesztelési fázisokat szokás megkülönböztetni:

  • Részegység teszt (unit test),
  • Modul teszt,
  • Alrendszer teszt (subsystem testing),
  • Rendszer teszt,  
  • Elfogadási teszt (acceptance testing).

Az elfogadási teszt szokásos elnevezése még az alfa teszt, a rendszer neve pedig alfa verzió. Ha a rendszer egyedi megrendelésre készül, ebben a fázisban általában a leendő felhasználó használja a rendszert, és gyakran a betanítás illetve a bevezetés kezdeti szakaszát is jelenti. A fázis végét az jelenti, ha a fejlesztők és a felhasználók egyetértésre jutnak abban, hogy a rendszer éles használatra alkalmas.

Ha a rendszer piaci terméknek készül, akkor gyakori a béta teszt fázis is. Ebben az esetben a leendő felhasználók egy korlátozott csoportja kapja meg a terméket, akik hajlandók használatba venni, és a használat közben tapasztalt hiányosságokat jelenteni a fejlesztőknek. Csak a jelentett hibák kijavítása után kerül a termék a szokásos csatornákon kereskedelmi forgalomba.

Folytatjuk :)

 

Legfrissebb bejegyzés

2018-11-23 Kiss Balázs

A szoftvertesztelés alapjai - Második rész

Három cikkből álló sorozatunk első részében sorra vettük a software tesztelés definícióját, alapfogalmakat és tesztfázisokat. Most pedig folytatjuk a tesztelési folyamat tervezésével, stratégiákkal, módszertannal.

Olvasás