Unit tesztelés. Honfi Dávid, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék
|
|
- Kornélia Fehérné
- 4 évvel ezelőtt
- Látták:
Átírás
1 Integrációs és ellenőrzési technikák (VIMIA04) Unit tesztelés Honfi Dávid, Micskei Zoltán Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék 1
2 Tantárgy tematikája Áttekintés 2
3 Mi a unit teszt? Tesztelt rendszer (SUT) egy részét vizsgálja Jól körülhatárolt rész: unit, unit under test (UUT) o Osztály o Metódus Unit teszt 4
4 Miért jók a unit tesztek? Könnyen elkészíthetők Laza csatolásra kényszerít: tesztelhetőség Azonnali visszajelzés Korai hibamegtalálási lehetőség Forrás: Applied Software Measurement, Capers Jones,
5 Hogy néz ki egy unit teszt? (JUnit) public class ListTest{ Tesztosztály List list; // SUT 1. public void setup(){ } list = new List(); Inicializáció Teszteset public void add_emptylist_success(){ list.add(1); 2. Végrehajtás assertequals(1, list.getsize()); } 4. Lebontás? 3. Ellenőrzés 6
6 DEMO: Festival Meglévő unit tesztek átnézése o Teszt célok? Segít megérteni az egység működését? Elnevezési konvenciók javítása o Metódus neve, teszt szerkezete Üzleti funkciókat ellenőrizzen a teszt o Segédfüggvények, konstansok 7
7 ALAPELVEK 8
8 Milyen egy jó unit teszt? A kód egy speciális funkcióját ellenőrzi Szerződés ellenőrzése a modul működéséről Példaként szolgálhat az egység használatához Megbízható (egyszerű, jó minőségű kód) 9
9 Hogyan lehet jó a unit teszt? 1. Alapelvek betartása 2. Bevált minták követése 3. Smell -ek elkerülése Gerard Meszaros xunit Test Patterns: Refactoring Test Code. Prentice Hall PTR, Upper Saddle River, NJ, USA. 10
10 Automatizált futtatás követelményei Tesztelhetőségre tervezés Front door priorizálása Ne módosítsuk a UUT-t (helyette: leszármazott) Függetlenítsük a teszteket Izoláljuk a modult 1 ellenőrzött követelmény tesztenként 12
11 xunit Test Patterns könyv ajánlásai Forrás: Gerard Meszaros, 13
12 UNIT TESZTELÉSI MINTÁK Alapelemek 14
13 I. Végrehajtás Végrehajtó (pl. xunit, JUnit, MSTest) o Tesztek felsorolása, felfedezése, kiválasztása o Tesztek nyomon követése: darabszám, eredmények Tesztkészlet: csoportosításhoz o Tesztesetek összefogása tesztosztályba o Több tesztosztály összefogása Felfedezés: osztály vagy metódus szinten is o Elnevezés alapján o Attribútum segítségével o Könyvtárstruktúrával 16
14 Egyszerű teszteset II. Tesztdefiníció (Metódus) o Happy path : egyszerű lefutási útvonal, nagy kódfedés o Eredményeket ellenőrzi, nem vár kivételt o Arrange Act Assert törzs Elvárt kivételes teszteset o A teszt futtatása során kivételt várunk o Ha nem keletkezik, a teszt hibát jelez Konstruktor teszteset o Ha egy konstruktor összetett logikát tartalmaz o Egyszerű teszteset, de elvárhat kivételt is (rossz argumentum) o Ellenőrzés: objektum állapota megfelelő-e 17
15 Elnevezési konvenciók Teszt osztály neve: [Unit_neve]Test Teszt metódus neve: o Method_StateUnderTest_ExpectedBehavior o MethodName_DoesWhat_WhenTheseConditions o [feature being tested] Teszt szerkezete: // Arrange // Act // Assert // Given // When // Then 18
16 II. Tesztdefiníció (Osztály) Nagyobbrészt tesztmetódusokból épül fel Utility metódus: duplikáció elkerüléséhez Helper: osztály több tesztosztályhoz tartozó utility metódusok számára Tesztosztály Teszteset Teszteset Helper Utility Utility Tesztosztály Teszteset Utility 19
17 Friss III. Inicializálás o Minden teszteset friss környezetben fut o A környezet futás előtt közvetlenül kerül létrehozásra o Minden teszteset teljesen független egymástól Megosztott o Több eset használhat egy előre definiált környezetet o Futás idő csökkenthető o DE: tesztesetek hatással lehetnek egymásra o Lehetőleg kerülendő megoldás o Használata csak ellenőrzött körülmények között 20
18 IV. Eredmények ellenőrzése Állapot ellenőrzése o Procedurális: assertionök sorozatával o Objektum: adott állapotú objektummal Viselkedés ellenőrzése o Procedurális: a teszt futása közben elkapva o Elvárt: teszt futása előtt definiált helyettesítővel 21
19 V. Befejezés Stratégiák o GC Referenciák megszüntetése Eszkalálás o Automatikus Registry használata: pl. kollekció Végén törlés egyesével Szervezés o Inline: minden teszteset végén o Implicit: futtató rendszer hív egy külön metódust 22
20 VI. Helyettesítők Függőségek Helyettesítő objektumok o Eredeti helyett használjuk: megfigyelés, beavatkozás o Fontos: tesztelhetőségre tervezés 24
21 VI. Helyettesítők Függőségek Helyettesítő Data access Helyettesítő Import/Export Teszt hívás (GUI) A helyettesítők indirekt bemenetet adnak. 25
22 Stub VI. Helyettesítők típusai o Előzetesen megadott értékeket ad vissza o Nem tartalmaz ellenőrzést o Responder: valid értékek beadása, happy path o Saboteur: invalid értékek beadása o Átmeneti: üres osztály, beégetett értékekkel Spy o Indirekt kimenetek/hívások megfigyelésére (!) o Tesztesetek végén spy ellenőrzése assertekkel o Pl. anonim függvény átadása SUT-nak, registry 26
23 Mock objektum VI. Helyettesítők típusai o Előzetesen definiált értékek visszaadása ÉS ellenőrzés o Előzetes elvárások Hívási argumentumok Hívások darabszáma o Hatással lehet a teszteset kimenetelére (assert) Fake objektum o Light-weight implementáció (csak a lényeg marad) o Interakciót képes kezelni (hívási szekvenciák) o Példák: fake adatbázis, fake web service, fake réteg 27
24 DEMO: Festival Külső függőségek azonosítása Unit tesztelhetővé alakítása Helyettesítők használata a tesztben Instabil tesztfuttatás megszüntetése 28
25 Stub példa Stub Teszt 29
26 Mock példa public class public void init(){ mockda = mock(dataaccess.class); ps = new PriceService(mockDA); } Megfelelő típusú test double public void SuccessfulPriceQuery(){ // Arrange when(mockda.getprodprice("a100")).thenreturn(50); // Act int p = ps.getprice("a100"); Működési szabályok megadása } } // Assert verify(mockda, times(1)).getprodprice("a100") Milyen működést kellett megfigyelnie 30
27 UNIT TESZTELÉSI MINTÁK Tesztelhetőségre tervezés 31
28 Tesztelhetőségre tervezés Tesztvezérelt tervezés (Test-Driven Development) o Tesztek készülnek el elsőként (TDD) o A kész tesztek kikényszerítik a tesztelhető kódot Vezérlési pontok (Control point) o UUT vezérlése kívülről (API vagy back door) o UUT adott állapotba állítása Megfigyelési pontok (Observation point) o UUT állapotának lekérése o UUT kommunikációjának megfigyelése 32
29 Dependency injection UUT Foo(int):bool C osztály A hívó félnek kelljen a függőségek átadását biztosítani! Lehetőségek o Konstruktorban o Paraméterként híváskor o Kettő között: setter Másik ötlet: dependency lookup Hogyan adjuk át a stubot a C-hez a tesztben? 33
30 Humble objektum A lényeges logikát szeparáljuk a környezettől A szeparált rész könnyen tesztelhetővé válik Lehetőségek o Extract method ( Poor man s ) o Ősosztályok és leszármazottak o Külön osztály a kiszervezett logikával (delegálás) 34
31 Teszt hook Tesztelés módosítja a tesztelt viselkedést o Lehetőleg kerülendő végső megoldás o Csak szigorú feltételek mellett használható A kód elágazásokat tartalmaz: if(testing) test else prod A tesztelhetetlen részek tesztelhetővé válnak Pl. dátum lekérdezése DateTime stub o Nem mindig lehet injektálni a stub-ot o Teszteléskor DateTime.Now helyett adott inicializálás 35
32 TESZT SMELLEK 36
33 I. Homályos (obscure) tesztek Nehéz elsőre megérteni a tesztet. Hatások o Magasabb fenntartási költségek o Több bug maradhat benn a rosszul írt kód miatt Okok o Nincs kellő figyelem a tesztek egyszerűségén o In-line megoldások tesztekben: összetett logikák sora 37
34 I. Homályos tesztek tipikus esetei Kíváncsi (eager) teszt: túl sokat akar ellenőrizni Mystery Guest: o Nem látszik az akció-hatás összefüggés a tesztben o Pl.: a teszteset metódusán kívül is történik lépés Túláltalánosítás: felesleges környezet felépítése Beégetett tesztadatok Indirekció: a teszt az UUT-t indirekten éri el 38
35 Példa Homályos teszt 39
36 II. Feltételes tesztlogika A tesztnek van olyan része, ami nem fut le minden futtatáskor. Hatások o Elbonyolítja a tesztet nehezíti a megértést o Nehezebb karbantartani Okok o Visszatéréstől függő tesztlogika o Kollekciók, összetett objektumok ellenőrzése o Újrafelhasználhatóságra törekvés 40
37 III. Duplikáció Ugyanaz a tesztkód többször ismétlődik. Hatások o Karbantarthatóság erős romlása Okok o Idő: CTRL+C és CTRL+V sokat gyorsít a tesztek írásán o Képesség: tesztfejlesztő refaktorálási képességei 41
38 IV. Assertion rulett Nehéz megállapítani, hogy a sok assertion közül melyik okozza a teszt hibáját. Hatások o Problémák azonosítása nehézzé, költségessé válik o Megnöveli a hibajavítások idejét Okok o Tesztesetek számának minimalizálása több ellenőrzés o Hiányzó assertion üzenet 42
39 Példa Assertion rulett 43
40 V. Instabil teszt Ugyanaz a teszteset néha hibamentes, néha hibát jelez. Okok o Nemdeterminizmus a tesztelt kódban o Erőforrásszivárgás o Erőforrásoptimalizálás o Interakciót végző teszt (pl. környezet) 44
41 VI. Törékeny teszt Adott teszteset nem fordul, vagy hibásan fut egy olyan változtatás után, amit a teszt nem érint. Okok o Indirekt tesztelés o Kíváncsi teszt o Interfész-érzékenység o Viselkedés-érzékenység o Adatérzékenység o Kontextus-érzékenység 45
42 VII. Lassúság Tesztfuttatás túl sok időt vesz igénybe. Okok o Lassú a tesztelt komponens (pl. nem izolált) o Általános környezet: túl sok inicializálás az elején o Aszinkronitás o Túl sok teszt 46
43 Összefoglalás Unit teszt: fontos a kódminőség/költségek miatt Unit tesztek minősége nem triviális Alapelvek o Tesztelhetőség o Szervezés o Automatizálás Bevált minták: tervezés, definíciók, helyettesítők Smellek elkerülése 47
Unit tesztelés. Honfi Dávid, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék
Integrációs és ellenőrzési technikák (VIMIA04) Unit tesztelés Honfi Dávid, Micskei Zoltán Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és
RészletesebbenUnit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22
Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés
Részletesebben2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
RészletesebbenA legalacsonyabb szintű tesztelés. A programot felépítő egységek tesztelése Unit: egy rendszer legkisebb önálló egységként tesztlehető része.
Unit test A legalacsonyabb szintű tesztelés. A programot felépítő egységek tesztelése Unit: egy rendszer legkisebb önálló egységként tesztlehető része. Unit tesztekkel ellenőrizhető, hogy egy unit az elvárásoknak
Részletesebben1. Melyik szabvány foglalkozik dokumentumok tulajdonságainak megfogalmazásával? a. RDFS b. FOAF c. Dublin Core d. DBPedia
Név: Neptun kód: 2018. június 1., 8.15-9.45. VIMIAC04 Integrációs és ellenőrzési technikák vizsga Rendelkezésre álló idő: 90 perc Vizsga maximális pontszám: 51 Megfelelt szint: 40% Teszt kérdések (max.
RészletesebbenAngolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata
Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata jelentése: gyors, fürge 1990-es évek vége Változás igénye Módszertan-család
RészletesebbenIntegrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató
Integrációs mellékhatások és gyógymódok a felhőben Géczy Viktor Üzletfejlesztési igazgató Middleware projektek sikertelenségeihez vezethet Integrációs (interfész) tesztek HIÁNYA Tesztadatok? Emulátorok?
RészletesebbenWebes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 10. előadás Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu Tesztelés
RészletesebbenModell alapú tesztelés mobil környezetben
Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed
RészletesebbenSzoftverminőségbiztosítás
NGB_IN003_1 SZE 2014-15/2 (8) Szoftverminőségbiztosítás Szoftvertesztelési folyamat (folyt.) Szoftvertesztelési ráfordítások (Perry 1995) Tesztelésre fordítódik a projekt költségvetés 24%-a a projekt menedzsment
RészletesebbenMár megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
RészletesebbenSzkriptelési feladat megoldása
Intelligens rendszerfelügyelet (VIMIA370) Szkriptelési feladat megoldása Micskei Zoltán http://mit.bme.hu/~micskeiz Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
RészletesebbenInterfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
RészletesebbenAutomatikus tesztgenerálás modell ellenőrző segítségével
Méréstechnika és Információs Rendszerek Tanszék Automatikus tesztgenerálás modell ellenőrző segítségével Micskei Zoltán műszaki informatika, V. Konzulens: Dr. Majzik István Tesztelés Célja: a rendszerben
RészletesebbenEseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Szoftverek tesztelése 2014 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenSzoftver-mérés. Szoftver metrikák. Szoftver mérés
Szoftver-mérés Szoftver metrikák Szoftver mérés Szoftver jellemz! megadása numerikus értékkel Technikák, termékek, folyamatok objektív összehasonlítása Mér! szoftverek, programok CASE eszközök Kevés szabványos
RészletesebbenProgramrendszerek tanúsítása szoftverminőség mérése
SZEGEDI TUDOMÁNYEGYETEM Programrendszerek tanúsítása szoftverminőség mérése Dr. Gyimóthy Tibor Dr. Ferenc Rudolf Szoftverminőség biztosítás Fő cél: az üzemelő IT rendszerekben csökkenteni a hibák számát
RészletesebbenSzoftver karbantartási lépések ellenőrzése
Szoftverellenőrzési technikák (vimim148) Szoftver karbantartási lépések ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/
RészletesebbenBevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
RészletesebbenMiskolci Egyetem Általános Informatikai Tanszék
Software tesztelés Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés SWTESZT / 1 A tesztelés feladata Két alapvető cél rendszerben található hibák felderítése annak ellenőrzése, hogy a
RészletesebbenA tesztelés feladata. Verifikáció
Software tesztelés Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés SWTESZT / 1 A tesztelés feladata Két alapvető cél rendszerben található hibák felderítése annak ellenőrzése, hogy a
RészletesebbenOpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
RészletesebbenWebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW
WebService tesztelés SOAPui Pro, GreenPepper és Confluence használatával Verhás & Verhás Szoftver Manufaktúra KNOW-HOW 2008. 5. 15. Verhás & Verhás Szoftver Manufaktúra 1 Tartalom WebService tesztelés
RészletesebbenModell alapú tesztelés: célok és lehetőségek
Szoftvertesztelés 2016 Konferencia Modell alapú tesztelés: célok és lehetőségek Dr. Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika
RészletesebbenTesztelés a fejlesztés különböző fázisaiban
Szoftverellenőrzési technikák Tesztelés a fejlesztés különböző fázisaiban Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Modul / unit tesztelés Integrációs tesztelés Rendszer tesztelés Elfogadás
RészletesebbenProgramozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia II 7. előadás Verifikáció és validáció 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Minőségbiztosítás
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenModellek ellenőrzése és tesztelése
Modellek ellenőrzése és tesztelése Rendszermodellezés imsc gyakorlat Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika
RészletesebbenELTE, Informatikai Kar december 12.
1. Mi az objektum? Egy olyan változó, vagy konstans, amely a program tetszőleges pontján felhasználható. Egy olyan típus, amelyet a programozó valósít meg korábbi objektumokra alapozva. Egy olyan változó,
RészletesebbenProgramozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
RészletesebbenTeszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék
Integrációs és ellenőrzési technikák (VIMIA04) Teszttervezés Majzik István, Micskei Zoltán Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és
RészletesebbenOO rendszerek jellemzői
OO rendszerek jellemzői Problémák forrása lehet teszteléskor: Problémák feldarabolása. Adatrejtés. Az OO rendszerek nagyszámú, egymással aktívan kapcsolatban levő, együttműködő komponensekből állnak. A
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenSzoftverminőségbiztosítás
NGB_IN003_1 SZE 2017-18/2 (9) Szoftverminőségbiztosítás Specifikáció alapú (black-box) technikák A szoftver mint leképezés Szoftverhiba Hibát okozó bement Hibás kimenet Input Szoftver Output Funkcionális
RészletesebbenMesterséges intelligencia alapú regressziós tesztelés
Mesterséges intelligencia alapú regressziós tesztelés Gujgiczer Anna, Elekes Márton* * AZ EMBERI ERŐFORRÁSOK MINISZTÉRIUMA ÚNKP-16-1-I. KÓDSZÁMÚ ÚJ NEMZETI KIVÁLÓSÁG PROGRAMJÁNAK TÁMOGATÁSÁVAL KÉSZÜLT
RészletesebbenA modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)
RészletesebbenA Java EE 5 plattform
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
RészletesebbenTesztelés a fejlesztés különböző fázisaiban
Szoftverellenőrzési technikák Tesztelés a fejlesztés különböző fázisaiban Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Modul / unit tesztelés Integrációs tesztelés Rendszer tesztelés Elfogadás
RészletesebbenNév: Neptun kód: Pontszám:
Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,
RészletesebbenSzoftver-technológia II. Modulok és OOP. Irodalom
Modulok és OOP Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 7. 2 Modulok és objektumok Modulok Lexikálisan folytonos utasítás sorozatok,
RészletesebbenFicsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
RészletesebbenSzűgyi Zalán. Unit tesztek Java és C++ környezetben
Szűgyi Zalán Unit tesztek Java és C++ környezetben Tartalom Tesztelésről: unit tesztek teszt esetek JUnit Konfigurálás Keretrendszer API gtest Konfigurálás Keretrendszer API Tesztelés Programok tesztelése
RészletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenMŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK
MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN
RészletesebbenVerifikáció és validáció Általános bevezető
Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának
RészletesebbenA modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)
RészletesebbenTesztelési szintek Tesztautomatizálás
Integrációs és ellenőrzési technikák (VIMIA04) Tesztelési szintek Tesztautomatizálás Majzik István, Micskei Zoltán Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki és Gazdaságtudományi
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
RészletesebbenAz UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenMŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI
MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN
RészletesebbenMinőségmenedzsment és Informatika Test-Driven Development
Minőségmenedzsment és Informatika Test-Driven Development Varga Balázs G5S8 2008.10.27 Szoftverfejlesztés jellemzői Megrendelői igények Tervezés Implementálás Tesztelés Dokumentálás
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenSzoftvertechnológia 10. előadás. Verifikáció és validáció. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Szoftvertechnológia 10. előadás Verifikáció és validáció Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto It's hard enough to find
RészletesebbenSikeres végrehajtás(pass): ez azt jelenti, hogy a teszt rendben lefutott, és az ellenőrzési feltételek mind teljesültek.
1 1. fejezet A JUnit tesztelési környezet A JUnit egy szabad forráskódú modultesztelő rendszer, amely Java programjaink automatikus teszteléséhez nyújt segítséget. A rendszer letölthető a http://junit.org
RészletesebbenGyakorlat és házi feladat tájékoztató
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
RészletesebbenThe modular mitmót system. DPY kijelző kártya C API
The modular mitmót system DPY kijelző kártya C API Dokumentációkód: -D 01.0.0.0 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Beágyazott Információs Rendszerek
RészletesebbenHasználati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban
Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban Nagy Attila Mátyás 2016.12.07. Áttekintés Bevezetés Megközelítés Pilot tanulmányok
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
Részletesebben(Teszt)automatizálás. Bevezető
(Teszt)automatizálás Bevezető Órák ( az előadások sorrendje változhat) 1. Bevezető bemutatkozás, követelmények, kérdések és válaszok 2. Előadás Unit test in general, 3. Előadás Unit test, Tools and practices,
RészletesebbenProgramozási technológia 2.
Programozási technológia 2. Cserép Máté ELTE Informatikai Kar 2019. Folyamatos integráció A folytonos integráció (continuous integration, CI) egy olyan gyakorlati módszer, amely lehetővé teszi a programkódok
RészletesebbenObjektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
RészletesebbenTeljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20
Teljesítmény Mérés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés 2013 1 / 20 Tartalomjegyzék 1 Bevezetés 2 Visual Studio Kód metrikák Performance Explorer Tóth Zsolt
RészletesebbenA minőségbiztosítás informatikája Gégény Dávid - KHIWFS
A minőségbiztosítás informatikája Gégény Dávid - KHIWFS - Tom DeMarco Szoftvermetrikák A metrikák számszerűsítk egy folyamat vagy termék minőségét Fontos a fejleszthetőség Objektív eredményt adnak Lehetővé
RészletesebbenJNDI - alapok. Java Naming and Directory Interface
JNDI - alapok Java Naming and Directory Interface Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított
RészletesebbenSzoftverminőségbiztosítás
NGB_IN003_1 SZE 2014-15/2 (10) Szoftverminőségbiztosítás Struktúra alapú (white-box) technikák A struktúrális tesztelés Implementációs részletek figyelembevétele Tesztelési célok -> lefedettség Implicit
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy
RészletesebbenConcurrency in Swing
Concurrency in Swing A szálkezelés a swing alkalmazásokban is fontos. Cél egy olyan felhasználói felület készítése, amely soha nem fagy, mindig válaszol a felhasználói interakciókra, bármit is csináljon
RészletesebbenInterfészek. Programozás II. előadás. Szénási Sándor.
Interfészek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Polimorfizmus áttekintése Interfészek Interfészek alkalmazása
RészletesebbenJavaScript bűvésztrükkök, avagy PDF olvasó és böngésző hackelés
JavaScript bűvésztrükkök, avagy PDF olvasó és böngésző hackelés Bemutatkozás Molnár Gábor Ukatemi Technologies IT biztonsági szakértő gmolnar@ukatemi.com Áttekintés JavaScript Firefox JS sebezhetőség Adober
RészletesebbenMiskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert
Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája Készítette: Urbán Norbert Szoftver-minőség A szoftver egy termelő-folyamat végterméke, A minőség azt jelenti,
Részletesebbenpublic class HelloWorld extends TestCase { public void testmultiplication() { // Testing if 3*2=6: assertequals ("Multiplication", 6, 3*2);
Unit testing Unit testing Unit: egy program legkisebb különállóan tesztelhető része (procedurális nyelv esetén egy függvény, objektum orientált nyelv esetén egy metódus) A tesztesetek egymástól függetlenek,
RészletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenÉlettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül
Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül 1 Tartalom Miről is lesz szó? Bosch GS-TC Automata sebességváltó TCU (Transmission Control Unit) Élettartam tesztek
RészletesebbenRobusztusság tesztelés
Szoftverellenőrzési technikák (vimim148) Robusztusság tesztelés Majzik István és Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/
RészletesebbenGyakorlat és házi feladat tájékoztató
Szoftver- és rendszerellenőrzés (VIMIMA01) Gyakorlat és házi feladat tájékoztató https://inf.mit.bme.hu/edu/courses/szore Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Részletesebben1. Bevezető. 2. Sérülékenységek
1. Bevezető A dokumentum összefoglalja a Silent Signal Kft. szakértőinek 2011-ben elért kutatási és fejlesztési eredményeit. Ebben az időszakban munkatársaink 16 sebezhetőséget azonosítottak elterjedt
RészletesebbenA TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE
A TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN
RészletesebbenObjektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
RészletesebbenA Feldspar fordító, illetve Feldspar programok tesztelése
A Feldspar fordító, illetve Feldspar programok tesztelése [KMOP-1.1.2-08/1-2008-0002 társfinanszírozó: ERFA] Leskó Dániel Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék
RészletesebbenMegoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)
Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május) Teszt kérdések 1. Melyik állítás igaz a folytonos integrációval (CI) kapcsolatban? a. Folytonos
RészletesebbenWebes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás
RészletesebbenGenerikus Típusok, Kollekciók
Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections
RészletesebbenTeszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék
Integrációs és ellenőrzési technikák (VIMIA04) Teszttervezés Majzik István, Micskei Zoltán Méréstechnika és Információs Rendszerek Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenProgramozási technológia 2.
Programozási technológia 2. Egységtesztelés (JUnit) Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Minőségbiztosítás A szoftver verifikációja és validációja, vagy minőségbiztosítása (quality control)
RészletesebbenDCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1
DCOM Áttekintés Miskolci Egyetem Általános Informatikai Tanszék DCOM /1 Mi a DCOM? DCOM: Distributed Component Object Model A Microsoft osztott objektum modellje Bináris együttmÿködési szabvány és annak
RészletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenAdatbányászat és Perszonalizáció architektúra
Adatbányászat és Perszonalizáció architektúra Oracle9i Teljes e-üzleti intelligencia infrastruktúra Oracle9i Database Integrált üzleti intelligencia szerver Data Warehouse ETL OLAP Data Mining M e t a
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
Részletesebbenextreme Programming programozástechnika
extreme Programming programozástechnika Készítette: Török T k Balázs G5-S8 Kezdetek Martin Fowler : The New Methodology Legtöbb projekt követelményei állandóan változnak Megoldást adaptív módszerek Kezdetek
RészletesebbenEnterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
RészletesebbenRubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József
Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0 Készítette: Hajnali Krisztián Jóváhagyta: Varga József Rubin Informatikai Zrt. 1149 Budapest, Egressy út 17-21. telefon: +361 469 4020; fax:
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
Részletesebben