Szoftverellenőrzési technikák - Segédanyagok

Félév: 2012. ősz
Cím Egyedi szöveg
EA09: Automatikus tesztfuttatás, build keretrendszerek
GYAK04: Struktúra alapú tesztelés



  • Kód lefedettség mérése


  • Modulok izolált tesztelése


EA10: Modell alapú tesztelés
EA11: Felhasználói felületek tesztelése. Profiling.
EA12: Robusztusság tesztelés, hibainjektálás
EA13: Ipari tapasztalatok (Lantos Péter vendégelőadása)
Félév: 2011. ősz
Cím Egyedi szöveg
EA01: Alapok

Az előadás tartalma:

  • Motiváció
    • Milyen minőségi igények vannak a szoftverrel szemben?
    • Miért olyan nagy a szoftver ellenőrzési technikák jelentősége?
  • A verifikáció és validáció technikái (áttekintés)
    • Milyen tipikus technikák vannak?
  • Fejlesztési életciklus modellek
    • Milyen szerepet kapnak a tipikus technikák az egyes fejlesztési folyamatokban?
  • Fejlesztési szabványok szerepe
    • Hogyan valósul meg a szisztematikus ellenőrzés?

 

EA02: Követelmények kezelése és a specifikáció ellenőrzése

Az előadás tartalma:

  • Motiváció
    • Miért fontosak a tervezési folyamat ezen szakaszai?
    • Milyen elvárások vannak a specifikációval szemben?
    • Milyen módszerei vannak a specifikáció készítésnek?
  • Az általános követelménykezelés feladatai
    • Követelmények nyilvántartása
    • Követhetőség a verifikációhoz
  • Félformális specifikáció
    • Specifikus technikák: SysML
  • A követelményspecifikáció verifikációja
    • Általános kritériumok
    • Specifikus kritériumok UML állapottérképekre (mintapélda)

 

EA03: Architektúra tervek ellenőrzése

Az előadás tartalma:

  • Motiváció
    • Mit határoz meg az architektúra?
    • Milyen vizsgálati módszerek vannak?
  • Követhetőség
  • Szisztematikus vizsgálati módszerek
    • Interfész analízis
    • Hibahatás analízis
  • Modell alapú vizsgálatok
    • Megbízhatósági modellezés
    • Teljesítmény modellezés
  • Architektúra trade-off analízis

 

GYAK01: Gyakorlat és házi feladat ismertető

A gyakorlat témája:

  • Gyakorlatok témája és időpontja
  • Házi feladat követelmények
  • Háttér infrastruktúra ismertetése
  • Hibakezelés, Trac

 

GYAK02 - Követelménykezelés
EA04: Részletes tervek ellenőrzése

Az előadás anyaga:

  • Áttekintés
    • Milyen szerepe van a részletes terveknek?
    • Milyen ellenőrzési módszerek vannak?
  • Modellellenőrzés
    • Kimerítő (teljes) technikák
    • Korlátos modellellenőrzés
    • UML állapottérképek modellellenőrzése
  • Ekvivalencia ellenőrzés
    • Trace ekvivalencia
    • Megfigyelési ekvivalencia (gyenge biszimuláció)
    • Egy rendezési reláció a lehetséges viselkedés szerint
    • Mintapélda: Hibatűrés verifikációja


 

EA05: A forráskód ellenőrzése

Az előadás tartalma:

  • Áttekintés
    • Milyen a jó forráskód?
    • Kódolási szabályok
    • Forráskód metrikák
    • Milyen ellenőrzési módszerek vannak?
  • Statikus analízis eszközök
    • Hibaminta keresők
    • Bővíthető eszközök
  • Dinamikus tulajdonságok vizsgálata statikus analízissel
    • Absztrakt interpretáció


 

EA06: A tesztelés alapjai

Az előadás tartalma:

  • A tesztelési alapfogalmak áttekintése

 

GYAK03 - A részletes tervek és a forráskód ellenőrzése

A gyakorlat témája:

  • Részletes tervek ellenőrzése
    • Modellellenőrzés
  • Forráskód ellenőrzés
    • PMD
    • FindBugs
EA07a: Specifikáció alapú teszttervezési módszerek

