Objektumorientált tesztelés



Hasonló dokumentumok
A SZOFTVERTECHNOLÓGIA ALAPJAI

Bánsághi Anna 1 of 67

7. Verifikáci. ció. Ennek része a hagyományos értelemben vett szoftvertesztelés is. A szoftver verifikálásának,

Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?

A szoftver tesztelés alapjai

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












Adatbázisok I Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés

TERMÉK FEJLESZTÉS PANDUR BÉLA TERMÉK TERVEZÉSE

20 kva 60 kva UPS PÁRHUZAMOS REDUNDÁNS RENDSZER HASZNÁLATI UTASÍTÁSA

Dialízis gép software komponensét alkotó unitok modul tesztje követelmény és struktúra alapon

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Teszt generálás webes alkalmazásokhoz

Az üzemi méréstechnika hat szabálya

23. Szoftver-tesztelés

rendszerszemlélető, adatközpontú funkcionális

1 Rendszer alapok. 1.1 Alapfogalmak

2. fejezet Hálózati szoftver

Lekérdezések az SQL SELECT utasítással

Joint Test Action Group (JTAG)

Légsebesség profil és légmennyiség mérése légcsatornában Hővisszanyerő áramlástechnikai ellenállásának mérése

Az Európai Unió Hivatalos Lapja AZ EURÓPAI KÖZÖSSÉGEK HIVATALOS LAPJA

Informatika. Középszintű érettségi vizsga témakörök. 1. Információs társadalom. 2. Informatikai alapismeretek hardver

Szakmai zárójelentés

TARTALOM. Bekezdések Bevezetés A jelen Nemzetközi Könyvvizsgálati Standard hatóköre 1 Hatálybalépés időpontja 2 Cél 3 Fogalmak 4 Követelmények

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

Első Magyarországi Szoftvertesztelő Verseny Döntő feladatsor

Tartalom Kontextus modellek Viselkedési modellek Adat-modellek Objektum-modellek CASE munkapadok (workbench)

A BIZOTTSÁG 392/2013/EU VÉGREHAJTÁSI RENDELETE

Hangyász Hibakövető Rendszer

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

Modell alapú tesztelés mobil környezetben

GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR KOMPETENCIA FELMÉRÉSÉNEK KIÉRTÉKELÉSE TÁMOP /1

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

TERMÉK TERVEZÉSE. Tervezés: Minden termelésre vonatkozó tudatos tevékenység. A tervezés minden termelési tevékenységre jellemző.

Ikt. sz.: ADATVÉDELMI ÉS INFORMATIKAI BIZTONSÁGI SZABÁLYZAT

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

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

2. DIGITÁLIS ÁRAMKÖRÖK TESZTJEINEK SZÁMÍTÁSA (Dr. Sziray József, 2001.)

1ZSE hu, Rev. 3. UC és VUC típusú terhelés alatti fokozatkapcsolók Használati útmutató

TERMELÉSMENEDZSMENT. Gyakorlati segédlet a műszaki menedzser szak hallgatói számára. Összeállította: Dr. Vermes Pál főiskolai tanár 2006.

Követelmény, projekt, funkcionalitás 41 CSK 1

TTMER18 - ATM KAPCSOLÓK MEGFELELŐSÉGI VIZSGÁLATA ELLENŐRZŐ KÉRDÉSEK 1. MI A MEGFELELŐSÉG VIZSGÁLAT, MIKOR, HOL ÉS MIVEL VÉGZIK EZEKET A

Bánsághi Anna Bánsághi Anna 1 of 54

2. Gyakorlat Khoros Cantata

SZAKMAI TANTERVI ADAPTÁCIÓ a BEVONTELEKTRÓDÁS KÉZI ÍVHEGESZTŐ részszakképesítés HÍD II. programban történő 2 éves oktatásához

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

HACCP (Hazard Analysis Critical Control Point Kockázat Elemzés, Kritikus Ellenőrzési Pontok)


