Tesztelési és hibakeresési projektek

Molnár Beáta (2022) Tesztelési és hibakeresési projektek. Pénzügyi és Számviteli Kar.

[thumbnail of Tesztelési és hibakeresési projektek_Molnár_Beáta.pdf] PDF
Tesztelési és hibakeresési projektek_Molnár_Beáta.pdf
Hozzáférés joga: Csak nyilvántartásba vett egyetemi IP címekről nyitható meg

Download (1MB)
[thumbnail of BA_O_Molnár_Beáta.pdf] PDF
BA_O_Molnár_Beáta.pdf
Hozzáférés joga: Csak nyilvántartásba vett egyetemi IP címekről nyitható meg

Download (267kB)

Absztrakt (kivonat)

A szoftvertesztelés egy összetett és bonyolult folyamatnak mondható, egy tesztelő egész életében tanul, sosem ismeri meg teljesen a szakma minden részét. Egy projekt elindulása esetén minden esetben tanulmányozni kell, hogy pontosan milyen célja van annak, milyen termékre van szükség, mi a szoftver hatóköre és milyen feladatokat kell, hogy teljesítsen, milyen célunk van vele. A szoftver előállításának folyamatában első lépésként a követelmények megértése a legfontosabb. Ezeket a követelményeket a követelmény specifikációban kell meghatározni. A szoftver elkészültének lényegi része a fejlesztők kezében van. Ők azok, akik lekódolják a szükséges szoftvert. A szoftver kódolása után nem adhatjuk ki azt. Teszteléssel kell megbizonyosodni arról, hogy a szoftver működőképes, a követelményeknek megfelelő, illetve ki kell szűrni a lehetséges hibákat. Csakis a tesztelés után történik a szoftver átadása az ügyfél részére. A tesztelés fázisa után a karbantartás is fontos szerepet játszik, mivel a szoftver egyes moduljai elavulhatnak, új igények merülhetnek fel a működéssel kapcsolatba. Ebben az esetben a folyamat elölről indul. Kezdetnek a szoftverek fejlesztését lineárisan, a vízesés modell szerint végezték, azonban ez elavulttá vált napjainkra, az egyre összetettebb és bonyolultabb szoftverek iránti igény megjelenésével. Így alakult ki az agilis módszertan. Az agilis módszertan biztosítja a gyors és hatékony szoftverfejlesztést. Az agilis gondolkodás elengedhetetlen előfeltétele, hogy a célok egyértelműen legyenek definiálva. Az agilis szoftverfejlesztés során a szoftverből több verzió is készül. A projektet több részre bontják, majd mindegyik részhez készül egy termékverzió. Az agilis módszertannak több típusa is van. Ezek közül néhány ismertebb: scrum, lean, kanban. Ahhoz, hogy eldöntsük melyik módszertan használata a legeredményesebb a projektnek, alaposan meg kell vizsgálni a vállalati célokat. Egy szoftver tesztelését a vállalaton belül felállított tesztelői csapat végzi. A csapatban különböző szerepkörök vannak, ezeket minden vállalat magának határozza meg. Ilyen szerepkörök lehetnek: tesztmenedzser, QA tesztelő, QC tesztelő, tesztelemző, tesztautomatizáló stb. Minden tesztelőnek a feladatának megfelelő tudással kell rendelkeznie. Ide tartozik az is, hogy a tesztelés alapelveit minden tesztelőnek ismernie kell. A tesztelés alapelveit az ISTQB (International Software Testing Qualifications Board) fektette le, amely egy nemzetközi szinten működő szoftverteszt-tanúsító testület. A tesztelést a szoftver több szintjén lehet végezni. Ezek a szintek a következők: egység tesztelés, integrációs tesztelés, rendszer tesztelés, elfogadási teszt. Egység teszt során a szoftverkódot különböző részletekre, egységekre szedik. Ezeket az önállóan működő egységeket pedig tesztelik. Az integrációs tesztelés az egység tesztelés ellentéte, ugyanis itt az egész programkódot egyben nézzük, nem szedjük külön részletekre, egységekre. Ezen a szinten jelenik meg a funkcionális és a nem funkcionális tesztelés. Itt kell a teszteket ezekre a típusokra elosztani. A rendszer tesztelés során a szoftver egyes részeit egyesítik, így a teljes rendszer kerül tesztelésre. Az elfogadási tesztet utolsó tesztként végezzük, akkor, amikor már minden más tesztelést elvégeztünk. Ez az egyetlen teszt, amelyet a felhasználó vagy ügyfél végez. Az elfogadási teszttel ellenőrizhető, hogy a szoftver megfelel-e a specifikációban vagy követelményben leírtaknak. A szoftver tesztelésének elkezdésekor mindig meg kell határozni a tesztelés típusát. A típus attól függ, hogy milyen szoftverről van szó, annak pontos tanulmányozása elengedhetetlen a tesztelési folyamat elkezdése előtt. A tesztelés típusától függően megkülönböztetünk funkcionális és nem funkcionális teszteket. Funkcionális teszteket futtatunk azért, hogy ellenőrizzük a szoftver egyes részeit, funkcióit, azok működését. Nem funkcionális tesztekkel pedig megnézzük, hogy ezek a funkciók hogyan működnek. Funkcionális teszt például a komponens teszt, API tesztelés stb. A nem funkcionális tesztekhez tartoznak például a teljesítménytesztek, megbízhatósági tesztek. Tesztelési módszer alapján megkülönböztetünk statikus és dinamikus teszteket. A statikus tesztelési módszer a szoftver kódját a fordítási időben vizsgálja. Tehát a statikus tesztelési módszer alkalmazásánál nem kerül sor a szoftver futtatására. A statikus módszernek két fő típusa van: felülvizsgálat (review) és statikus elemzés. A felülvizsgálat a forráskód vizsgálatát jelenti. Tehát ez egy fehérdobozos tesztelés, mivel alkalmazása során szükség van a forráskódra. Kiszűri azokat a hibákat, amelyek a szoftver tervezése során kerültek be a programkódba. Statikus elemzés során pedig a forráskódot szoftverekkel nézetjük át. Ez egy automatikus folyamat. A dinamikus tesztelési módszerek közé tartozik a feketedobozos -, fehérdobozos - és szürkedobozos tesztelés.  A feketedobozos tesztelés egy funkcionális tesztelés, amely specifikáció alapú tesztelést jelent. Ezen tesztelési módszer alkalmazása során tehát a tesztelő nem ismeri a szoftver forráskódját, belső felépítését, csupán az ügyfél által megfogalmazott követelményeket, a specifikációt használja. A feketedobozos technikák közé tartozik a döntési tábla tesztelése, határérték elemzés, ekvivalencia-particionáló tesztelés, állapotátmenet tesztelés stb.  A fehérdobozos (white-box) tesztelést strukturális tesztelésnek is nevezik. A technika lényege, hogy a teszteseteket a forráskód alapján készítik a tesztelők. Tehát itt szükség van a forráskód megértésének képességére. Fehérdobozos tesztelési technika az utasítás szintű tesztelés, útvonal tesztelés, döntés alapú tesztelés stb.  A feketedobozos és fehérdobozos tesztelések egyesítésének terméke a szürkedobozos tesztelés. Ez azt jelenti, hogy a kód részleges ismeretében valósul meg a tesztelés. Ilyen tesztelés a mátrix tesztelés, regressziós tesztelés, mintatesztelés stb. A tesztelést végrehajthatjuk manuálisan, azonban már automatizált teszteléssel is segíthetjük a folyamatot. A kézi vagy manuális tesztelés a tesztesetek automatizmus nélküli végrehajtását jelenti. Az automatizálási tesztelés a szoftver tesztelésének egy technikája, amely automatizált módszerekkel hajt végre egy tesztesetekből álló csomagot. Az automatizmussal való tesztelés kezdetben költséges, azonban hosszútávon kifizetődő, költséghatékony módszer. A tesztelés folyamatának első lépése a tesztterv elkészítése. A tesztterv egy olyan dokumentum, amely leírja a szoftver céljait, tartalmaz minden eljárást, amelyet a tesztelés során alkalmazunk, meghatározza a tesztelési stratégiát, az erőforrásokat. A tesztterv elkészítése előtt ismerni kell a szoftver alkalmazási területét, illetve azt, hogy milyen követelmények vannak azzal kapcsolatban. A tesztelés végrehajtásának elengedhetetlen előfeltétele a tesztelés pontos menetének leírása lépésről-lépésre. Ezeket a leírásokat nevezzük teszteseteknek. A tesztesetek a teszttervben kerülnek leírásra. Ezek alapján a leírások alapján végzik a tesztelők a feladatukat. A tesztesetek pontos leírást adnak a tesztelendő részletről, a bemenetekről, illetve arról, hogy a tevékenység elvégzése után mely eredmény nevezhető sikeresnek, ez az elvárt eredmény. Miután a tesztelés végrehajtása befejeződött, a tesztelés kiértékelése következik. A kiértékelés során összehasonlítjuk a tesztesetekben megfogalmazott elvárt eredményt és a dokumentált tényleges eredményt. Ezután a hibák javítása a fejlesztők feladata. A dolgozatban összefoglalt tények és állítások alapján következtethető, hogy tesztelés nélkül nem képes egy szoftver sem létezni. A tesztelés létfontosságú része a szoftveriparnak.

Intézmény

Budapesti Gazdasági Egyetem

Kar

Pénzügyi és Számviteli Kar

Tanszék

Gazdaságinformatika Tanszék

Tudományterület/tudományág

NEM RÉSZLETEZETT

Szak

Gazdaságinformatikus

Konzulens(ek)

Konzulens neve
Konzulens típusa
Beosztás, tudományos fokozat, intézmény
Email
Dr. Baják Imre
Belső
főiskolai docens; Gazdaságinformatika Tanszék; PSZK
Huzinecz Erik
Külső
NEM RÉSZLETEZETT
NEM RÉSZLETEZETT

Mű típusa: diplomadolgozat (NEM RÉSZLETEZETT)
Kulcsszavak: hibakeresés, szoftverkészítés, szoftvernyilvántartás, szoftvertesztelés, tesztelés
SWORD Depositor: Archive User
Felhasználói azonosító szám (ID): Archive User
Rekord készítés dátuma: 2022. Nov. 11. 08:13
Utolsó módosítás: 2022. Nov. 11. 08:13

Actions (login required)

Tétel nézet Tétel nézet