Az előadás tartalma:

Módszerek:
1. Ekvivalencia particionálás
2. Határérték-analízis
3. Ok-hatás analízis / Döntési táblák
4. Kombinatorikus módszerek
5. Véges automata alapú
6. Használati eset tesztelés

 

EA07b: Struktúra alapú teszttervezési módszerek

Az előadás tartalma:

  • Vezérlési folyam alapú kritériumok
    • Utasítás lefedettség
    • Döntési ág lefedettség
    • Feltétel lefedettségek
    • Útvonal lefedettség
  • Adatfolyam alapú kritériumok
    • Definiálás – használat fedettségek
    • Definíciómentes útvonalak fedettsége
  • Összefoglalás
    • Módszerek kombinációja
    • Teszt fedettség mérése
       
EA08: Tesztelési fázisok

Az előadás tartalma:

  • Modul / unit tesztelés
  • Integrációs tesztelés
  • Rendszer tesztelés
  • Elfogadás tesztelés
  •  
  • Tesztek leírása: U2TP

 

GYAK04 - Specifikáció alapú tesztelés
EA09: Automatikus teszt futtatás
EA10: Modell alapú tesztelés

Az előadás tartalma:

  • Motiváció
    • Modellek (informális) szerepe a tesztelésben
    • Modell alapú tesztgenerálás
  • Tesztgenerálás fedettségi kritériumokhoz
    • Direkt algoritmusok
    • Modellellenőrzők használata
    • Tesztgenerálás korlátos modellellenőrzéssel
  • Tesztgenerálás hibamodellek alapján
    • Modell mutációk
    • Ekvivalencia relációk tesztgeneráláshoz
  • Eszközök a tesztgeneráláshoz

 

GYAK05 - Struktúra alapú tesztelés
EA11: Speciális ellenőrzési feladatok

Az előadás tartalma:

Felhasználói felületek tesztelése

  • Motiváció
    • Kihívások a GUI tesztelés során
    • Teszt típusok
  • Operátorok tesztelése
    • GUI modell
    • Scenario alapú tesztelés
  • Állapotgép alapú tesztelés
    • GUI modell
    • Tesztgenerálás fedettségi kritériumok alapján
  • Teszt automatizálás
    • Példák

Futásidő és memóriahasználat monitorozása (profiling)

  • Motiváció
    • Célkitűzés: Belső működés analízise
  • A profiling általános problémái
    • Felműszerezés, triggerelés, regisztrálás
    • Szoftver és hardver monitorozás
  • Futásidő profiling
    • Teljesítményproblémák felderítése
  • Memóriahasználat profiling
    • Memóriaproblémák proaktív monitorozása


 

EA12: Robusztusság és hibakezelés ellenőrzése

Az előadás tartalma:

Robusztusság tesztelés

  • Definíciók
    • Robusztusság
  • Robusztusság tesztek
    • Teszt bemenetek
    • Teszt eredmények értékelése
  • Jellegzetes teszt eszközök
    • Ballista
    • JCrasher
  • Mintapélda
    • SA Forum AIS API robusztusság tesztelése

Hibainjektálás

  • Motiváció
  • A hibainjektálás megvalósítása
    • Hardver hibainjektálás
    • Szoftver hibainjektálás
    • Modell alapú hibainjektálás
  • A hibainjektálás tervezése
    • Hibamodellek
    • Absztrakciós szintek
    • A végrehajtás szempontjai
    • Eredmények kiértékelése

 

EA14: Karbantartási feladatok és egy rendszertesztelés mintapélda

Az előadás tartalma:

Karbantartás:

  • A karbantartás tervezése
    • Dokumentáció
  • Alkalmazható technológiák
    • Statikus szeletelés
    • Dinamikus szeletelés

Egy rendszertesztelés mintapélda:

  • A SAFEDMI rendszer
    • Célkitűzések
    • Hardver architektúra
    • Szoftver architektúra
  • Rendszertesztelés
    • ERTMS funkciók
      • Robusztusság tesztelés
    • Belső biztonsági mechanizmusok
      • Célzott hibainjektálás
    • Vezeték nélküli kommunikáció
      • Scenario alapú tesztelés

 

Tartalom átvétel