3

Programozás 1. 2.gyakorlat

MAGYAR TUDOMÁNYOS AKADÉMIA CSILLAGÁSZATI ÉS FÖLDTUDOMÁNYI KUTATÓKÖZPONT SOPRON BIZONYLATI REND 2012.

Minőségirányítás az építőiparban. Földessyné Nagy Márta okl. építőmérnök 2013.

3 Hogyan határozzuk meg az innováció szükségszerűségét egy üzleti probléma esetén

Rendszer szekvencia diagram

4. Programozási nyelvek osztályozása. Amatőr és professzionális

OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.

6. Tesztelés (Verification and Validation Testing)

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

Dinamikus evezős ergométer

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

Leggyakrabban használt adatbányászási technikák. Vezetői információs rendszerek

SZAKKÉPZÉSI TANTERVI AJÁNLÁS

Komponens modellek. 3. Előadás (első fele)

Szkeleton tervezése. 100 Generalis faliora. Csapattagok: Konzulens: Szabó András március 21.

TYÚK ÉS PULYKA TELJESÍTMÉNYVIZSGÁLATI KÓDEX IV.

PAS808 / PAS808M / PAS816 / PAS832. Behatolás Jelző Központok

Objektum Orientált Szoftverfejlesztés (jegyzet)

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

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

A követelmények leírása

Számítógépes képelemzés projektmunkák 2012

FMEA-elemzés. Karosszéria tervezés/szerelési. Gyártástervezés, Karbantartás. műveletek. Kockázati prioritás szám (RPN) Jelenlegi folyamat kontroll

1.sz melléklet Nyári gyakorlat teljesítésének igazolása Hiányzások

Ismeretanyag Záróvizsgára való felkészüléshez

9/2001. (III. 30.) EüM-FVM együttes rendelet a helyes laboratóriumi gyakorlat alkalmazásáról és ellenőrzéséről

1. mérés - LabView 1

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Eszterházy Károly Főiskola Matematikai és Informatikai Intézet. Adatszerkezetek és algoritmusok. Geda Gábor

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

1.modul Válogatások, válogatások kétfelé

P-GRADE fejlesztőkörnyezet és Jini alapú GRID integrálása PVM programok végrehajtásához. Rendszerterv. Sipos Gergely

SATEL. CA-64 RIASZTÓKÖZPONT ( es szoftver verzió) Telepítési útmutató

Az adatmodelleket többféleképpen is csoportosíthatjuk. Egyik csoportosítás:

Book Template Title. Author Last Name, Author First Name


KONFORT 700R SOROZAT

Informatika-érettségi_emelt évfolyam Informatika

Átírá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 integrált objektumok lazán kötődnek) Az újrafelhasznált objektumoknál előfordul, hogy a tesztelők nem férnek hozzá a forráskódhoz Következmény: a fehér doboz tesztelést ki kell terjeszteni (hogy lefedje a nagyobb objektumokat), és alternatív megközelítési módokat kell találni az integrációs teszteléshez Az OO tesztelés szintjei: Az objektumokhoz kapcsolódó egyedi műveletek tesztelése (a metódusok tesztelésére a fekete/fehér doboz megközelítéseket alkalmazhatjuk) Objektumosztályok tesztelése (a fekete doboz elv nem változik, de az ekvivalenciaosztályozást ki kell terjeszteni műveletsorozatokra) Objektumok egy csoportjának tesztelése (a szigorú fentről lefele/lentről felfele történő integrációs elvek nem alkalmazhatóak más megközelítést kell találni) Objektumorientált rendszer tesztelése (a rendszerkövetelményspecifikáció verifikálása és validálása más rendszerekhez hasonlóan történik)

