Tesztelési folyamat. Integrációs tesztelés:

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Tesztelési folyamat. Integrációs tesztelés:"

Átírás

1 Szoftvertesztelés

2 Tesztelési folyamat Tesztelési folyamat: különálló programegységek (függvények, objektumok) tesztelése alrendszerek és rendszerek tesztelése (az integrálási fázis után) az egységek közötti interakciók tesztelése elfogadási tesztsorozat (a vásárló által végrehajtva) Komponens tesztelés integrációs tesztelés Komponensek tesztelés: a tisztán azonosítható komponensek funkcionalitásainak tesztelése Általában a programozók (szerzők) felelősek érte, de kritikus rendszereknél külön csapat végzi Integrációs tesztelés: komponensek közötti interakciók, és a teljes rendszerre vonatkozó funkcionális/teljesítménybeli elvárások tesztelése előhozhat komponenseken belüli hibákat, mely az előző folyamat megismétlését eredményezi Különálló csapat végzi részletes, írott rendszerspecifikációk alapján

3 Tesztelési folyamat Funkció-orientált objektum-orientált tesztelés Funkció-orientált rendszerek tesztelése: Tisztán megkülönböztethetőek az alapvető programegységek (függvények) és programegység-kollekciók (modulok) Alkalmasak a tradicionális integrálási stratégiák (fentről lefele, lentről felfele) Objektum-orientált rendszerek tesztelése Nincsen az előzőhöz hasonló különbség az entitások között: az objektumok lehetnek egyszerűek (pl. egy lista), vagy komplexek (egy teljes irányítórendszernek megfelelő objektum) Gyakran nincsen tiszta objektumhierarchia a hagyományos integrálási stratégiák többnyire alkalmatlanok Nincsen éles határ a komponens tesztelés és integrációs tesztelés között

4 Hiányosságok tesztelése Cél: rejtett hibák feltárása a szoftver átadása előtt Hiányosságok tesztelése validációs tesztelés Validációs tesztelés: igazolja, hogy a rendszer megfelel a specifikációjának, azt várja el a rendszertől, hogy az adott tesztesetekre helyesen működjön Hiányosságok tesztelése: a rendszer helytelen működését okozza, hibákat tár fel (nem azok hiányát, hanem jelenlétét mutatja meg) A hiányosságtesztelés folyamatának általános modellje: Test cases Test data Test results Test reports Design test cases Prepare test data Run program with test data Compare results to test cases

5 Tesztesetek a teszthez szükséges bemenetek (inputok) és a rendszertől várt kimenetek (outputok) specifikációja + ismertető, hogy mit tesztelünk. az adatok generálása lehet automatikus, de a teszteseté nem, mivel a teszt outputot nem lehet előre megjósolni a kimerítő tesztelés (az összes lehetséges program-végrehajtási szekvencia tesztelése) gyakorlatilag lehetetlen a teszteknek csak a lehetséges tesztesetek egy részhalmazán kell alapulniuk A teszteset-részhalmazok kiválasztására alkalmazott irányelvek meghatározása a szervezet feladata, nem a fejlesztőcsoporté Az irányelvek meghatározása alapulhat tesztelési irányelveken (pl. minden utasítás legalább egyszer legyen végrehajtva), rendszerüzemeltetési tapasztalatokon. A tesztek összpontosíthatnak a működő rendszer sajátosságaira (a menükön keresztül elérhető összes funkció legyen letesztelve, ahol felhasználói inputot várunk az összes függvény legyen letesztelve helyes és helytelen bemenetekkel egyaránt) Eredmény: a funkciók szokatlan kombinációja eredményezhet hibát, de a legtöbbször használt kombinációk többnyire helyesen működnek

6 Fekete doboz tesztelés Funkcionális vagy fekete doboz tesztelés (black-box testing): a tesztek a program- vagy komponensspecifikációkból származnak A rendszer fekete doboz, melynek viselkedésmódja csak a bemeneteinek és az ezzel összefüggő kimeneteinek tanulmányozásával határozható meg (csak a funkcionalitásokkal foglalkozunk, nem az implementációval) Fekete doboz tesztelésre átadott rendszer modellje: Input test data I e Inputs causing anomalous behaviour - a megközelítés egyaránt alkalmazható függvény- és objektumalapú rendszerekre Output test results System O e Outputs which reveal the presence of defects - a tesztek kiválasztása általában előző tapasztalatokon alapszik (a várhatóan hibát eredményező esetek kiválasztása szakterületi ismereteket igényel), de ez a heurisztikus eljárás szisztematikus kiválasztási módszerekkel együtt is alkalmazható

