Név: Neptun kód: május 26., VIMIAC04 Integrációs és ellenőrzési technikák vizsga Rendelkezésre álló idő: 90 perc

Hasonló dokumentumok
Név: Neptun kód: május 23. Komplex MI alkalmazások vizsga Rendelkezésre álló idő: 75 perc 1. Vizsgálja meg a következő RDF leírást:

1. Melyik szabvány foglalkozik dokumentumok tulajdonságainak megfogalmazásával? a. RDFS b. FOAF c. Dublin Core d. DBPedia

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)

Név: Neptun kód: április

Szoftverminőségbiztosítás

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

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

Tudásalapú információ integráció

Adatbázisok MSc. 12. téma. Ontológia és SPARQL

Szoftverminőségbiztosítás

TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

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

RDFS. (Resource Description Frameworks Schema) Méréstechnika és Információs Rendszerek Tanszék

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK

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

Szemantikus Web Semantic Web A szemantikus web alkalmas megközelítés, illetve megfelel nyelvekkel, eszközökkel támogatja az intelligens információs

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

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

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Modellek ellenőrzése és tesztelése

Micskei Zoltán Strausz György. Méréstechnika és Információs Rendszerek Tanszék.

Szoftverminőségbiztosítás

Szkriptelési feladat megoldása

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

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

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

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

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Modell alapú tesztelés mobil környezetben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Fülöp Csaba, Kovács László, Micsik András

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

Debreceni Egyetem Informatikai Kar

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Hely- és kontextusfüggő alkalmazások fejlesztését támogató keretrendszer mobil környezetben

MIÉRT KELL TESZTELNI?

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

DLM PULSE - PREDIKTÍV TÁRGYALÁS TÁMOGATÓ ALKALMAZÁS DLM PULSE

Ismeretalapú modellezés XIII. RDF

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

A szemantikus világháló oktatása

Térképek jelentése és elemzése

C programozási nyelv

Az egyenes egyenlete: 2 pont. Az összevont alak: 1 pont. Melyik ábrán látható e függvény grafikonjának egy részlete?

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Szemantikus Web: egy rövid bevezetés

Programozási nyelvek II. JAVA

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Szemantikus Web: egy rövid bevezetés március 18

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

SZEMANTIKUS WEB, ONTOLÓGIÁK 4. Előadás. Méréstechnika és Információs Rendszerek Tanszék

Információ integráció (GAV példa) 6. Előadás. Méréstechnika és Információs Rendszerek Tanszék

SZEMANTIKUS WEB 3. előadás. Méréstechnika és Információs Rendszerek Tanszék

S z á m í t ó g é p e s a l a p i s m e r e t e k

Java II. I A Java programozási nyelv alapelemei

SZEMANTIKUS WEB. Méréstechnika és Információs Rendszerek Tanszék

AZ ELőADÁS CÉLJA. a funkciók dokumentálásának bemutatása. az SSADM szerkezetben elfoglalt helyének bemutatása

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Ontológiák építése. Ontology Engineering

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

7. BINÁRIS FÁK 7.1. A bináris fa absztrakt adattípus 7.2. A bináris fa absztrakt adatszerkezet

S01-9 Szoftverfejlesztés minőségi aspektusai

Programfejlesztési Modellek

OOP #14 (referencia-elv)

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

Szemantikus világháló a BME-n

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK TESZTELÉSI TECHNIKÁK KIVÁLASZTÁSA

Információ integráció (Datalog, Veder algoritmus, GAV példa) 6. Előadás

TANÚSÍTVÁNY. tanúsítja, hogy a E-Group Magyarország Rt. által kifejlesztett és forgalmazott. Signed Document expert (SDX) Professional 1.

Szoftverminőségbiztosítás

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

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

CAD Rendszerek I. Sajátosság alapú tervezés - Szinkron modellezés

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

Önálló labor feladatkiírásaim tavasz

SZOFTVER-MINŐSÉGBIZTOSÍTÁS SZOFTVER-TESZTELÉSI MÓDSZEREK. Széchenyi István Egyetem. Alapfogalmak

5. SOR. Üres: S Sorba: S E S Sorból: S S E Első: S E

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

Webes alkalmazások fejlesztése

Név: Neptun kód: Pontszám:

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK SPECIFIKÁCIÓ ALAPÚ, VAGY FEKETEDOBOZ TECHNIKÁK

AC feszültség detektor / Zseblámpa. Model TESTER-MS6811. Használati útmutató

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

SZEMANTIKUS WEB. Méréstechnika és Információs Rendszerek Tanszék

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

KERESÉS A NETEN DR. KÓNYA LÁSZLÓ: KERESÉS A NETEN KERESÉS MÓDSZERE, KERESŐPROGRAMOK

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Szoftverminőségbiztosítás

Fordítóprogramok. Aszalós László szeptember 7.

V & V Feladatok. V & V Feladatok

Információ leíró technológiák, szemantikus web előadás

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

SZEMANTIKUS WEB 3. előadás. Méréstechnika és Információs Rendszerek Tanszék

Átírás:

Vizsga maximális pontszám: 51 Megfelelt szint: 40% Teszt kérdések (max. 11 pont) Útmutató: Karikázza be a megfelelő választ, minden kérdésnél egy válasz jelölhető meg. A helyes válasz kérdésenként 1 pontot ér. 1. Melyik szemantikus technológia leírásához szükséges definiálnunk szintaktikát és szemantikát is? A URI B OWL C RDFS D Mindegyikhez az előzőek közül 2. Az adattárházak tervezésénél, építésénél támaszkodhatunk-e ontológiákra? A Igen, mert idővariáns adattárolási megközelítést alkalmazunk. B Igen, mert témaorientált adattárolási megközelítést alkalmazunk. C Nem, mert az ontológiák tervezésénél nyílt világ feltételezésre támaszkodunk. D Nem, mert az adattárolás nem lehet illékony. 3. A local-as-view virtuális információ integráció megközelítés előnyös tulajdonsága, hogy A Hierarchikus, többrétegű nézet struktúra megvalósítható. B Nagy megbízhatóságú adatelérést nyújt. C Források tartalmának leírását alkalmazhatjuk. D Gyors lekérdezési lehetőségeket biztosít. 4. Melyik adatra nem vonatkozik a Dublin Core szabvány? A Szerző B Születési dátum C Cím D Létrehozás időpontja 5. Melyik elemet nem tudjuk közvetlenül definiálni egy ontológiában? A Egy fogalom tárgyterületét B Egy fogalom ellentettjét C Egy fogalomhoz tartozó példányok számosságát D Egy fogalom valószínűségét 6. Melyik állítás nem igaz a BDD-re? A Előnye, hogy segít a korai hibamegtalálásban és az esetleges félreértések tisztázásában. B A specifikáció leírásához Given/When/Assert szerkezetű nyelvet használ. C A specifikációs példákban szereplő részlépésekhez automatizáló kódrészleteket lehet társítani. D Egyik megvalósítása a Cucumber nevű eszköz. 1/9

7. Melyik állítás igaz statikus analízis eszközökkel kapcsolatban? A A statikus analízis eszköz által megtalált hibákat mindig ki kell javítani. B A statikus analízis eszközök csak olyan hibákat tudnak megtalálni, amik előre definiált hibamintákra illeszkednek. C A statikus analízis eszköz során figyelni kell a hamis pozitív és hamis negatív eredményekre. D Statikus analízis eszközök szkript nyelvekhez nem érhetőek el. 8. Az a teszthelyettesítő, ami képes a hozzá intézett hívásokat is ellenőrizni, az a A stub B fake C mock D spy 9. Melyik állítás nem igaz az ekvivalencia partícionálás módszerével kapcsolatban? A Egy-egy ekvivalencia osztályból egy-egy tesztadatot választunk ki. B A konkrét ekvivalencia partíciók algoritmusok segítségével meghatározhatók. C Kezdésnek érdemes az érvényes és érvénytelen bemenetek osztályait szétválasztani. D Az érvényes ekvivalencia partíciókat kombináljuk, hogy minél kevesebb tesztesettel lefedhetők legyenek. 10. Melyik az a tesztelési szint, ahol nagy hangsúlyt kapnak a nem-funkcionális jellemzők ellenőrzése? A modul B rendszer C integrációs D elfogadási 11. Melyik állítás igaz a különböző telepítési stratégiákra? A Continous Deployment esetén az alkalmazásból mindig csak egy verzió van telepítve. B Kék-zöld telepítés használata esetén nehéz visszaállni egy hiba esetén a működő verzióra. C Kanári telepítés esetén az új verziót csak a felhasználók egy része látja. D Az új verzió telepítésére a legjobb módszer az éles környezet felülírása az új verzióval. 2/9

Kidolgozandó feladatok (max. 40 pont) 1. Vizsgálja meg a következő RDF dokumentumot: <rdf:rdf xmlns:rdf= http://www.w3.org/1999/02/22 rdf syntax ns# xmlns:rdfs= http://www.w3.org/2000/01/rdf schema# xmlns:lit= http://literature.org/# xml:base= http://literature.org/ > <rdf:description rdf:about= #Hamlet > <rdf:type rdf:resource= #dráma /> </rdf:description> <rdf:description rdf:about= #96._szonett > <rdf:type rdf:resource= #költemény /> </rdf:description> <rdf:description rdf:about= #írta > <rdf:type rdf:resource= #rdf:property /> <rdf:domain rdf:resource= #szerző /> <rdf:range rdf:resource= #irodalmi_mű /> </rdf:description> <rdfs:class rdf:about= #költemény > <rdfs:subclassof rdf:resource= #irodalmi mű /> </rdfs:class> <rdfs:class rdf:about= #dráma > <rdfs:subclassof rdf:resource= #irodalmi_mű /> </rdfs:class> <lit:poet rdf:about= #Shakespeare > <lit:wrote rdf:resource= #96. szonett /> <lit:wrote rdf:resource= #Hamlet /> <rdf:type rdf:resource= #drámaíró /> </lit:poet> </rdf:rdf> a) Milyen információt ír le a fenti RDF(S) dokumentum? Fogalmazzon meg magyarul egy lehetséges interpretációt! (2 pont) Megoldás: A Hamlet egy dráma, a 96. szonett egy költemény. Az írásnak, mint alkotásnak az alanya az író, tárgya pedig az irodalmi mű. A vers és a dráma irodalmi művek. Shakespeare egy drámaíró típusú költő, ő írta a Hamlet et és a 96. szonettet. 3/9

b) Mutassa be az RDF(S) dokumentum gráf reprezentációját (2 pont) (Ha valaki az ábrán összekapcsolta vagy egy elemként vette fel a lit:wrote és az írta elemeket az helyes, ebben az esetben egy rdf:property kapcsolat és egy üres csomópont felvételével jelölheti ezt a gráfban.) c) Adjon meg egy SPARQL lekérdezést, amely kigyűjti az RDF(S) dokumentumból az irodalmi műveket! (2 pont) Megoldás: PREFIX <rdf:rdf xmlns:rdf= http://www.w3.org/1999/02/22 rdf syntax ns# xmlns:rdfs= http://www.w3.org/2000/01/rdf schema# xmlns:lit= http://literature.org/# xml:base= http://literature.org/ > SELECT?content {?content_type rdfs:subclassof #irodalmi_mű.?content rdf:type?content_type d) A következők közül melyik kijelentések írhatók le RDF/S-ben? Válaszait indokolja! (3 pont) - A költők és a drámaírók szerzők. - A költők verseket írnak, a drámaírók drámákat. - Költők nem írnak RDF dokumentumokat. Megoldás: - A költők és a drámaírók szerzők. Ez az állítás két RDF(S) állításban leírható úgy, hogy mind a költők, mind a drámaírók alosztályai a szerzőknek. - A költők verseket írnak, a drámaírók drámákat. Ez az állítás közvetlenül nem fogalmazható meg RDF(S)-ben, mert az írás állítmánynak (tulajdonságnak) csak egy értékkészlete és egy tárgyterülete lehet. Ha definiálunk olyan tárgyterület halmazt, ami valamilyen módon tartalmazza a verset és a drámát is, akkor ezzel a kiegészítéssel az állítást már le lehet írni RDF(S)-ben. (Aki a megoldásában ez utóbbi megjegyzésre hivatkozva arra a következtetésre jut, hogy az állítás megfogalmazható RDF(S)-ben, annak a válaszát elfogadjuk.) - Költők nem írnak RDF dokumentumokat. Ez az állítás nem reprezentálható RDF(S)-ben, mert az RDF(S) nem tartalmaz negációt. 4/9

2. feladat (a) Nevezzen meg 3-3 előnyös tulajdonságát a lokális és a globális megközelítésnek a nézet alapú virtuális információ integrációs technikák esetében! (3 pont) Megoldás: Globális nézet alapú megközelítés előnyei: - egyszerű a lekérdezések lefordítása - moduláris, hierarchikus leképezések megvalósíthatóak - kis számú forrás esetében egyszerű a definiálása Lokális nézet alapú megközelítés előnyei: - rugalmas nézet átalakítás változós források esetén - forrás tulajdonságokat könnyű figyelembe venni - a saját koncepcionális modellünkben fogalmazhatunk (b) Mutasson be egy integrátor/mediátor rendszer architektúrát, amely alkalmas webes információforrások adatainak integrációját támogatni! Ismertesse a rendszer fontosabb elemeinek szerepét a lekérdezések átalakításában! (3 pont) A fordító motor felelős a lekérdezéseknek a források elemeire vonatkozó újraírásáért. Az átalakított lekérdezések hatékony futtatása céljából az optimalizáló előállítja a lekérdezési tervet. A végrhajtó gép végzi a lekérdezések ütemezett futtatását az egyes források felé. A wrapper-ek biztosítják, hogy a források saját leíró nyelve/technológiája és a mediátor technológiája között kapcsolatot teremtsen, szintaktikai átírást biztosítson. 5/9

Feladatok 1. Specifikáció ellenőrzése Hírolvasó alkalmazásunkba tervezünk egy új ajánló funkciót, amihez a következő kezdeti követelményleírást kaptuk. Az ajánló funkció a felhasználó által beállított hírforrások és a felhasználó olvasási szokásai alapján ajánl további releváns híreket és hírforrásokat. A rendszerünk szerveroldali komponense a hírforrásokat tartalmuk alapján csoportosítja, és ez alapján tud ajánlani további forrást. Azokat a hírforrásokat, amiket a felhasználó gyakrabban olvas, nagyobb súllyal veszi figyelembe az ajánlások során. Az ajánlások az elolvasott hírek alatt jelennek meg, ezzel is bíztatva a felhasználót a tovább olvasásra. Ellenőrizzük a kapott specifikációt. Milyen kérdéseink és észrevételeink lennének? [5 pont] MO: 1. A meglévő hírek elolvasása nélkül nem is lehet hozzájutni az ajánlásokhoz? 2. Működik e az ajánló rendszer, ha nem olvas híreket a felhasználó, de vannak felvett hírforrásai? 3. Keveredik a magas szintű specifikáció és a UI terv. Hasonló módon a funkciók architektúrán belüli szétosztása (mi szerver és mi kliens oldal) lehet, hogy most még korai. 4. Hogyan működik pontosan a súlyozás? Olvasásnál relatív vagy abszolút gyakoriságokat akarunk mérni (más más lehet az egyes hírforrások frekvenciája)? 5. A csoportosítás mi alapján megy? Lehetnék képek is a hírekben vagy csak szöveg? Csak a szöveget veszi figyelembe? Mit teszünk, ha különböző nyelvű, de azonos témájú hírforrások is vannak? 6. 6/9

2. Forráskód átvizsgálása Adott a következő forráskód részlet. String trim(string input,int n) { if (n>0) { input.substring(n, input.length()); return input; a) Soroljon fel legalább két problémát a kód stílusával kapcsolatban! [4 pont] b) Soroljon fel legalább két olyan problémát, amely potenciális hibalehetőséget rejt magában! [4 pont] MO: a) inkonzisztens zárójelezés, inkonzisztens szóközök az operátorok között, változóelnevezés sem túl informatív b) immutable string nem változik, input lehet null, n lehet nagyobb, mint a sztring hossza 7/9

3. Specifikáció alapú tesztelés Egy pályázati rendszerez a pályázatok költségvetését ellenőrző funkciót kell tesztelnünk. A pályázatokhoz költségtételeket rendelhetünk. Minden pályázathoz legalább egy tételt meg kell adni. Egy tétel személyi kifizetés vagy beszerzés lehet. A személyi kifizetésre lehet akár 100% os támogatást igényelni, a beszerzésre legfeljebb 75% ost. A pályázaton igényelhető támogatási összeg 1 millió Ft ban van limitálva. a) Milyen teszttervezési technikát lenne célszerű alkalmazni a tesztesetek megtervezése során? Válaszát indokolja! [2 pont] b) Milyen teszteseteket választana ki a funkció minél teljesebb ellenőrzése érdekében? [4 pont] MO: a) Ekvivalencia partíciók használata az egyes paraméterekre, hogy a fontosabb eseteket lefedjük. Utána ezt lehet bővíteni a határértékek vizsgálatával, mert több határértéket is definiál a leírás, és ezeknek a kezelése okozhat hibát. b) Ekvivalencia partíciók meghatározása: 7. tételek száma: 0 (?), 1, több 8. tétel típusa: személyi, beszerzés 9. támogatás mértéke: negatív (?), 0%, 0% < x < 75%, 75%, 100%, 100% nál nagyobb (?) 10. támogatási tételek összege: negatív (?), 0, 0 < x < 1000000, 1000000, 1000000 nál nagyobb Ezek alapján az partíciókat kombinálva lehet konkrét értékeket is kiválasztani: Teszt Típus Támogatás Költségtétel összege Eredmény mértéke (támogatás nélkül) 1 HIBA 2 személyi 10% 1000 HIBA 3 beszerzés 110% 10000 HIBA 4 beszerzés 80% 5000 HIBA 5 személyi 100% 1500 HIBA 6 beszerzés 50% 5000000 HIBA 7 beszerzés 50% 1500000 OK (a teljes összeg >1M Ft, de a támogatási nem) 8 személyi 70% 500000 OK beszerzés 70% 200000 9 személyi 100% 500000 OK (határértékek) beszerzés 75% 200000 10 személyi 50% 1000000 OK (támogatási összeg határa) személyi 80% 625000 11 személyi 0% 500000?? (megengedünk 0 Ft támogatást?) 12 beszerzés 0% 200000 OK? (támogatás nem 0 Ft, de van 0% os személyi 20% 3000 tétel) Még lehetne további teszteket is felvinni, de első körben ennyi lehet elég is. Ha minden helyesen működik, akkor lehet további kombinációkat vagy speciális eseteket nézni. 4. Struktúra alapú tesztelés Adott a következő forráskód részlet. 8/9

int pow(int n, int k) { if (n < 0 k < 0) { return 1; int p = 1; for (int i = 0; i < k; i++) { p *= n; return p; a) Hány százalékos döntés lefedettséget ér el az alábbi tesztkészlet? [3 pont] Teszteset n k T1 1 5 T2 3 0 b) Adjon meg egy tesztkészletet, amely 100% os utasítás lefedettséget garantál! [3 pont] MO: a) n k n < 0 k < 0 i < k 1 5 igaz nem értékelődik ki 3 0 hamis hamis 3/4 = 75% b) Két teszt elég hozzá (egy olyan, ahol n < 0 vagy k < 0 és egy olyan, ahol n >= 0 és k > 0), pl. n k 1 5 3 1 3. 9/9