Objektumosztály tesztelése A tesztnek a teljes lefedettséghez tartalmaznia kell: Az objektumokhoz kapcsolódó összes művelet különálló letesztelését Az objektumokhoz kapcsolódó összes attribútum beállítását és vizsgálatát Az objektum összes lehetséges állapotának vizsgálatát: az összes olyan eseményt szimulálni kell, ami állapotváltozást okoz az objektumban Példa: meteorológiai állomás: egy egyszerű attribútum: azonosító: egy konstans ami az állomás telepítésekor kerül beállításra egy olyan tesztre van szükség ami ellenőrzi, hogy be van-e állítva WeatherStation identifier reportweather () calibrate (instruments) test () startup (instruments) shutdown (instruments) tesztesetek definiálása szükséges a metódusokhoz: ideális esetben ezeket elkülönítve teszteljük, de bizonyos esetekben tesztsorozatra is szükség lehet (pl. a shutdown teszteléséhez előbb le kell futtatni startup-ot)

Objektumosztály tesztelése Ha az objektum Leállítás állapotban van, a startup metódusra reagál, majd további üzenetre vár Ha Várakozás állapotban a rendszer shutdown üzenetet kap visszatér Leállítás állapotba Ha reportweather üzenet érkezik, a rendszer összegző állapotba kerül, majd ha az összegzés elkészül, átmegy átvivő állapotba, majd miután az információ továbbítódott, visszatér Várakozás állapotba Calibrate üzenet érkezése esetén a rendszer sorban kalibráló, tesztelő majd átvivő állapotokba kerül, mielőtt visszatérne Várakozás állapotba. A test üzenet közvetlenül tesztelő állapotba viszi a rendszert Az órától érkező jel esetén a rendszer gyűjtő állapotba kerül (sorban begyűjti az adatokat a műszerektől)

OO tesztelés A meteorológiai állomás állapotainak teszteléséhez állapotmodellt kell készíteni, így meghatározható az állapotátmenetek sorozata, és az átmenetekhez szükséges eseménysorozatok. Ideális esetben az összes lehetséges átmenetsorozatot tesztelni kellene, de a gyakorlatban általában ez túl költséges A meteorológiai állomás esetében a következő sorozatokat kell tesztelni: Indítás Várakozás Leállítás Várakozás Kalibrálás Tesztelés Továbbítás Várakozás Várakozás Gyűjtés Várakozás Összesítés Továbbítás Várakozás Ha öröklődést használunk, nehezebbé válik a tesztek megtervezése: az összes örökölt műveletet tesztelni kell, hasonlóan a felülírt műveletekhez Ekvivalenciaosztályozást alkalmazhatunk: az azonos ekvivalenciaosztályba eső tesztek azonos attribútumokat használnak (ekvivalenciosztályok azonosítása: melyik műveletek inicializálják/kérdezik le/frissítik az egyes attribútumokat)

Objektumintegráció OO rendszereknél az adatok és műveletek objektumokká és objektumosztályokká épülnek össze az integráció szintjei kevésbé eltérőek A modultesztelésnek nincs közvetlen megfelelője, bár bizonyos szolgáltatások biztosítására együttműködő osztálycsoportok tesztelése is ajánlott (csoporttesztelés) Nincs magától értetődő fent ami az integráció célját jelentené, nem hozható létre az objektumok tiszta hierarchiája csoportokat kell képezni az objektumok működésének ismeretében Lehetséges megközelítések: Használati eset vagy forgatókönyv alapú tesztelés: a tesztek a használati esetek leírásain és a megfelelő objektumcsoportokon alapulnak Száltesztelés: a rendszer egy sajátos bemenetre (vagy bemenet halmazra) adott válaszának tesztelésén alapszik. Az OO rendszerek általában eseményvezéreltek meg kell határozni, hogy az események feldolgozása hogyan halad keresztül a rendszeren Objektum együttműködési teszt: együttműködő objektumcsoportok esetén módszer-üzenet útvonalak azonosítása. Kiterjesztés: atomi rendszerfüggvények (ASF) bemeneti eseményt követő MM utak, melyek kimeneti eseményhez vezetnek