7 Ekvivalenciaosztályozás A bemeneti adatok különböző osztályokba esnek, melyek rendelkeznek közös jellegzetességgel (pozitív számok, negatív számok, szóközmentes sztringek stb.) A programok általában egy osztály minden tagjára hasonló módon viselkednek (innen jön az ekvivalenciaosztályok elnevezés) A hiányosságtesztelés szisztematikus megközelítése ezen osztályok beazonosításán alapszik: a teszteseteket úgy tervezik,hogy a bemenetek/kimenetek ezekbe az osztályokba essenek - Bemenei ekvivalenciaosztályok: minden halmazelemet hasonló módon kell feldolgozni Invalid inputs System Outputs Valid inputs - Kimeneti ekvivalenciaosztályok: valamilyen közös jellegzetességgel rendelkeznek -Meghatározhatóak olyan osztályok, ahol az inputok kívül esnek a többi választott osztályon - Az érvényes és érvénytelen inputok szintén osztályokat alkotnak

8 Ekvivalenciaosztályozás először meghatározzuk az osztályok halmazát, majd minden osztályból teszteseteket választunk Az osztályok a specifikáció, a felhasználói dokumentáció és a tesztelői tapasztalatok (az értékosztályok közül melyek jöhetnek leginkább számításba a hibák felderítésében) alapján azonosíthatóak Az osztály határairól és közepéről is választunk teszteseteket (a programozók hajlandóak csak a középrészt, tipikus inputokat figyelembe venni, a nem tipikus határértékek elkerülhetik figyelmüket: pl. a 0 más pozitív számoktól eltérően viselkedhet) Példa: kereső eljárás, mely elemsorozatban keres egy kulcsot, és az adott elem sorozatbeli pozícióját adja vissza. A program 4 és 10 közötti nél nem nagyobb ötjegyű számot vár bemenetként

9 Ekvivalenciaosztályozás procedure Search (Key : ELEM ; T: ELEM_ARRAY; Found : in out BOOLEAN; L: in out ELEM_INDEX) ; Pre-condition -- the array has at least one element T FIRST <= T LAST Post-condition -- the element is found and is referenced by L ( Found and T (L) = Key) or -- the element is not in the array ( not Found and not (exists i, T FIRST >= i <= T LAST, T (i) = Key )) Less than 4 Between 4 and 10 More than 10 Number of input values Less than Between and More than Ekvivalenciaosztályok: -inputok, ahol a kulcselem a sorozat tagja (Found=true) -inputok, ahol a kulcselem nem a sorozat tagja (Found=false) Input values

10 Ekvivalenciaosztályozás A specifikációból következtetett tesztelési irányelvek: Tesztelés egy értékkel rendelkező sorozatokkal Különböző méretű sorozatok a különböző teszteknél Olyan tesztek, ahol a sorozat első, középső és utolsó elemét kell kiválasztani (az osztályhatárokon lévő esetleges problémák feltárása) Az irányvonalakon alapuló további ekvivalenciaosztályok: Az inputsorozatoknak csak egy eleme van Az inputsorozatok elemszáma nagyobb, mint 1 Ekvivalenciaosztályok és lehetséges tesztesetek: Array Single value Single value More than 1 value More than 1 value More than 1 value More than 1 value Element In sequence Not in sequence First element in sequence Last element in sequence Middle element in sequence Not in sequence Input sequence (T) Key (Key) Output (Found, L) true, false,?? 17, 29, 21, true, 1 41, 18, 9, 31, 30, 16, true, 7 17, 18, 21, 23, 29, 41, true, 4 21, 23, 29, 33, false,?? - ha a kulcselem nincs a sorozatban, az L értéke definiálatlan (??) - az inputértékek halmaza nem teljes körű még létezhetnek hibák - lehetségesek hibák/hiányosságok az osztályok beazonosításánál is - fekete doboz: nincsenek tárgyalva a rossz sorrenddel/ típussal megadott paraméterek, adatsérülések stb. (az átvizsgálás/ automatizált statikus elemzés feladatai)

11 Struktúrateszt/fehér doboz tesztelés Struktúrateszt, fehér doboz (white box testing), üvegdoboz, vagy tiszta doboz tesztelés: a teszteseteket a szoftver struktúrájának és implementációjának ismeretében választjuk Relatíve kicsi programegységekre (alprogramok, objektumok) alkalmazzák Kód elemzése: mennyi tesztesetre lesz szükségünk, ahhoz, hogy a a komponens minden utasítása legalább egyszer végre legyen hajtva Az algoritmusról szerzett tudás alkalmazása: függvények implementálása, melyek segítségével további ekvivalenciosztályok azonosíthatóak Test data Tests Derives Component code Test outputs

