SZOFTVER-MINŐSÉGBIZTOSÍTÁS SZOFTVER-TESZTELÉSI MÓDSZEREK. Széchenyi István Egyetem. Alapfogalmak
|
|
- Marcell Katona
- 5 évvel ezelőtt
- Látták:
Átírás
1 Alapfogalmak Bemeneti adat: Olyan számítógépes adat, amely egy tetszőleges szoftver működtetését vonja maga után, felhasználói szinten. Kimeneti adat: Olyan számítógépes adat, amely egy tetszőleges szoftver működtetése során jelenik meg, a működtetés eredeményeként, felhasználói szinten. Hibamodell: Azon szoftver-hibák halmaza, amelyeknek a felfedésére irányul a teszttervezés. Tesztelés: A szoftver bemeneti adatokkal való sorozatos ellátása és a kimeneti válaszadatok megfigyelése. 1
2 Alapfogalmak Egy hiba tesztje: Bemeneti adatok olyan rendezett sorozata, melynek hatására az adott hibát tartalmazó szoftver a legutolsó adatkombinációra a helyestől eltérő (hibás) kimeneti adatkombinációval válaszol. Detektálható hiba: Egy hibáról akkor mondjuk, hogy detektálható, ha legalább egy tesztje létezik. Tesztkészlet: Több hiba tesztjeinek együttese, halmaza. Tesztkészlet hibalefedése (fault coverage): Azon hibák százalékos aránya az összes feltételezett hibához képest, amelyeket a tesztkészlet detektálni tud. 2
3 Alapfogalmak Teszttervezés: A bemeneti tesztsorozat és az elvárt válaszjelek meghatározása egy előre feltételezett hibahalmazra nézve. A mai információ-technológia már olyan bonyolult szoftverrendszerek előállítását teszi lehetővé, hogy a teljes hibalefedés elérése gyakorlatilag nem valósítható meg. Tesztszámítás vagy determinisztikus tesztgenerálás: Egy adott hiba tesztjének szisztematikus számításokkal történő meghatározása. Véletlenszerű/random tesztgenerálás: Bemenő adatok sorozatának véletlenszerű képzése a hibák tesztjeként történő felhasználásra. 3
4 Hibamodellek és érvényességi körük Egy hibamodell meghatározásakor a következő főbb szempontokat érdemes tekintetbe kell venni: A teszttervezés kivitelezhetőségi lehetőségei és a ráfordítandó költségek. Az adott fejlesztési technológiához kapcsolódó hibajelenségek előzetes ismerete. A tesztelés végrehajtásához szükséges hardver és szoftver eszközök által nyújtott szolgáltatások köre. 4
5 Szoftver-hibák Szoftver-specifikációs hibák A szoftver valamilyen vonatkozásban nem teljesíti a felhasználói követelményeket. A specifikációs hiba adódhat: téves specifikációból, ellentmondásos specifikációból, valamint hiányos specifikációból. Programozói hibák A szoftver tervezése és kódolása során a programozó által elkövetett hibák körét foglalja magában. 5
6 Programozói hibák Hibás funkcióteljesítés. Hiányzó funkciók. Adatkezelési hibák az adatbázisban. Indítási (inicializálási) és leállítási hibák. Felhasználói interfész hibái Határértékek túllépése Kódolási hiba Algoritmikus hiba Kalkulációs hibák Inicializálási hiba Vezérlési folyamat hibája Adattovábbítási hiba Versenyhelyzet programblokkok között Terhelési hiba 6
7 Teszttervezési példa Egy program beolvas három egészszámot, amelyek egy háromszög oldalainak hosszát képviselik. A feladata annak meghatározása, hogy az így előálló háromszög szabálytalan, egyenlő szárú, vagy pedig egyenlő oldalú. 7
8 Teszttervezési példa A következő vizsgálatokat, teszteket végezhetjük el: Három olyan számot adunk meg, amelyek egy érvényes háromszöget tesznek ki. Három olyan számot adunk meg, amelyek egyenlőek, vagyis egyenlő oldalú háromszöget alkotnak. Két egyenlő és egy ettől különböző számot adunk meg, melyek így egyenlő szárú háromszöget adnak. Olyan számokat adunk meg, amelyek közül kettőnek az összege kisebb, mint a harmadik szám. Olyan számokat adunk meg, amelyek közül kettőnek az összege egyenlő a harmadikkal. Három 0-t adunk meg. Olyan számokat adunk meg, melyek között nem egész szám is van. A három szám között negatívat is magadunk. 8
9 Teszttervezési példa A fenti vizsgálati esetek még egyáltalán nem elegendőek arra, hogy mindegyik elvileg lehetséges hibát fel tudják deríteni. Ami a tesztek megtervezésének kérdését illeti, erre vonatkozóan két alapvető megközelítés létezik: a funkcionális, valamint a strukturális. 9
10 A funkcionális tesztelés alapelve Funkcionális tesztelésről beszélünk akkor, amikor a programot egyedül csak a külső viselkedésében, az előírt funkcióinak teljesítésében vizsgáljuk. Egyáltalán nem vesszük figyelembe a forráskódot. Szokás még ezt a megoldást fekete doboz, vagy vasdoboz tesztelésnek is nevezni (angolban black-box testing, iron-box testing). 10
11 A strukturális tesztelés alapelve Strukturális tesztelésről beszélünk akkor, amikor a szoftver forráskódjának felhasználásával a belső struktúra, a belső működés végigkövetésére irányul az ellenőrzés. Ebben a megközelítésben a tesztelési adatok megtervezése során az a cél, hogy a forráskód utasításainak és elágazásainak minél alaposabb végigjárását tudjuk elérni. Szokás még a fehér doboz, vagy üvegdoboz tesztelés elnevezések használata is. (Angolul: white-box testing, glass-box testing.) 11
12 A strukturális tesztelés alapelve A strukturális teszteléssel a program minden egyes utasításának a végrehajtását, a döntési elágazások lehetséges végrehajtásait, valamint a ciklusok végrehajtását kell ellenőrizni. A kódbejárás tárgyalását megkönnyíti az ún. vezérlési folyamatgráf (VFG) (angolul: control-flow graph, CFG). 12
13 A tesztelés pszichológiája A tesztelés célja Helytelen definíciók Annak bizonyítása, hogy nincsenek a programban hibák. Annak bizonyítása, hogy a program a neki szánt funkciókat helyesen hajtja végre. Helyes definíció A tesztelés célja a program olyan végrehajtása, amelyben a szándékunk a hibák megtalálása. 13
14 A tesztelés gazdaságossága Van-e mód arra, hogy az összes hibát megtaláljuk? Nincs funkcionális megközelítés - kimerítő inputtesztelés strukturális megközelítés - kimerítő úttesztelés 14
15 Tesztelési elvek Egy tesztnek szükséges része az elvárt kimenet vagy eredmény definiálása. Célszerű a tesztelést a fejlesztéstől független személy vagy szervezet által elvégeztetni. A teszteket nemcsak elvárt és érvényes bemeneti feltételekre kell írni, hanem olyan feltételekre is, amiket nem várunk el, ill. amik érvénytelenek. Annak a valószínűsége, hogy egy programszakaszban még hibák léteznek, egyenesen arányos az ugyanott már megtalált hibák számával. A tesztelés igen kreatív tevékenység, és komoly szellemi kihívást jelentő feladat. 15
16 Megmaradt és a megtalált hibák További hibák létezésének valószínűsége Megtalált hibák száma 16
17 A teszttervezés kulcskérdése Az összes lehetséges teszt mely részhalmaza detektálja a legnagyobb valószínűséggel a legtöbb hibát? A legkisebb hatékonyságú metodológia minden bizonnyal a véletlenszerű tesztelés. Előtérbe helyezzük a determinisztikus úton történő tervezést: észszerűen szigorú tesztfolyamat a fekete dobozos kezelésmódban kiegészítéseként pedig egy olyan folyamat, amely a program belső logikáját is végigköveti, a fehér dobozos módban 17
18 Funkcionális tesztelési módszerek Ekvivalencia partícionálás Határérték-analízis Ok-hatás-analízis Véletlenszerű tesztgenerálás 18
19 Ekvivalencia partícionálás A célunk a lehetséges bemeneti adatok olyan részhalmazát képezni, amely a legnagyobb valószínűséggel a legtöbb hibát fedi fel. Egy jól megválasztott teszt két másik tulajdonsággal is rendelkezik: Egynél többel redukálja azon más teszteknek a számát, amelyeket azért kellene kialakítani, hogy egy észszerű, hatékony tesztelést érjünk el. Más lehetséges tesztek nagy halmazát fedi le, vagyis képes azokat helyettesíteni. 19
20 Ekvivalencia partícionálás A program input adatainak tartományát ún. ekvivalencia osztályokba csoportosítani, partícionálni. Egy adott osztályhoz tartozó teszt adatértékei ekvivalensek a teszt bármelyik más adatértékeivel Ha az ekvivalencia osztály egy tesztje detektál egy hibát, az osztály minden tesztjétől azt várjuk el, hogy ugyanazt a hibát legyen képes detektálni. Ha egy teszt nem fed fel egy hibát, akkor azt várjuk el, hogy az ekvivalencia osztály más tesztjei sem fogják ezt a hibát felfedni. Kivéve azt az esetet, amikor különböző ekvivalencia osztályok átfedik egymást. 20
21 Ekvivalencia osztályok meghatározása Az ekvivalencia osztályok keresése heurisztikus folyamat. Két típusú ekvivalencia osztályt kell keresnünk: érvényeset, amelyben érvényes bemenetek vannak érvénytelent, amelyben érvénytelen, hibás bemeneti adatok vannak 21
22 Ekvivalencia osztályok meghatározása Ha egy bemeneti feltétel értéktartományt ír elő, akkor egy ebbe eső érvényes osztályt, továbbá egy vagy több nem ebbe eső érvénytelen osztályt válasszunk. Ha egy tételnek adott számú változata lehet, akkor két érvénytelen osztályt adhatunk meg: egyet a 0-ra, egyet pedig az adott számnál nagyobbra. 22
23 A tesztek meghatározása Mindegyik ekvivalencia osztályhoz saját azonosító számot rendelünk. Az érvényes ekvivalencia osztályokhoz úgy válasszunk teszteket egymás után, hogy egy-egy teszt minél több osztályt tudjon képviselni, más szóval lefedni. Célunk az összes osztály lefedése teszttel. Az érvénytelen ekvivalencia osztályokhoz egyenként válasszunk tesztet úgy, hogy az csak egyetlen osztályt fedjen le. A cél itt is az összes osztály lefedése. 23
24 Ekvivalencia osztályok lefedése tesztekkel a x1 d [a,b) [b,c) [c,d] e x2 g [e,f) [f,g] 24
25 Határérték-analízis A tapasztalatok szerint azok a tesztek, amelyek a határértékekre vonatkozó feltételeket írnak elő, kifizetődőbbek, mint azok, amelyek nem. A határérték-analízis két szempontból különbözik az ekvivalencia felosztástól: Egy ekvivalencia osztályt tekintve annyi számértéket tartalmaz, amennyire szükség van az osztály mindegyik határértékének a vizsgálatához. Egy ekvivalencia osztálynak ugyanis több határértéke is lehet. Nemcsak a bemeneti feltételekre kell koncentrálni, hanem a kimenetiekre is, ahol a kimeneti ekvivalencia osztályok határértékeit vesszük számításba. 25
26 Határérték-analízis Ha egy bemeneti feltétel értéktartományt tartalmaz, akkor teszteket írunk a tartomány széleire, továbbá érvénytelen bemenetű teszteket, a szélsőértékeket minimálisan túllépve. Ha egy bemeneti feltétel fix számú értéket enged meg egy változózóra, a minimumra, a maximumra, továbbá alatta és felette érdemes egy-egy értéket megadni. Ha egy program inputja vagy outputja sorrendezett halmaz (pl. egy szekvenciális fájl, lineáris lista, táblázat), akkor szenteljünk figyelmet a halmaz első és utolsó elemének. 26
27 Határérték-analízis tesztesetek a x1 b c x2 d 27
28 Ok-hatás-analízis Az ekvivalencia partícionálásnak és a határérték-analízisnek az a közös hiányossága, hogy nem vonják be a vizsgálatba a bemeneti feltételek kombinációit. Az ok-hatás-analízis olyan technika, amely eredményes tesztek szisztematikus kiválogatását teszi lehetővé. 28
29 Ok-hatás-analízis Az eljáráshoz Boole-algebrai formalizmust használunk fel. Szokásos alapműveletek: ÉS, VAGY, valamint NEM A műveletekhez az őket megjelenítő logikai kapukat, ill. a kapukból felépülő kombinációs logikai hálózat gráfreprezentációját, az ún. Boolegráfot használjuk. 29
30 Az ok-hatás Boole-gráfjának jelölései NEM a b a ÉS c ^ a VAGY v c b b 30
31 Ok-hatás-analízis A tesztek leszármaztatása a szoftver-specifikáció alapján történik: A specifikáció felbontandó kisebb, feldolgozható részekre. A specifikációban egy ok nem más mint egy bemeneti feltétel vagy egy bemeneti ekvivalencia osztály. Egy hatás a kimeneti feltételben nyilvánul meg. A specifikáció szemantikus tartalmát elemezve létrehozzuk a Boole-gráfot, ok-hatás gráf A gráfhoz még hozzá kell rendelnünk azokat a kiegészítő megszorításokat, amelyek meg nem engedett okok és hatások kombinációját foglalják magukba. A gráf állapotfeltételeinek módszeres végigkövetésével a gráfot egy ún. döntési táblázatba konvertáljuk át. 31
32 Ok-hatás-analízis példa Az 1-es oszlopban levő karakter A vagy B kell legyen. A 2-es oszlop karaktere csak számjegy lehet. Ezzel a megadással fájl-frissítés (update) hajtódik végre. Ha az első karakter helytelen, az X12 üzenet jelenik meg, ha a második helytelen, akkor pedig az X13 üzenet. 32
33 Ok-hatás-analízis példa Az okok a következők: (1) Az 1-es oszlop karaktere A. (2) Az 1-es oszlop karaktere B. (3) A 2-es oszlop karaktere számjegy. A hatások a következők lesznek: (71) Frissítés hajtódik végre. (72) Az X12 üzenet jelenik meg. (73) Az X13 üzenet jelenik meg. 33
34 Ok-hatás-analízis példa 1 2 v 4 72 ^ 71 g
35 Ok-hatás-analízis példa A gráf alapján a létrehozandó ún. döntési táblázat valójában nem más mint a gráf által képviselt logikai hálózat igazságtáblázata. Meghatározzuk azokat a bementi 0-1 kombinációkat, amelyek a logikai hálózatban 1-es kimeneti értékeket produkálnak. A döntési táblázatban mindegyik bemeneti okhoz, ill. mindegyik kimeneti hatáshoz egy-egy sor tartozik. 35
36 Ok-hatás-analízis példa Döntési táblázat 36
37 Funkció lefedés Funkcionális módszereket mindenképpen célszerű egymással kombinálni. A különböző teszteknek és az általuk vizsgált funkcióknak a kapcsolatát az ún. tesztlefedési mátrixon lehet össszesíteni. Ha az i-edik teszt a j-edik funkció ellenőrzésére alkalmas, akkor a mátrixban ezt sötétített kockával ábrázoljuk. 37
38 Tesztlefedési mátrix Vizsgált funkciók Teszt
39 Véletlenszerű tesztgenerálás A hibafelfedő képessége meglehetősen korlátozott a determinisztikusan előállított tesztekhez képest. Véletlen számok előállítása és bemeneti adatként való felhasználása elhanyagolható számítási ráfordítással jár. nagy számú, nagy tömegű tesztadat A random tesztek olyan hibák felfedését is eredményezhetik, amelyek a determinisztikus teszttervezésnél elkerülték a figyelmet. 39
40 Véletlenszerű tesztgenerálás A véletlen számok előállításának folyamata Határozzunk meg mindegyik bemenő adathoz egy olyan számtartományt, amelyen belül a véletlen számok képzését akarjuk elvégezni. Az egyes adatokhoz képezzük a saját tartományukon belül eső, normális eloszlású random számokat, amelyek a bemeneti tesztadatok lesznek. A szoftverre adott teszteket két módon szervezhetjük Egy vagy annál több, de nem mindegyik adat változik random módon, a többi rögzített értéken áll. Mindegyik adat változik a saját tartományán belül. 40
41 Véletlenszerű tesztgenerálás A tesztválaszok meghatározása random inputok esetén külön meggondolást igényel Az egyes tesztszámok ismeretében magunk határozzuk meg az elvárt válaszreakciókat. Ha automatizáltan küldjük a szoftverre a random teszteket, a feladatunk abból áll, hogy azt döntsük el, hogy nem történt-e valamilyen észrevehető rendellenes megnyilvánulás. A random bemeneti értékekre adott válaszadatok kiszámítása a szimulációs szoftvernek a feladata. 41
42 Hibamodell strukturális tesztelés esetén A szoftver hibák forrása igen változatos: megkülönböztethetünk specifikációs, tervezési, kódolási stb. hibákat. A hibamodell adjon lehetőséget a lehetséges hibák szisztematikus (algoritmikus) kezelésére Az egyes hibamodellek a feltételezhető szoftver hibáknak csak egy részhalmazát fedik le. 42
43 SZOFTVER-MINŐSÉGBIZTOSÍTÁS Hibamodellek által lefedett hibák 43
44 A strukturális tesztelés alapjai A szoftver hibák általában a vezérlési szerkezetet érintik. Ez a kijelentés a gyakorlati eseteknek csak egy részében helytálló. A strukturális teszteléskor (ST) a tesztelő lényegében nem foglalkozik a felderítendő hiba természetével. A strukturális teszteléskor a tesztelő lényegében nem foglalkozik a felderítendő hiba természetével. A tesztelő azt feltételezi, hogy a programban létrejövő hibák valamilyen módon befolyásolják a a vezérlési szerkezet működését (a folyamat vezérlési gráf bejárását). 44
45 A tesztelés menete ST esetén A ST, mint a többi tesztelés módszer is két fázisra bontható: A tesztgenerálás teszt bemenetek generálását jelenti valamilyen mértékszám alapján. A mértékszám annak jellemzésére szolgáló számszerű paraméter, hogy a generált teszt bemenetek mennyire alaposan vizsgálják meg az egyes kódrészleteket. A teszt végrehajtása lényegében nem más, mint a program egy vezérlési ágának végrehajtása. A teszteléshez hozzátartozik a program kimeneteinek, eredményeinek összehasonlítása a specifikációban rögzítettel. Strukturális tesztelés esetén a kimenetek vizsgálatán túl szükséges a vezérlési szerkezet végrehajtott vezérlési ágának azonosítása is. 45
46 A strukturális tesztelés előnyei ST segítségével hibákat kereshetünk anélkül, hogy tudnánk, milyen szoftver hibákat is keresünk. A tesztelés hatékonyságának mérésére számszerű mértékszámokat lehet használni. A teszthalmazokhoz társított mérőszámokat csak óvatosan szabad a teszthalmazok hibafedésének nevezni, hiszen az implicit hibamodell miatt ilyenről nehéz lenne beszélni. 46
47 A strukturális tesztelés felhasználása Vezérlés intenzív alkalmazások Tervezési hibák felderítése Szabványok szerinti tesztelés 47
48 A vezérlési szerkezet modellezése ST során a program vezérlési szerkezetét modellezük az ú.n. folyamat vezérlési gráf (FVG, Control Flow Graph - CFG) segítségével. A gráf pontok az utasításoknak feleltethetők meg. A gráf származtatása igen egyszerű, az egymás után végrehajtható utasításokat egy-egy irányított gráf él köti össze. 48
49 Control Flow Graph A gráfpontoknak két típusát különböztethetjük meg: Egyszerű (szekvenciális) gráf pont, amelyből egyetlen gráf él indul ki, és egy szekvenciális utasítást reprezentál. Elágazás gráfpont, amelyből egynél több gráf él indul ki, és egy elágazás utasítás (predicate statement) feleltethető meg neki. 49
50 Példa az FVG generálására START 1 1:mid = (low + high) / 2; 2:if (x == list[mid]) 3:found = 1; 4:if (x > list[mid]) 5:low = mid+1; 6:if (x < list[mid]) 7:high = mid; END 50
51 Utak az FVG-ben A programok végrehajtása is követhető, ill. szemléltethető, az FVG-segítségével. A program minden futtatáskor a belépési ponttól a kilépési pontig tató pont és élsorozatot sorozatot, egy ú.n. gráf utat jár be. AZ FVG elemzése alapján meghatározott utak nem mindegyike járható azonban be a valóságban. Mivel az elágazás uasításokban szereplő feltételek nem függetlenek egymástól, így egyes élek kiválasztása már meghatározhatja egy másik ág bejárását. 51
52 Utak az FVG-ben 1:mid = (low + high) / 2; 2:if (x == list[mid]) 3:found = 1; 4:if (x > list[mid]) 5:low = mid+1; 6:if (x < list[mid]) 7:high = mid; A kódban az egymast követő feltételek közül csak egy lehet igaz. A ténylegesen bejárható utakat vastagon szedtük
53 Programok vezérlési bonyolultsága A programok vezérlési szerkezetének bonyolultsága egymástól igen eltérő lehet. Ezért bevezettek egy, a programok vezérlési szerkezetének bonyolultságára jellemző számot az ún. ciklomatikus komplexitás-t (CK, Cyclonometric complexity). A ciklomatikus komplexitás az FVG-ben található független gráf utak maximális számát adja meg. Általánosan használt minimális tesztelési cél strukturális teszteléskor, hogy a teszthalmaz fedje le a független utak egy maximális (további független utakkal tovább már nem bővíthető) halmazát. 53
54 Független utak maximális halmaza Az ilyen utak halmaza nem egyedi, vagyis egy gráfhoz akár több ilyen tulajdonsággal rendelkező út halmazt (és persze teszthalmazt) tudunk generálni. Sajnos még az a könnyített állítás sem igaz, hogy az egyes halmazok számossága megegyezik a CK értékével. 54
55 Független utak maximális halmaza Független utak egy, tovább már nem bővíthető halmaza 55
56 CK számítása A CK az FVG egyszerű elemzése alapján kiszámítható: Használjuk a következő jelölést: G: gráf, V(G): CK, E: élek száma; N: pontok száma; P: elágazás utasítások száma. CK értékét két képlet alapján is meghatározhatjuk: V(G)= E-N+2 V(G)=P+1 (abban az esetben ad helyes eredményt, ha kettős elágazások vannak csak az FVG-ben) 56
57 CK számítása START END E=11; N=9; P=3; V(G)= E-N+2= =4; V(G)=P+1=3+1=4. 57
58 Egyszerű strukturális tesztgenerálási algoritmus FVG generálása a kód alapján. V(G) (CK) számítása az FVG alapján. Független utak maximális (CK darab utat tartalmazó) halmazának generálása. Bemenetek generálása a független utak bejárásához. 58
59 Egyszerű strukturális tesztgenerálási algoritmus A tesztgenerálás során a következő problémák adódhatnak: AZ FVG ciklikus, kört tartalmaz, így elvben a végtelen sok út generálható az adott FVG-hoz. Nem generálható olyan bemeneti kombináció, amely egy adott út bejárását eredményezné az FVG-ben. 59
60 Ciklusok tesztelése A programok vezérlési szerkezetében gyakoriak a ciklus utasítások. Ezek az FVG-ben körnek felenek meg. Elvben végtelen további utat tudok generálni, attól függően, hogy az adott kört hányszor járom be. 60
61 Ciklusok tesztelése 1: while (feltétel) 2: számláló++; 3:eredmény = számláló; START END
62 Ciklusok tesztelése Ennek a problémának a kezelésére egyetlen technika létezik: ciklus bejárásának limitálása. Minden FVG körhöz önkényesen, vagy a ciklus feltétel alapján egy egész számot rendelek, mely a kör bejárásának maximális száma lesz. Még nehezebb a helyzet, ha a ciklus utasítások egymásba ágyazódnak. Ekkor sajnos az utak száma (és ezzel együtt a szükséges tesztek száma is) exponenciálisan nő a ciklusok számával. 62
63 Tesztminőségi mérőszámok A mértékszám egy arányszám: megmutatja, hogy a kiválasztott szempont szerint a tesztelhető elemek (egységek, tételek) mekkora részét teszteltük le. Utasítás lefedettség Ág lefedettség (döntés lefedettség) Út lefedettség A tesztelés, teszt generálás célja minnél magasabb, lehetőleg 100%-os lefedettség elérése. 63
64 Lefedettségi elemzés (coverage analisys) Nagy szoftverek esetén nem mindegy, hogy az egyes teszteket milyen sorrendben hajtjuk végre. Akkor hatékony a tesztelés, ha a hibák nagy részét minél hamarabb felderítem, majd a tesztelés további részében találom meg egyre kisebb gyakorisággal a nehezen detektálható hibákat. 64
65 Hibafedés alakulása tesztelés során hibafedés hatékony tesztelés alacsony hatékonyságú tesztelés tesztelésre fordított idő (erőfeszítés) 65
66 Szoftverben maradó hibák szoftverben maradó hibák alacsony hatékonyságú tesztelés hatékony tesztelés tesztelésre fordított idő (erőfeszítés) 66
67 Utasítás lefedettség Az utasítás lefedettség definíciója: S(c)=s/S Ahol s a tesztelés során legalább egyszer végrehajtott utasítások száma, S pedig a program összes utasításának a száma. 67
68 Utasítás lefedettség int* p = NULL; if (feltétel) p = &variable; *p = 12; A fenti kódrészlet teljesen fedettnek tekintjük az utasítás lefedettség mértékszám szerint, akkor is, ha nincs olyan teszt, amely hatására a feltétel hamis értéket vesz fel. Viszont egyértelmű, hogy hibát okoz, ha futás során a feltétel hamis értéket kap. 68
69 Döntés lefedettség (ág lefedettség) Az döntés lefedettség definíciója: D(c)=d/D Ahol d az elágazás utasításokban szereplő feltételek (döntések) kimenetek tesztelés során bekövetkezett értékeinek száma, D pedig a program összes elágazás utasításában szereplő feltételek kimenetének lehetséges száma. 69
70 Döntés lefedettség (ág lefedettség) if ( feltétel1 && ( feltétel2 függvény1() ) ) utasítás1; else utasítás2; A fenti kódrészlet teljesen lefedett az ág lefedettség szerint, ha van egy olyan teszteset, ahol a feltétel1 IGAZ, feltétel2 IGAZ, valamint egy olyan teszteset, ahol feltétel1 HAMIS. Ebben az esetben pedig a függvény1() egyáltalán nem hívódott meg a tesztelés során, ami triviálisan nem alapos tesztelés. 70
71 Bool (feltétel) lefedettség Az Bool (feltétel) lefedettség definíciója: B(c)=b/B Ahol b az elágazás utasítások feltételeiben szereplő Bool-kifejezésekben a tesztelés során tesztelt bemeneti kombinációk száma, B pedig az elágazás utasítások feltételeiben szereplő Bool-kifejezésekben a lehetséges bemeneti kombinációk összes száma. A Bool (feltétel) akkor teljes, ha az elágazás utasítások feltételeiben szereplő Bool változók minden lehetséges kombinációt felvesznek a tesztelés során. 71
72 Út lefedettség Az út lefedettség definíciója: P(c)=p/P Ahol p az FVG-ben a tesztelés során bejárt (végrehajtott) utak száma, P pedig az FVG összes út száma. Az út lefedettség akkor teljes, ha az FVG-ben található összes út bejáródott a tesztelés során. 72
73 A módszerek összekapcsolása A teszttervezési módszerek egy teljes, összefüggő láncba kombinálhatók össze. A kombinálásnak az adja az értelmét, hogy önmagában egyik módszer sem elegendő. A célszerű stratégia abból áll, hogy először a funkcionális tesztek sorozatát hajtjuk végre, azt követően pedig a strukturális tesztekét. 73
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észletesebbenSpecifiká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é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é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é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é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észletesebbenAlgoritmizá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é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é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észletesebbenKompetens 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észletesebbenStruktú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észletesebbenSzoftver modul/unit tesztelés
Szoftver modul/unit tesztelé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/ 1 Szoftvermodul tesztelés Szoftvermodultesztelés
RészletesebbenStruktúra alapú teszttervezési módszerek
Szoftver- és rendszerellenőrzés (VIMIMA01) 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
RészletesebbenProgramtervezé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észletesebbenHORVÁ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é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é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észletesebbenFEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI
FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI statisztika 10 X. SZIMULÁCIÓ 1. VÉLETLEN számok A véletlen számok fontos szerepet játszanak a véletlen helyzetek generálásában (pénzérme, dobókocka,
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észletesebbenSzoftverminőségbiztosítás
NGB_IN003_1 SZE 2014-15/2 (11) Szoftverminőségbiztosítás Tesztautomatizálás A tesztelés kivitelezése Tesztelési feladatok Detektálatlan maradék hibák számának csökkentése hatásosan és hatékonyan megfelelő
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észletesebbenSzerző. 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é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észletesebbenAlgoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG 1 A fenti
Részletesebbenb) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2
1) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) b) c) ( ) ) Határozza meg az 1. feladatban megadott, ; intervallumon
RészletesebbenMindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.
HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak
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észletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenSzoftverminő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észletesebbenBá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észletesebben9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.
Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek megoldásához!
RészletesebbenMindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1
Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
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észletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
RészletesebbenFüggvények Megoldások
Függvények Megoldások ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x x b) x x + c) x ( x + ) b) Az x függvény
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észletesebbenElőadó: Dr. Oniga István DIGITÁLIS TECHNIKA 3
Előadó: Dr. Oniga István DIGITÁLIS TEHNIK 3 Logikai függvények logikai függvény olyan egyenlőség, amely változói kétértékűek, és ezek között csak logikai műveleteket végzünk függvények megadása történhet
Részletesebben8.3. AZ ASIC TESZTELÉSE
8.3. AZ ASIC ELÉSE Az eddigiekben a terv helyességének vizsgálatára szimulációkat javasoltunk. A VLSI eszközök (közöttük az ASIC) tesztelése egy sokrétűbb feladat. Az ASIC modellezése és a terv vizsgálata
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észletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
RészletesebbenVéletlenszám generátorok és tesztelésük. Tossenberger Tamás
Véletlenszám generátorok és tesztelésük Tossenberger Tamás Érdekességek Pénzérme feldobó gép: $0,25-os érme 1/6000 valószínűséggel esik az élére 51% eséllyel érkezik a felfelé mutató oldalára Pörgetésnél
RészletesebbenHatékonyság 1. előadás
Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése
RészletesebbenMérés és modellezés 1
Mérés és modellezés 1 Mérés és modellezés A mérnöki tevékenység alapeleme a mérés. A mérés célja valamely jelenség megismerése, vizsgálata. A mérés tervszerűen végzett tevékenység: azaz rögzíteni kell
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
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é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észletesebbeny ij = µ + α i + e ij
Elmélet STATISZTIKA 3. Előadás Variancia-analízis Lineáris modellek A magyarázat a függő változó teljes heterogenitásának két részre bontását jelenti. A teljes heterogenitás egyik része az, amelynek okai
Részletesebbeny ij = µ + α i + e ij STATISZTIKA Sir Ronald Aylmer Fisher Példa Elmélet A variancia-analízis alkalmazásának feltételei Lineáris modell
Példa STATISZTIKA Egy gazdálkodó k kukorica hibrid termesztése között választhat. Jelöljük a fajtákat A, B, C, D-vel. Döntsük el, hogy a hibridek termesztése esetén azonos terméseredményre számíthatunk-e.
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
RészletesebbenEllenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t
Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,
RészletesebbenPROGRAMOZÁ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észletesebbenSzoftverminő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észletesebbenAz egyenes egyenlete: 2 pont. Az összevont alak: 1 pont. Melyik ábrán látható e függvény grafikonjának egy részlete?
1. Írja fel annak az egyenesnek az egyenletét, amely áthalad az (1; 3) ponton, és egyik normálvektora a (8; 1) vektor! Az egyenes egyenlete: 2. Végezze el a következő műveleteket, és vonja össze az egynemű
RészletesebbenProgramozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető
RészletesebbenJava programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
RészletesebbenStatikus 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észletesebbenInformációk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása
1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenElőfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból
ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév
RészletesebbenOrszágos Középiskolai Tanulmányi Verseny 2009/2010 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása
Oktatási Hivatal Országos Középiskolai Tanulmányi Verseny / Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása. Oldja meg a valós számok legbővebb részhalmazán a egyenlőtlenséget!
RészletesebbenLogikai hálózatok. Dr. Bede Zsuzsanna St. I. em. 104.
Logikai hálózatok Dr. Bede Zsuzsanna bede.zsuzsanna@mail.bme.hu St. I. em. 04. Tanszéki honlap: www.kjit.bme.hu/hallgatoknak/bsc-targyak-3/logikai-halozatok Gyakorlatok: hétfő + 08:5-0:00 J 208 HF: 4.
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észletesebbenAlgoritmusok helyességének bizonyítása. A Floyd-módszer
Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk
RészletesebbenDigitális technika (VIMIAA02) Laboratórium 3
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 3 Fehér Béla Raikovich Tamás,
RészletesebbenFelvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
RészletesebbenSorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK
Sorozatok határértéke SOROZAT FOGALMA, MEGADÁSA, ÁBRÁZOLÁSA; KORLÁTOS ÉS MONOTON SOROZATOK Sorozat fogalma Definíció: Számsorozaton olyan függvényt értünk, amelynek értelmezési tartománya a pozitív egész
RészletesebbenMiskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék
Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék 2016/17 2. félév 5. Előadás Dr. Kulcsár Gyula egyetemi docens Tartalom 1. Párhuzamosan
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észletesebbenBevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Részletesebben1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba
Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai
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észletesebbenII. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés
II. Két speciális Fibonacci sorozat, szinguláris elemek, természetes indexelés Nagyon könnyen megfigyelhetjük, hogy akármilyen két számmal elindítunk egy Fibonacci sorozatot, a sorozat egymást követő tagjainak
Részletesebben1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje
1. Alapfogalmak 1.1. Algoritmus Az algoritmus olyan elemi műveletekből kompozíciós szabályok szerint felépített összetett művelet, amelyet megadott feltételt teljesítő bemeneti adatra végrehajtva, a megkívánt
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények ) Az ábrán egy ; intervallumon értelmezett függvény grafikonja látható. Válassza ki a felsoroltakból a függvény hozzárendelési szabályát! a) x
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észletesebbenFüggvények növekedési korlátainak jellemzése
17 Függvények növekedési korlátainak jellemzése A jellemzés jól bevált eszközei az Ω, O, Θ, o és ω jelölések. Mivel az igények általában nemnegatívak, ezért az alábbi meghatározásokban mindenütt feltesszük,
RészletesebbenAlgoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.
Algoritmuselmélet NP-teljes problémák Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 13. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
RészletesebbenMATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények
MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények A szürkített hátterű feladatrészek nem tartoznak az érintett témakörhöz, azonban szolgálhatnak fontos információval az érintett feladatrészek
RészletesebbenProgramozás alapjai 9. előadás. Wagner György Általános Informatikai Tanszék
9. előadás Wagner György Általános Informatikai Tanszék Leszámoló rendezés Elve: a rendezett listában a j-ik kulcs pontosan j-1 kulcsnál lesz nagyobb. (Ezért ha egy kulcsról tudjuk, hogy 27 másiknál nagyobb,
RészletesebbenTESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS
TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN ÉLELMISZERIPAR, GÉPÉSZET, INFORMATIKA,
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észletesebbenProgramozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
RészletesebbenEgyszerű programozási tételek
Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.
RészletesebbenA TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK
A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN ÉLELMISZERIPAR,
RészletesebbenS z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
RészletesebbenAlgoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
RészletesebbenKiterjesztések sek szemantikája
Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból
RészletesebbenA 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észletesebbenWebprogramozá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észletesebbenII. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László
A kockázat alapú felülvizsgálati és karbantartási stratégia alkalmazása a MOL Rt.-nél megvalósuló Statikus Készülékek Állapot-felügyeleti Rendszerének kialakításában II. rész: a rendszer felülvizsgálati
RészletesebbenSzámítógépes döntéstámogatás. Genetikus algoritmusok
BLSZM-10 p. 1/18 Számítógépes döntéstámogatás Genetikus algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu BLSZM-10 p. 2/18 Bevezetés 1950-60-as
RészletesebbenSzoftverminőségbiztosítás
NGB_IN003_1 SZE 2017-18/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észletesebben1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
Részletesebben1. Alapok. #!/bin/bash
1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk
RészletesebbenFelvételi vizsga mintatételsor Informatika írásbeli vizsga
BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív
RészletesebbenDigitális technika (VIMIAA02) Laboratórium 3
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 3 Fehér Béla Raikovich Tamás,
Részletesebben[Biomatematika 2] Orvosi biometria
[Biomatematika 2] Orvosi biometria 2016.02.15. Esemény Egy kísérlet vagy megfigyelés (vagy mérés) lehetséges eredményeinek összessége (halmaza) alkotja az eseményteret. Esemény: az eseménytér részhalmazai.
Részletesebben