Forgatókönyv alapú tesztelés Gyakran a leghatékonyabb: először a leggyakoribb forgatókönyvek kerülhetnek tesztelésre a legtöbb tesztelési munkát a leggyakrabban használt részekre lehet fordítani Példa: meteorológiai állomás A forgatókönyvek elkészítése a használati eseteken alapul Ezeket kiegészíthetjük az együttműködési és szekvencia diagramokkal Biztosítanunk kell, hogy minden osztály minden metódusa legalább egyszer futtatásra kerüljön ellenőrző listát kell készíteni a módszerekről, és egy-egy forgatókönyv kiválasztásánál meg kell jelölni a lefuttatott módszereket A szekvencia diagram alapján meghatározhatóak a teszthez szükséges bemenetek és várt outputok Forgatókönyv: a meteorológiai állomás válaszol a térképrendszer adatgyűjtési kérésére

Forgatókönyv alapú tesztelés A teszthez szükséges bemenetek/kimenetek: A beérkező jelentéskérésnek rendelkeznie kell egy hozzátartozó nyugtázással, és a kérésre válaszolva vissza kell adnia egy jelentést. A tesztelés során összesített adatokat kell készíteni, hogy ellenőrizni lehessen a jelentés szerkezetét A WeatherStation-hoz érkező jelentéskérés egy összesített jelentést eredményez. Ezt elkülönítve tesztelhetjük, olyan nyers adatok előállításával, melyek megfelelnek a CommsController tesztelésére elkészített összesítéssel, továbbá ellenőrizzük, hogy a WeatherStation objektum helyesen készíti-e el az összesítést Az adatok a WeatherData objektum tesztelésére is alkalmazhatóak A diagram egyszerűsített: egy teljes forgatókönyv alapú tesztelés esetén a kivételeket is kezelni kell :CommsController request (report) acknowledge () report () :WeatherStation summarise () :WeatherData send (report) reply (report) acknowledge ()

Tesztelési eszközrendszerek A tesztelő eszközök mára a lehetőségek egész sorát nyújtják, és lényegesen csökkenthetik a tesztelési folyamat (egyébként általában magas) költségeit. A tesztelési eszközrendszerekben általában megtalálható tesztelési eszközök: Tesztmenedzser: a programtesztek futtatását menedzseli, nyomon követi a tesztadatokat, a várt eredményeket és tesztelt programeszközöket Tesztadat-generátor: adatbázisból történő adatleválogatással, minták használatával, vagy megfelelő formájú véletlen tesztadatok generálásával tesztadatokat állít elő a tesztelt program számára Előrejelző: a várt teszteredményekre vonatkozó előrejelzéseket állít elő. Lehetnek korábbi programverziók, vagy prototípus rendszerek, melyek párhuzamosan futnak a tesztelt programmal, így kiemelhetőek a kimenetek közötti esetleges különbségek Állomány összehasonlító: a programtesztek eredményeit hasonlítja össze korábbi teszteredményekkel, és jelzi a különbségeket. Elengedhetetlenek a regressziós tesztelésnél. Jelentésgenerátor: a jelentésdefiníciókat és az eredmények generálásához szükséges eszközöket nyújtja Dinamikus elemző: a programot kiegészítő kóddal látja el, hogy mérni lehessen az egyes utasítások futtatásának számát (a teszt lefuttatása után a mérések alaján futattási profilt generál) Szimulátor: célszimulátorok (a gépet szimulálják, amelyen a futtatásra kerül majd sor), felhasználói interfész szimulátorok (több egyidejű felhasználói interakciót szimulálnak), stb.

Tesztelési eszközrendszerek Tesztelési eszközrendszer (testing workbench): Test data generator Specification Source code Test manager Test data Oracle Dynamic analyser Program being tested Test results Test predictions Execution report Simulator File comparator Report generator Test results report