Szoftverellenőrzési technikák (VIMIM148) Gyakorlat és házi feladat tájékoztató Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Szoftverellenőrzési technikák Előadás o Problémák, módszerek, technológiák megismerése Gyakorlat o Kis mintapéldákon technológia kipróbálása Házi feladat o Komplex(ebb) alkalmazáson a tanultak alkalmazása Vizsga o Ismeretek rendszerezése 2
Gyakorlatok Követelmények és tervek ellenőrzése o Átvizsgálás, követelmény-kezelők (DOORS) Részletes tervek és forráskód ellenőrzése o Statikus ellenőrzők (FindBugs, PMD) Fejlesztői tesztelés o Teszt végrehajtás, izoláció (JUnit, Mockito) Teszttervezés o Technikák, kódfedés (CodeCover, ACTS) Automatikus tesztelés o Kód alapú tesztgenerálás (PEX) 3
Házi feladat 4 iteráció gyakorlatokkal egyező téma o HF1: Követelmények ellenőrzése o HF2: Forráskód ellenőrzés o HF3: Fejlesztői tesztelés o HF4: Teszttervezés és integrációs tesztelés 3 fős csapatok o Mindenki minden iterációban dolgozzon Részfeladatok folyamatosan kerülnek ki (előadásokkal és gyakorlattal szinkronizálva) 4
Házi feladat értékelése Határidő után a feltöltött anyagokat megnézzük Értékelési szempontok: o teszt kód/dokumentáció minősége is! (dokumentáció, kód stílusa ) Szóbeli értékelés (közös): következő gyakorlaton Írásos értékelés (csapatonként): o csapat trac wikire kerül fel o eredmény 0,3-as súllyal számít a végleges jegybe o csapaton belüli eltérés csak ha a csapat külön kéri (!) 5
Gyakorlat és házi feladat ütemezése Hét Dátum Gyakorlat Kiadás Beadás Értékelés 3 09.25. 4 10.02. GYAK1 HF1 5 10.09. 6 10.16. GYAK2 HF2 HF1 7 10.23. 8 11.30. GYAK3 HF3 HF2 HF1 9 11.06. 10 11.13. GYAK4 HF4 HF3 HF2 11 11.20. 12 11.27. GYAK5 HF4 HF3 13 12.04. 14 12.11. GYAK6 HF4 6
Házi feladat alkalmazás A házi feladat egy egyszerű webes könyváruház rendszer (BookStore) vizsgálata o A rendszer felhasználói a könyvek böngészése után azokat össze tudják válogatni egy virtuális kosárba, o majd meg tudják vásárolni a kiválasztott könyveket. Adminisztráció o Szerzők, könyvek, példányok létrehozása o Felhasználói csoportok és kedvezmények létrehozása Vásárlás 7
Használati esetek: Házi feladat alkalmazás
Házi feladat jellemzői Hasonló jellegű az MDSD/SzolgInt házi feladathoz Más szemszögből: o tavaly kimaradt, illetve kevésbé hangsúlyos lépések Mi adjuk: o leírás, specifikáció o OSGi implementáció Ti készítitek: o átvizsgálás, ellenőrzés eredménye o forráskód javítások o teszt tervek, unit tesztek o rendszer teszt adatok, bug report, teszt jelentés 9
Háttér infrastruktúra SVN: o https://szet.inf.mit.bme.hu/svn /main_2014 csak olvasható, mi frissítjük folyamatosan /szet_1_2014 /szet_5_2014 Trac: o Enhanced wiki and issue tracking system for software development projects o https://szet.inf.mit.bme.hu/trac/ o Minden csapatnak külön 10
Előkészületek Cél: az infrastruktúra megismerése, kipróbálása Határidő: 2014. 09. 29. Feladatok: o saját SVN repository birtokba vétele, alap struktúra kialakítása o saját Trac birtokba vétele kezdőoldal kitöltése hibajegy felvitel kipróbálása, saját milestone-ok és komponensek definiálása 11
Incidensek kezelése Rövid áttekintés
Incidensek kezelése (incident mgmt) Incidens: bármi, ami vizsgálódást tesz szükségessé (Használják még: issue / bug / defect) Cél: o Definiált folyamata legyen az incidensek kezelésének o Incidensek állapotát lehessen követni Nem csak kód (lehet dokumentáció, terv )! 13
Jó incidensjelentés tulajdonságai Elég részletes, hogy a fejlesztő meg tudja találni a hiba okát Reprodukálható! Tipikus adatok: o Azonosító o Név, leírás o Bejelentés dátuma, bejelentő neve és elérhetősége o Komponens / rendszer pontos verziója, konfigurációja o Lépések a reprodukáláshoz o Elvárt eredmény + aktuális eredmény o Csatolt fájlok konfigurációs beállítások, példa kód, képernyőkép.. o Link kapcsolódó elemekhez (pl. teszt) 14
Incidens prioritása Tipikusan két jellemző alapján: o Fontosság / Sürgősség o Súlyosság / Hatás Kettő külön skálán mozog, pl. o Nagyon sürgős, de alacsony hatású: logón elgépelés o Kevésbé sürgős, de kritikus hatású: adott, ritka HW lefagyást okoz Tényleges priorizálást a projekt vezetőség végzi o Triage o Assigned / postponed / won t fix 15
Incidens életútja Adott környezethez kell szabni Egy lehetséges példa: o Accepted o Resolved <-> closed o reopened Lehetséges lezárások o fixed o postponed o by design o duplicate o not reproducible o 16
Példa: Incidens statisztikák Forrás: http://issues.apache.org
Egy egyszerű incidens kezelő rendszer: Trac 18
Trac Milestone Hibajegyek csoportosítása Timeline: hibajegy és source control változtatások A csapatok feladata testreszabni 19
Trac hibajegyek A csapatok feladata testreszabni o (component, workflow, priority, severity, version ) 20
Trac hibajegyek áttekintése 21
Trac hibajegyek története Javasolt: changeset link a javításról (ha van) 22
ISTQB International Software Testing Qualifications Board
International Software Testing Qualifications Board Nemzetközi szervezet (http://www.istqb.org) Minősítések, fogalom definíciók, tematikák (certification, glossary, syllabus) Ipari háttér Van magyar tagszervezete is (Hungarian Testing Board http://www.hstqb.com)
ISTQB vizsgák és tanúsítás forrás: http://www.istqb.org CT: Certified Tester (CTAL-hez 2 év, CTEL-hez 5 év gyakorlat kell a vizsgán túl) 25
ISTQB Foundation szint Forrás: http://istqb.org/certification-path-root/foundation-level/foundation-level-content.html 26
Mire jó az ISTQB tanúsítvány? 27
Miért érdekes ez most nekünk? A tárgyban a Foundation szint anyagát lefedjük Pár nap plusz tanulással letehető a CTFL vizsga Ha van érdeklődés, tartunk januárban felkészítést (A vizsga ára 35ezer Ft + ÁFA diákoknak) 28
Háttéranyagok
Mit érdemes már most beszerezni? IEEE szabványok (jelenleg elérhető!) o 24765-2010 Systems and SW engineering Vocabulary o 29148-2011 Requirements engineering o 29119 Software testing Part 1 Concepts and definitions Part 2 Test processes Part 3 Test documentation ISTQB o Foundation Level Syllabus (2011) o Glossary of Testing Terms HTB o Glossary / Kifejezésgyűjtemény (magyar fordítás)
Csoportbeosztás véglegesítése Körbeadott papíron véglegesíteni a beosztást
Technológiai háttér Eclipse, OSGi ismétlés
Amit érdemes átnézni Eclipse, plug-in szerkezet OSGi szolgáltatások Target platform Run configurations OSGi console Lásd: https://www.inf.mit.bme.hu/edu/courses/szolgint/materials