Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Szoftvertesztelés

    A tantárgy angol neve: Software Testing

    Adatlap utolsó módosítása: 2021. április 24.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    BProf képzés, Üzemmérnök-informatikus szak
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIBB01 4 2/2/0/v 5  
    3. A tantárgyfelelős személy és tanszék Dr. Balla Katalin,
    4. A tantárgy előadója

    Sógorné Dr. Balla Katalin 

    Egyetemi docens

    Irányítástechnika és Informatika Tanszék (IIT)

    5. A tantárgy az alábbi témakörök ismeretére épít

    A programozás alapjai / Kódolás /( Szükséges legalább egy programozási nyelv ismerete)

    Szoftvertechnológia és -technikák

    6. Előtanulmányi rend
    Kötelező:
    Training.Code=("5N-A9") ÉS

    Szakirany("BPINteszt", _)

    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ó.

    Ajánlott:

    A tanterv részeként rögzített.

    7. A tantárgy célkitűzése

    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

     

    8. A tantárgy részletes tematikája

    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

    1.

    A tesztelés fontosságának felismerése esettanulmány alapján.

    2.

     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.

    5

    A különböző tesztelési szintekhez kapcsolódó dokumentumok vizsgálata.

    6

    A karbantartási teszt szükségességére utaló elemek felismerése esettanulmány alapján. Karbantartási teszt tervezése.

    7

    Szemle végrehajtása.

    8

    Határérték elemzés és ekvivalencia partíció alapú tesztek tervezése és végrehajtása

    9

    Állapot átmenet alapú tesztek tervezése és végrehajtása

    10

    Tesztek tervezése use -case alapon. 

    11

    Átfogó teszt terv készítése megadott feltételek alapján.

    12

    Teszt eredmények elemzése esettanulmányban.

    13

    Agilis tesztelési elemek alkalmazása a tesztek tervezésében.

    14

    A TMMi modell értelmezése egy esettanulmány alapján. A TMMi modellnek való megfelelés értékelése az esettanulmányban.

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    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.

    Igény esetén megszervezzük, hogy a Magyar Szoftvertesztelői Tanács a BME-n tartson ISTQB-CTFL vizsgát (magyar és / vagy angol nyelven). 
    10. Követelmények

    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

    0-39%: elégtelen.

    11. Pótlási lehetőségek -
    12. Konzultációs lehetőségek

    A tárgy oktatóinak konzultációs napján.

    13. Jegyzet, tankönyv, felhasználható irodalom

    -         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

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra56
    Félévközi készülés órákra16
    Felkészülés gyakorlatra
    28
    Házi feladat elkészítése0
    Önálló tananyag feldolgozás 10
    Vizsgafelkészülés40
    Összesen150
    15. A tantárgy tematikáját kidolgozta

    Sógorné Dr. Balla Katalin

    Egyetemi docens

    IIT