12 Struktúrateszt - példa Bináris keresési algoritmus A sorozat egy tömbként van implementálva, melyet rendezni kell, és az alsó határnál lévő értéknek kisebbnek kell lennie a felső határnál lévőnek A bináris keresés a keresési teret három részre osztja, melyek mindegyike meghatároz egy-egy ekvivalenciaosztályt Olyan teszteseteket kell választani, melyek esetében a kulcs az osztály határán helyezkedik el A tesztesetek esetében a bemeneti tömb elemei növekvő sorrendbe kell legyenek rendezve Az algoritmus ismerete alapján olyan teszteseteket kell meghatározni, melyek elemei szomszédosak a tömb középső elemével Equivalence class boundaries Elements < Mid Elements > Mid Mid-point

13 Struktúrateszt példa class BinSearch { // This is an encapsulation of a binary search function that takes an array of // ordered objects and a key and returns an object with 2 attributes namely // index - the value of the array index // found - a boolean indicating whether or not the key is in the array // An object is returned because it is not possible in J ava to pass basic types by // reference to a function and so return two values // the key is -1 if the element is not found public static void search ( int key, int [] elemarray, Result r ) { int bottom = 0 ; int top = elemarray.length - 1 ; int mid ; r.found = false ; r.index = -1 ; while ( bottom <= top ) { mid = (top + bottom) / 2 ; if (elemarray [mid] == key) { r.index = mid ; r.found = true ; return ; } // if part else { if (elemarray [mid] < key) bottom = mid + 1 ; else top = mid - 1 ; } } //while loop } // search } //BinSearch

14 Útvonal-tesztelés Strukturális tesztelési stratégia, melynek célja minden független végrehajtási útvonal kipróbálása egy komponens/program esetében a program minden utasítása legalább egyszer végrehajtódik Objektumorientált fejlesztés esetében: módszerek objektumokkal való kapcsolatának tesztelése Az utak száma arányos a program méretével Az útvonal-tesztelést a modultesztelési fázisban alkalmazzuk Nem elemzi az útvonalak összes lehetséges kombinációját (ciklusokkal rendelkező programoknál végtelen útvonal-kombináció létezik) A kezdőpont egy programfolyamat gráf (a programon keresztül vezető utak vázmodellje): csomópontokból áll, melyek döntéseket reprezentálnak, az élek a vezérlés irányát mutatják A gráfot a vezérlőutasítások megfelelő diagramba történő átírásával állítjuk elő (egyszerű, ha nincsen goto)

15 Útvonal-tesztelés A szekvenciális utasítások (értékadások, eljáráshívások, I/O utasítások) kihagyhatóak, a feltételes utasítások mindenik ága különálló út, a ciklusokat a ciklusfeltételt reprezentáló csomópontba visszamutató nyíllal jelöljük Független útvonal: út, amely a folyamatgráfban legalább egy csomóponton keresztülmegy egy vagy több új feltétel kezelése A feltételeknek mind a hamis, mind az igaz ágát le kell futtatni A független utak száma meghatározható a folyamatgráf ciklomatikus komplexitásának (McCabe, 1976) kiszámításával: CC[G] = élek száma csomópontok száma + 2 Ahol nincs goto, eggyel több, mint a feltételek száma Összetett feltételek esetén minden tesztet számolni kell Dinamikus programelemzők: komplex rendszerek esetében alkalmazzuk, a fordítókkal működnek együtt, számolják, hogy egy utasítás hányszor kerül futtatásra, majd a futtatás után futási profilt állítanak elő

16 Útvonal-tesztelés példa A bináris keresés rutinjának folyamatgráfja: 1 bottom > top 2 while bottom <= top Független útvonalak: 8 3 if (elemarray [mid] == key 4 (if (elemarray [mid]< key 5 6 1, 2, 3, 8, 9 1, 2, 3, 4, 6, 7, 2 1, 2, 3, 4, 5, 7, 2 1, 2, 3, 4, 6, 7, 2, 8, 9 9 7

17 Integrációs tesztelés A programkomponenseket részleges vagy teljes rendszerré kell integrálni Az integrációs teszteket a rendszerspecifikációkból kell kifejleszteni A fő nehézség a folyamat során feltárt hibák lokalizálása Az inkrementális integrációs tesztelés megkönnyíti a hibák lokalizálását: először minimális rendszerkonfigurációt kell integrálni és tesztelni, majd ezt követően adhatjuk hozzá a komponenseket, majd tesztelni kell minden egyes inkrementum hozzáadása után Fentről lefele tesztelés: a rendszer magas szintű komponenseit a tervezés és az implementáció befejezése előtt integráljuk és teszteljük Lentről felfele tesztelés: először az alacsony szintű komponenseket integráljuk és teszteljük A gyakorlatban általában ezek kombinációját alkalmazzák

18 Inkrementális integrációs teszt

19 Integrációs tesztelés fentrıl lefelé

20 Integrációs tesztelés lentrıl felfelé

21 Fentrıl lefele lentrıl felfele Szerkezeti validáció: a fentről lefele tesztelés korábban észleli a hibákat a rendszerarchitektúrákban. Ezek általában strukturális hibák, így a javításuk is kevesebb költséggel jár Rendszerdemonstráció: A fentről lefele történő fejlesztésnél a korai szakaszban csak korlátozott számú rendszer működik, így a validáció a tesztelési folyamat elején elkezdődhet Tesztimplementáció: A fentről lefele történő tesztelést nehéz implementálni, mert a rendszer alacsonyabb szintjeit szimuláló programcsonkokat kell előállítani A lentről felfele történő tesztelésnél tesztmeghajtókat kell írnunk az alacsony szintű komponensek kipróbálásához. Ezek a tesztmeghajtók szimulálják a komponensek környezetét Tesztmegfigyelés Mindkét tesztelésnek problémái vannak a tesztmegfigyeléssel Szükség van egy mesterséges környezetre, a teszteredmények generálásához és a komponensek futtatásának megfigyeléséhez

22 Interfésztesztelés A nagyobb rendszer létrehozásához modulokat vagy alrendszereket integrálunk interfésztesztelés: minden modul/alrendszer meghatározott interfésszel rendelkezik, ezen keresztül elérhető a többi komponens számára Az interfésztesztelés célja az interfészhibák vagy interfész-félreértelmezések detektálása Az interfésztesztelés esetén a teszteseteket nem az egyes komponensekre, hanem a komponensek kombinációjával előállított alrendszerekre alkalmazzuk Különösen fontos az objektumorientált rendszerek tesztelésénél: az objektumok alapvetően az interfészeik által definiáltak, és más objektumokkal kombinálva különböző alrendszereknél újrafelhasználhatóak. Az interfészhibákat nem lehet érzékelni a különálló objektumok tesztelésénél, mivel ezek az objektumok közötti interakciók eredményei, nem egyedi objektumok elszigetelt viselkedései A Test cases C B

23 Interfésztesztelés A programkomponensek között különböző típusú interfészek léteznek különböző típusú interfészhibák fordulhatnak elő: Paraméter interfészek: adatok vagy függvényreferenciák továbbítódnak egyik komponenstől a másikhoz Osztott memóriájú interfészek: egy memóriablokk van megosztva az alrendszerek között: az adat a memóriába kerül az egyik alrendszertől, és innen egy másik alrendszer kiolvassa Procedurális interfészek: az egyik alrendszer más alrendszerek által hívható eljárások egy halmazát foglalja magába (objektumok és absztrakt adattípusok rendelkeznek ilyen interfészekkel) Üzenettovábbító interfészek: egy alrendszer valamilyen szolgáltatást kér egy másik alrendszertől, úgy, hogy üzenetet továbbít hozzá, a szolgáltatás lefuttatásával kapott eredményeket pedig egy válaszüzenet tartalmazza (objektumorientált és kliens-szerver rendszerek alkalmaznak ilyen interfészeket

24 Interfésztesztelés Az interfészhibákat a következő három osztályba sorolhatjuk: Interfész téves alkalmazása: egy hívó komponens meghív más komponenseket és hibát követ el interfészeik alkalmazásában (különösen gyakori paraméter interfészeknél: a paraméterek nem megfelelő típusúak, rossz sorrendűek lehetnek, vagy nem megfelelő az átadott paramétereknek a száma) Interfész félreértelmezése: egy hívó komponens félreértelmezi a hívott komponens interfészspecifikációját, és téves következtetést von le a hívott komponens viselkedésmódjáról. A hívott komponens nem a várakozásoknak megfelelően viselkedik, így nem várt viselkedést okoz a hívó komponensnél (pl. a bináris keresési eljárást egy nem rendezett tömbre hívjuk meg) Időzítési hibák: valós idejű, osztott memóriájú vagy üzenettovábbító interfészt használó rendszereknél fordulhatnak elő. Az adat előállítója és feldolgozója eltérő sebességgel üzemelhet, és előfordulhat, hogy a feldolgozó idejétmúlt információhoz fér hozza (az előállító még nem frissítette az osztott interfész információit)

25 Interfésztesztelés Az interfésztesztelés alapelvei: Vizsgálni kell a tesztelendő kódot és minden külső komponenshívást egyértelműen rögzíteni kell. A tesztek egy részét úgy kell tervezni, hogy a külső komponensek paraméterei az értéktartományok határaira essenek, ezek a szélsőséges értékek nagyobb valószínűséggel fedhetnek fel interfészinkonzisztenciákat Mutatók átadásánál tesztelni kell az interfészt null értékű paraméterekkel Procedurális interfészen keresztüli hívásoknál szükségesek olyan tesztek, melyek esetlegesen hibákat okozhatnak Üzenettovábbító rendszereknél stressztesztelés javasolt Osztott memória használatakor szükséges a komponensek aktiválódási sorrendjének változtatása az ilyen tesztek felfedhetnek a sorrendre vonatkozó implicit feltételezéseket Megjegyzés: a statikus technikák gyakran költséghatékonyabbak, mint az interfésztesztelés, egy erősen típusos nyelv (pl. Java) lehetővé teszi több interfészhiba fordító általi felderítését, más esetekben elemzőt használhatunk (pl. C LINT).

26 Interfésztesztelés Nehézségek: Néhány hiba csak szokatlan feltételek esetén jelentkezik. Pl.: egy objektum fix hosszúságú adatstruktúraként implementál egy sort. A hívó objektum feltételezi, hogy a sor végtelen adatstruktúraként volt implementálva, és nem ellenőrzi a lehetséges túlcsordulást egy új elem beillesztésénél a hiba csak a túlcsordulást kierőltető tesztesetek készítésével detektálható. További nehézséget okozhat a különböző objektumokban/modulokban található hibák egymásra hatása. Lehetséges, hogy egy objektumban egy hiba csak akkor detektálható, ha néhány másik objektum nem várt módon viselkedik. Pl.: egy objektum egy másik objektumtól egy bizonyos szolgáltatást igényel, és feltételezi, hogy a válasz helyes. A visszaadott érték lehet érvényes, de helytelen. A hibára csak akkor derül fény, ha a későbbi számítások során valamilyen hiba történik.

27 Stressztesztelés Miután a teljes integrációs folyamat végbement, lehetséges a rendszer független tulajdonságainak tesztelése: pl. teljesítmény, megbízhatóság. A teljesítménytesztek biztosítják, hogy a tervezett terhelés mellett a rendszer képes dolgozni A teljesítmény tesztelése tesztek olyan sorozatát foglalja magába, ahol a terhelés mindaddig állandóan nő, amíg a rendszer teljesítménye elfogadhatatlanná nem válik A rendszerek néhány osztályát úgy tervezték, hogy egy megadott teljesítményt kezeljenek. Pl.: tranzakció feldolgozó rendszer, mely percenként 100 tranzakciót tud feldolgozni, operációs rendszer, amely 200 különböző terminált képes kezelni stb. A stressztesztelés a tervezett maximális terhelésen túl is folytatódik, mindaddig, amíg a rendszer hibázik Különösen lényeges osztott rendszereknél, melyek terheltség esetén nagyméretű teljesítményvesztést mutathatnak (a hálózat telítődik koordinációs adatokkal)

28 Stressztesztelés A stressztesztelés alapvető funkciói: Teszteli a rendszer viselkedését szélsőséges körülmények között. Események nem várt kombinációja olyan körülményeket okozhat, ahol a rendszerre nehezedő terhelés meghaladja a maximálisan előrelátható terhelést, és fontos, hogy ilyen körülmények között a túlterhelés ne okozzon adatvesztést vagy felhasználói szolgáltatások eltűnését A rendszer terhelése fényt deríthet olyan hiányosságokra, melyek normális körülmények között nem jelennek meg. Ezek a hiányosságok normál használat során nem okoznak rendszerhibát, de felléphet normál körülmények olyan váratlan kombinációja, amit a stressztesztelés előidéz

Statikus technikák: A szoftver átvizsgálása. Statikus technikák: A szoftver átvizsgálása 2011.04.25.

Statikus technikák: A szoftver átvizsgálása. Statikus technikák: A szoftver átvizsgálása 2011.04.25. Dr. Mileff Péter A V & V tervezési folyamatoknak egyensúlyt kell kialakítani a verifikáció és a validációstatikus és dinamikus technikái között. 1 2 Statikus technikák: A szoftver átvizsgálása A szisztematikus

Részletesebben

23. Szoftver-tesztelés

23. Szoftver-tesztelés 23. Szoftver-tesztelés Kérdések Mi a különbség a validációs tesztelés és a hibatesztelés között? Mik a rendszer- és komponenstesztelés alapelvei? Milyen stratégiákat alkalmazhatunk tesztgenerálás céljára?

Részletesebben

Verifikáció és validáció Általános bevezető

Verifiká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észletesebben

Miskolci Egyetem Általános Informatikai Tanszék

Miskolci 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észletesebben

A tesztelés feladata. Verifikáció

A 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észletesebben

A programkomponensek között különbözı típusú interfészek léteznek. következésképpen különbözı típusú interfészhibák fordulhatnak elı.

A programkomponensek között különbözı típusú interfészek léteznek. következésképpen különbözı típusú interfészhibák fordulhatnak elı. 1 Az interfésztesztelésre mikor kerül sor? amikor egy nagyobb rendszer létrehozásához modulokat és alrendszereket integrálunk, amelyek egymással interfészeken keresztül kommunikálnak. Ez a fajta tesztelés

Részletesebben

A programkód átvizsgálásának hatékonyságát két ok magyarázza:

A programkód átvizsgálásának hatékonyságát két ok magyarázza: A V & V tervezési folyamatoknak egyensúlyt kell kialakítani a verifikáció és a validáció statikus és dinamikus technikái között. 1 2 A szisztematikus programtesztelés idıigényes és drága folyamat. Minden

Részletesebben

Szoftverminőségbiztosítás

Szoftverminő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észletesebben

Szoftverminőségbiztosítás

Szoftverminő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észletesebben

Objektumorientált tesztelés

Objektumorientált tesztelés Objektumorientált tesztelés OO tesztelés OO tesztelés funkcionális modell Az objektumok különálló komponensként nagyobbak, mint az egyszerű függvények A rendszernek nincsen egyértelmű teteje (az alrendszerekbe

Részletesebben

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)

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) 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észletesebben

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Unit 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észletesebben

Bánsághi Anna Bánsághi Anna 1 of 62

Bánsághi Anna Bánsághi Anna 1 of 62 SZOFTVERTECHNOLÓGIA Bánsághi Anna anna.bansaghi@mamikon.net 10. ELŐADÁS - TESZTELÉS Bánsághi Anna 1 of 62 TEMATIKA I. SZOFTVERTECHNOLÓGIA ALTERÜLETEI II. KÖVETELMÉNY MENEDZSMENT III. RENDSZERMODELLEK IV.

Részletesebben

Szoftverminőségbiztosítás

Szoftverminő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észletesebben

MŰ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 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észletesebben

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

2011.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észletesebben

Algoritmizálás, adatmodellezés tanítása 6. előadás

Algoritmizálás, adatmodellezés tanítása 6. előadás Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér

Részletesebben

Programozási nyelvek Java

Programozá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észletesebben

Programozási nyelvek II. JAVA

Programozási nyelvek II. JAVA Programozási nyelvek II. JAVA 10. gyakorlat 2017. november 20-24. Szoftver minőségbiztosítás (ismétlés) Adott: Specifikáció (követelmények halmaza) Cél: A követelményeket teljesítő ("helyes") program Megközelítések:

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Collections. Összetett adatstruktúrák

Collections. Összetett adatstruktúrák Collections Összetett adatstruktúrák Collections framework Előregyártott interface-ek és osztályok a leggyakoribb összetett adatszerkezetek megvalósítására Legtöbbször módosítás nélkül használhatók Időt,

Részletesebben

OpenCL 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 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észletesebben

Programtervezés. Dr. Iványi Péter

Programtervezés. Dr. Iványi Péter Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű

Részletesebben

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Szoftver-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észletesebben

Specifikáció alapú teszttervezési módszerek

Specifikáció alapú teszttervezési módszerek Szoftverellenőrzési technikák Specifikáció alapú teszttervezési módszerek Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Klasszikus tesztelési feladat A tesztelendő program beolvas 3 egész

Részletesebben

Specifikáció alapú teszttervezési módszerek

Specifikáció alapú teszttervezési módszerek Szoftverellenőrzési technikák Specifikáció alapú teszttervezési módszerek Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Klasszikus tesztelési feladat A tesztelendő program beolvas 3 egész

Részletesebben

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V Nagy Katinka Budapest, 29 November 2018 Bemutatkozás Nagy Katinka Villamosmérnök BSc (2012) Villamosmérnök MSc

Részletesebben

ISA szimulátor objektum-orientált modell (C++)

ISA 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észletesebben

MŰ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 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észletesebben

Szoftver karbantartási lépések ellenőrzése

Szoftver 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észletesebben

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód:

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: Név: vp.05@hotmail.com Kurzuskód: Szerző Név: Varga Péter ETR azonosító: VAPQAAI.ELTE Email cím: vp.05@hotmail.com Kurzuskód: IP-08PAEG/27 Gyakorlatvezető neve: Kőhegyi János Feladatsorszám: 20 1 Tartalom Szerző... 1 Felhasználói dokumentáció...

Részletesebben

.Net adatstruktúrák. Készítette: Major Péter

.Net adatstruktúrák. Készítette: Major Péter .Net adatstruktúrák Készítette: Major Péter Adatstruktúrák általában A.Net-ben számos nyelvvel ellentétben nem kell bajlódnunk a változó hosszúságú tömbök, listák, sorok stb. implementálásával, mert ezek

Részletesebben

Modell alapú tesztelés mobil környezetben

Modell 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észletesebben

Miskolci 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 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észletesebben

Programfejlesztési Modellek

Programfejlesztési Modellek Programfejlesztési Modellek Programfejlesztési fázisok: Követelmények leírása (megvalósíthatósági tanulmány, funkcionális specifikáció) Specifikáció elkészítése Tervezés (vázlatos és finom) Implementáció

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2014-15/2 (7) Szoftverminőségbiztosítás Szoftvertesztelési folyamat Szoftverek és környezet Nem egyforma a szoftverek használatához kapcsolódó kockázat Különböző kockázati szintek -> eltérő

Részletesebben

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői:

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői: Dr. Mileff Péter 1 2 Az XP nagyobb hangsúlyt fektet a tesztelés folyamatára, mint a többi agilis módszer Oka: a teszteléssel és a rendszer validálásával kapcsolatos problémák elkerülése. A rendszertesztelés

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. Például (bemenet/pelda.

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. Például (bemenet/pelda. Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. BEDTACI.ELTE Programozás 3ice@3ice.hu 11. csoport Feladat Madarak életének kutatásával foglalkozó szakemberek különböző településen különböző madárfaj

Részletesebben

Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése

Esemé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észletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma

Részletesebben

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V Nagy Katinka 2016-11-24 Bemutatkozás Nagy Katinka Villamosmérnök BSc (2012) Villamosmérnök MSc (2014) Rendszer tesztmérnök,

Részletesebben

Teljesí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. 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észletesebben

Fejlett programozási nyelvek C++ Iterátorok

Fejlett programozási nyelvek C++ Iterátorok Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide

Részletesebben

Kompetens szoftvertesztelés a gyakorlatban II. zárthelyi dolgozat

Kompetens szoftvertesztelés a gyakorlatban II. zárthelyi dolgozat Név:...................................... Neptunkód:................... Kompetens szoftvertesztelés a gyakorlatban II. zárthelyi dolgozat 2015. április 22. (szerda) Kitöltési útmutató A dolgozat kitöltéséhez

Részletesebben

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN

JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN JAVASLAT A TOP-K ELEMCSERÉK KERESÉSÉRE NAGY ONLINE KÖZÖSSÉGEKBEN Supporting Top-k item exchange recommendations in large online communities Barabás Gábor Nagy Dávid Nemes Tamás Probléma Cserekereskedelem

Részletesebben

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe:

BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli. A versenyzők figyelmébe: BABEŞ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR BBTE Matek-Infó verseny 1. tételsor INFORMATIKA írásbeli A versenyzők figyelmébe: 1. A tömböket 1-től kezdődően indexeljük. 2. A rácstesztekre

Részletesebben

Oktatási segédlet 2014

Oktatási segédlet 2014 Oktatási segédlet 2014 A kutatás a TÁMOP 4.2.4.A/2-11-1-2012- 0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése

Részletesebben

Pénzügyi algoritmusok

Pé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észletesebben

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan

Részletesebben

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar PROGRAMOZÁS tantárgy Gregorics Tibor egyetemi docens ELTE Informatikai Kar Követelmények A,C,E szakirány B szakirány Előfeltétel Prog. alapismeret Prog. alapismeret Diszkrét matematika I. Óraszám 2 ea

Részletesebben

Programozási módszertan. Mohó algoritmusok

Programozási módszertan. Mohó algoritmusok PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás

Részletesebben

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Bevezeté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észletesebben

Statikus technikák és Műszaki teszttervezési technikák

Statikus technikák és Műszaki teszttervezési technikák Statikus technikák és Műszaki teszttervezési technikák Bevezetés a tananyagba Tesztelési Technikák 3 Statikus technikák 4 Műszaki teszttervezési technikák (Dinamikus tesztelés) 1 Tesztelési technikák Tesztelési

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2014-15/2 (13) Szoftverminőségbiztosítás Szoftverminőség és formális módszerek Formális módszerek Formális módszer formalizált módszer(tan) Formális eljárások alkalmazása a fejlesztésben

Részletesebben

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t.. A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6

Részletesebben

A Feldspar fordító, illetve Feldspar programok tesztelése

A 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észletesebben

Adatszerkezetek 2. Dr. Iványi Péter

Adatszerkezetek 2. Dr. Iványi Péter Adatszerkezetek 2. Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a tömb általánosításaként

Részletesebben

Integráci. ciós s tesztek. ciós s tesztek (folyt.) Integration Level Testing (ILT) Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Integráci. ciós s tesztek. ciós s tesztek (folyt.) Integration Level Testing (ILT) Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék ciós s tesztek ciós s tesztek Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 11. 27. IntegraciosTeszt / 1 ós tesztek IntegraciosTeszt / 2 ciós s tesztek (folyt.) Feltételezzük,

Részletesebben

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal. Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Email: info@silentsignal.hu Web: www.silentsignal.hu. 1 Tartalom 1. BEVEZETŐ... 3 1.1 Architektúra (terv) felülvizsgálat...

Részletesebben

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

Részletesebben

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből

Részletesebben

és az instanceof operátor

é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észletesebben

Programozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto

Programozá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észletesebben

Integrá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ó 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észletesebben

Java 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. 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észletesebben

A szoftver tesztelés alapjai

A szoftver tesztelés alapjai Szoftverellenőrzési technikák A szoftver tesztelés alapjai Micskei Zoltán, Majzik István http://www.inf.mit.bme.hu/ 1 Hol tartunk a félévi anyagban? Követelményspecifikáció ellenőrzése Ellenőrzések a tervezési

Részletesebben

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Autóipari beágyazott rendszerek. Komponens és rendszer integráció Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

Mesterséges intelligencia alapú regressziós tesztelés

Mestersé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észletesebben

Szoftver értékelés és karbantartás

Szoftver értékelés és karbantartás Szoftver értékelés és karbantartás Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.mit.bme.hu/~majzik/ Emlékeztető: Biztonsági követelmények

Részletesebben

OOP: Java 8.Gy: Abstract osztályok, interfészek

OOP: 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észletesebben

Dr. Schuster György február / 32

Dr. Schuster György február / 32 Algoritmusok és magvalósítások Dr. Schuster György OE-KVK-MAI schuster.gyorgy@kvk.uni-obuda.hu 2015. február 10. 2015. február 10. 1 / 32 Algoritmus Alapfogalmak Algoritmus Definíció Algoritmuson olyan

Részletesebben

A fejezet témái Agilis módszerek Extrém programozás Gyors alkalmazásfejlesztés Szoftverprototípus készítése

A fejezet témái Agilis módszerek Extrém programozás Gyors alkalmazásfejlesztés Szoftverprototípus készítése Gyors szoftverfejlesztés A fejezet célja Megértetni, hogyan vezethet egy iteratív, inkrementális szoftverfejlesztési megközelítés a használhatóbb szoftverek gyorsabb átadásához Az agilis fejlesztési módszerek

Részletesebben

Smalltalk 2. Készítette: Szabó Éva

Smalltalk 2. Készítette: Szabó Éva Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=

Részletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási

Részletesebben

ELTE, Informatikai Kar december 12.

ELTE, 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észletesebben

Szoftvertechnolo gia gyakorlat

Szoftvertechnolo gia gyakorlat Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot

Részletesebben

Struktúra alapú teszttervezési módszerek

Struktúra alapú teszttervezési módszerek Szoftverellenőrzési technikák Struktúra alapú teszttervezési módszerek Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Teszttervezés módszerei I. Specifikáció alapú A rendszer mint fekete doboz

Részletesebben

V & V Feladatok. V & V Feladatok

V & V Feladatok. V & V Feladatok V & V Feladatok 2008.01.08 2. Feladat tartozik! A relációjel fordított. Hibás bemenetekre nem teszteltünk. Figyelmen kívül hagytuk az objektum konstruálás időigényét. A pointer értéke null. A program lefut,

Részletesebben

A programozás alapjai

A programozás alapjai A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,

Részletesebben

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok. Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 4. előadás Procedurális programozás: iteratív és rekurzív alprogramok Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

A fejlesztési szabványok szerepe a szoftverellenőrzésben

A fejlesztési szabványok szerepe a szoftverellenőrzésben A fejlesztési szabványok szerepe a szoftverellenőrzésben Majzik István majzik@mit.bme.hu http://www.inf.mit.bme.hu/ 1 Tartalomjegyzék Biztonságkritikus rendszerek A biztonságintegritási szint Az ellenőrzés

Részletesebben

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

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 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észletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezés versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;

Részletesebben

Mintavételes szabályozás mikrovezérlő segítségével

Mintavételes szabályozás mikrovezérlő segítségével Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés

Részletesebben

S01-7 Komponens alapú szoftverfejlesztés 1

S01-7 Komponens alapú szoftverfejlesztés 1 S01-7 Komponens alapú szoftverfejlesztés 1 1. A szoftverfejlesztési modell fogalma. 2. A komponens és komponens modell fogalma. 3. UML kompozíciós diagram fogalma. 4. A szoftverarchitektúrák fogalma, összetevői.

Részletesebben

Szoftver tesztelés a gyakorlatban 2

Szoftver tesztelés a gyakorlatban 2 Szoftver tesztelés a gyakorlatban 2 Struktúrális tesztelés 2 Struktúrális tesztelés! Implementációs részletek figyelembevétele! Tesztelési célok -> lefedettség! Implicit hibamodell! A hibák a vezérlési

Részletesebben

OO rendszerek jellemzői

OO 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észletesebben

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14. Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett

Részletesebben

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom A szoftver-folyamat Szoftver életciklus modellek Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 4. Roger S. Pressman: Software Engineering, 5th e. chapter 2. 2 A szoftver-folyamat Szoftver

Részletesebben

Programrendszerek tanúsítása szoftverminőség mérése

Programrendszerek 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észletesebben

Felhasználó által definiált adattípus

Felhaszná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

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Bánsághi Anna 2014 Bánsághi Anna 1 of 33 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]

Kupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1] Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben