Belépés címtáras azonosítással
magyar nyelvű adatlap
Szoftvertesztelés
A tantárgy angol neve: Software Testing
Adatlap utolsó módosítása: 2021. április 24.
Sógorné Dr. Balla Katalin
Egyetemi docens
Irányítástechnika és Informatika Tanszék (IIT)
A programozás alapjai / Kódolás /( Szükséges legalább egy programozási nyelv ismerete)
Szoftvertechnológia és -technikák
A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.
A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.
A tanterv részeként rögzített.
Készség szintű tudás átadás a szoftvertesztelés folyamata, alapvető technikái, támogató eszközei és a tesztelés menedzsmentjének területén, ami alkalmassá teszi a tárgyat sikeresen elvégzőket a manapság egyre keresettebb tesztmérnöki munkakörbe való zökkenőmentes bekapcsolódásra. A gyakorlatok segítenek az elméleti tudás elmélyítésében.
A tárgy fő témakörei szerinti bontásban a következő tudásszinteket célozza meg :
A szoftvertesztelés fogalma, szükségessége, alapelvei
A tesztelés tipikus céljainak meghatározása - ismeret szint - K1
A tesztelés és a hibajavítás megkülönböztetése - megértés szint - K2
A tesztelés és minőségbiztosítás megkülönböztetése - megértés szint - K2
A tesztelés szükségességének felismerése, mások számára érthető megfogalmazása konkrét esettanulmány alapján - megértés szint - K2
A tesztelés 7 alapelvének ismerete - ismeret szint - K1
A tesztelés alapelveinek felismerése esettanulmányban - megértés szint - K2
A tesztelés alapfogalmai
Belső és külső hiba, emberi hiba, hibaok fogalmainak ismerete - ismeret szint- K1
Különbségtétel hibaok és hiba között - megértés szint - K2
A tesztelés pszichológiája
Annak felismerése, hogy miért fontos a hibák kommunikálási módja - megértés szint - K2
A szoftverfejlesztői és a tesztelői gondolkodásmód összehasonlítása, a különbségek megértése - alkalmazási szint - K3
Az alapvető szoftvertesztelési folyamat
A szoftvertesztelés tevékenységeinek felismerése (név szerint) - ismeret szint - K1
A szoftvertesztelési tevékenységek azonosítása az ismert szoftverfejlesztési életciklus modellekben - K2
Annak megértése, hogy a szoftvertesztelés tervezett, szisztematikusan végrehajtott, követett, mért tevékenységsorozat - megértés szint - K2
Szoftvertesztelési folyamat összeállítása klasszikus és agilis projektek esetében - konstrukciós szint - K4
Tesztelési szintek
A különböző tesztelési szintek megértése, a közöttük levő különbségek felismerése - megértés szint - K2
Regressziós és progressziós, valamint karbantartási teszt sajátos elemeinek felismerése - megértés szint - K2
A tesztelési folyamat alapvető dokumentumai
A tesztelés legfőbb dokumentumainak felidézése és az életciklusban való helyük ismerete -- ismeret szint - K1
Teszt terv és hibaleírás elemeinek ismerete- ismeret szint - K1
A szemlék fontossága
Szemlézésre alkalmas munkatermékek felismerése a tesztelési folyamatban - megértés szint - K2
A páros szemlék és inspekciók lépéseinek ismerete és alkalmazása - alkalmazási szint - K3
Dinamikus tesztelés
A dinamikus tesztelési technikák felidézése - ismeret szint - K1
Funkcionális tesztelés
Teszt esetek meghatározása határérték alapú technikával - alkalmazási szint - K3
Teszt esetek meghatározása ekvivalencia particiók alapján - alkalmazási szint - K3
Teszt esetek meghatározása állapot-átmenetek alapján - alkalmazási szint - K3
Teszt esetek meghatározása use-case alapon - alkalmazási szint - K3
Strukturális tesztelés
A strukturális alapon történő teszt tervezés elemeinek felidézése - ismeret szint - K1
A strukturális tesztek szerepének megértése a teszt lefedettség mérésében - megértés szint - K2
A tesztelés menedzsmentje
A tesztek tervezési, követési és vezérlési elemeinek felidézése - ismeret szint - K1
Tesztelés során alkalmazható becslési technikák felidézése - ismeret szint - K1
Szabványos teszt terv elkészítése - alkalmazási szint - K3
A hatékony tesztelési folyamat elemeinek felismerése - megértés szint - K2
A tesztelési folyamat mérőszámainak felismerése, értelmezése - megértés szint - K2
Teszt tervezés projekt- és termék - kockázatok alapján - alkalmazási szint - K3
A független tesztelői szervezet jellemzőinek felismerése - ismeret szint - K1
Tipikus , teszteléshez kapcsolódó konfigurációs elemek azonosítása - megértés szint - K2
Agilis tesztelés
Az agilis tesztelés sajátosságainak felidézése - ismeret szint - K1
Agilis tesztelési terv összeállítása - alkalmazási szint - K3
Agilis és hagyományos tesztelői csapat jellemzőinek összehasonlítása - alkalmazási szint - K3
A tesztelési folyamat fejlesztése
A TMMi modell elemeinek felidézése - ismeret szint - K1
A TMMi modell érettségi szintjeinek azonosítása esettanulmányban - alkalmazási szint - K3
A tesztelési folyamat érettségi szintjének felismerése - konstrukciós szint - K4
Fejlesztendő elemek azonosítása a tesztelési folyamatban - konstrukciós szint - K4
Az előadások tematikája:
Előadás
Előadás anyaga
1.
A szoftvertesztelés fogalma, szükségessége, alapelvei.
2.
A tesztelés alapfogalmai. Belső és külső hiba, emberi hiba, hibaok. A tesztelés pszichológiája.
3
Az alapvető tesztelési folyamat. A tesztelés helye a szoftverfejlesztési folyamatban.
4
Tesztelési szintek. A tesztelési folyamat alapvető dokumentumai.
5
Teszt típusok. Statikus tesztelés. Szemlék.
6
Dinamikus tesztelési technikák. Funkcionális és strukturális tesztelés.
7
Funkcionális tesztelési technikák: határérték tesztelés, ekvivalencia partíciók, döntési táblák.
8
Funkcionális tesztelési technikák: állapot-átmenet és use-case alapú tesztelés. A funkcionális tesztek tervezésének és futtatásának ráfordítása.
9
Strukturális tesztelési technikák: utasítás alapú, döntés alapú, adatfolyam alapú tesztelés. A tesztek lefedettsége. A strukturális tesztek tervezésének és futtatásának ráfordítása.
10
A tesztelés menedzsmentje. Tesztelés tervezése, követése, vezérlése. A tesztelői szervezet.
11
Kockázatkezelés, konfigurációkezelés, mérés a tesztelés szolgálatában.
12
Tesztelési stratégia kialakítása egy szoftvercégnél. A hatékony tesztelési folyamat. A tesztelési folyamat mérése, elemzése és folyamatos fejlesztése. A tesztelés értéke és költsége.
13
Az agilis tesztelés elemei. Az agilis tesztelés és a hagyományos tesztelés kapcsolata. Agilis tesztelési módszerek.
14
A tesztelési folyamat fejlesztése. A TMMi modell. TMMi agilis környezetben.
A gyakorlatok (laborok) tematikája:
Gyakorlat
Gyakorlat anyaga
A tesztelés fontosságának felismerése esettanulmány alapján.
A hibák megtalálása, a kommunikálás fontossága.
3 - 4
Szoftvertesztelési folyamat összeállítása alapelemekből, klasszikus és agilis projektek esetében.
A különböző tesztelési szintekhez kapcsolódó dokumentumok vizsgálata.
A karbantartási teszt szükségességére utaló elemek felismerése esettanulmány alapján. Karbantartási teszt tervezése.
Szemle végrehajtása.
Határérték elemzés és ekvivalencia partíció alapú tesztek tervezése és végrehajtása
Állapot átmenet alapú tesztek tervezése és végrehajtása
Tesztek tervezése use -case alapon.
Átfogó teszt terv készítése megadott feltételek alapján.
Teszt eredmények elemzése esettanulmányban.
Agilis tesztelési elemek alkalmazása a tesztek tervezésében.
A TMMi modell értelmezése egy esettanulmány alapján. A TMMi modellnek való megfelelés értékelése az esettanulmányban.
A tárgy oktatása során arra törekszünk, hogy a hallgatók a valós szoftvertesztelői problémákkal találkozzanak. Az előadások keretében is sok, valós gyakorlatból származó példát ismertetünk. Tervezünk legalább egy alkalommal vendég-előadót is meghívni, aki aktív szoftvertesztelő.
A gyakorlatokon a hallgatók mindegyikét bevonjuk a munkavégzésbe. Minden gyakorlaton 3-5 fős csoportokban kell - az előzőekben elhangzott elméleti előadásokhoz kapcsolódó - feladatokat megoldaniuk, majd a gyakorlat végén minden csoport bemutatja eredményét a többieknek. A félév során minden hallgató sorra kerül bemutatás tartásában, ilyenformán felkészítjük a hallgatókat arra, hogy tesztelőként rendszerezzék és kommunikálják álláspontjukat (mely attitűd különbözik a szoftverfejlesztőétől).
A tárgyat sikeresen abszolválók, valamint Tesztelés és üzemeltetés specializáció 5. félévében sorra kerülő Tesztelés és üzemeltetés labort abszolválók felkészültek lesznek az ISTQB alapszintű (ISTQB-CTFL) letételére.
A szorgalmi időszakban:
Aktív részvétel a csoportos gyakorlatokon. A gyakorlatok eredményének bemutatása (csoportonként) a gyakorlat végén.
A bemutatott gyakorlatokra külön pontszámot nem adunk; a gyakorlat eredménye: „teljesített" / „nem teljesített".
A félév végi aláírás feltételei:
A gyakorlatok legalább 2/3-ának- elvégzése (jelenlét a gyakorlaton + eredmények bemutatása, azaz a gyakorlat „teljesített" státusza).
A vizsgaidőszakban:
A vizsgaidőszakban írásbeli vizsgát tartunk.
Az osztályzat megállapításának módja:
A vizsgán elérhető pontszámok alapján számoljuk az érdemjegyet:
85%-100% jeles
70%-84%: jó
55%-69%: közepes
40%-54%: elégséges
A tárgy oktatóinak konzultációs napján.
- A tárgy honlapján megtalálható diák
- International Software testing and Qualifications Board -aktuális dokumentumok - www.istqb.org
- D. Graham, E. van Veenendaal, I. Evans, R. Black: Foundation of Software Testing: ISTQB Certification, Cengage Learning Inc., 2007
- B. Hambling (ed.), P. Morgan, A. Samaroo, G. Thompson, P. Williams - Software Testing: An ISEB Certified Foundation Guide 3rd Edition, BCS, 2015
- P.C. Jorgensen: Software Testing: A Craftsman's Approach 4th Edition, CRC Press, 2014
- Certified Tester Foundation Level Extension Syllabus Agile Tester. Version 2014. www.istqb.org
- Test Maturity Model integration (TMMi) - https://www.tmmi.org/wp-content/uploads/2016/09/TMMi.Framework.pdf
- Erik van Veenendaal and Jan Jaap Cannegieter: The Little TMMi - Objective-Driven Test Process Improvement, 2011, UTN Publishers, Den Bosch, The Netherlands
- TMMi in the Agile world. https://www.tmmi.org/wp-content/uploads/2018/05/TMMi-in-the-Agile-world-V1.1.pdf
IIT