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



Hasonló dokumentumok
MemoLuX Kft. MINİSÉGÜGYI KÉZIKÖNYV. Jelen példány sorszáma: 0. Verzió: Lapszám: Fájlnév: 4/0 1/30 MMKv4.doc

A szoftvertesztelés fontossága, formái, eredménye, unit tesztelés a gyakorlatban

15. Programok fordítása és végrehajtása

A szoftver tesztelés alapjai

2. fejezet Hálózati szoftver

Az informatika alapjai. 10. elıadás. Operációs rendszer

Hardware minőségellenőrzése az elektronikai gyártási folyamat során Ondrésik Tamás, O0QUL3

CellCom FELHASZNÁLÓI KÉZIKÖNYV

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

Digitális bemenetek: 2 darab 0-5V jelszintű digitális bemenet Pl. nyitásérzékelők, risztóközpontok, mozgásérzékelők, átjelzők, stb.

DUALCOM SIA IP TELEPÍTÉSI ÉS ALKALMAZÁSI ÚTMUTATÓ. V és újabb modulverziókhoz. Dokumentum verzió:

Dräger UCF 9000 Hőkamerák

Objektumorientált tesztelés

Bemutatás. Elrendezés. Leírás. Műszaki adatok. Funkciók

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

DUNAÚJVÁROSI FŐISKOLA

Módszertani útmutató városi közösségi közlekedési projektek költség-haszon elemzéséhez. Nemzeti Fejlesztési Ügynökség

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

FELHÍVÁS a XXXIII. Országos Tudományos Diákköri Konferencia Had- és Rendészettudományi Szekciójában való részvételre. A Szekció honlapja:

6. Tesztelés (Verification and Validation Testing)

A köznevelési kerekasztal eddigi munkájának értékeléséről, kiemelt figyelemmel a béremelésekre (május 05.)

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

B-KÖZÉP ELNEVEZÉSŰ NYEREMÉNYJÁTÉK RÉSZVÉTELI ÉS JÁTÉKSZABÁLYZATA

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

1116 Budapest, Kondorosi út 6. Cégjegyzékszám: Adószám:

Összegezés az ajánlatok elbírálásáról

Tagállamok - Szolgáltatásra irányuló szerződés - Ajánlati felhívás - Tárgyalásos eljárás. HU-Siófok: Javítási és karbantartási szolgáltatások

Adathálózati (Internet) szolgáltatás Általános Szerzıdési Feltételek (v1.2) Érvényes : tól. Tartalomjegyzék

Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241

Orvostechnikai eszköz tesztelése DSS Unit test. Taliga Miklós BME-IIT

1 Rendszer alapok. 1.1 Alapfogalmak

3. A Rendelet II. Fejezete a következő 3/A. -sal egészül ki: 3/A.

A SZOFTVERTECHNOLÓGIA ALAPJAI

EURÓPAI UNIÓ Az Európai Unió Hivatalos Lapjának Kiegészítő Kiadványa2, rue Mercier, L-2985 Luxembourg Fax: (352)

Közigazgatási szerződés

Számítógép Architektúrák

FELHÍVÁS a XXXIII. Országos Tudományos Diákköri Konferencia Testnevelés- és Sporttudományi Szekciójában való részvételre

Hatóságok csatlakozása az ÉTDR-hez

TÁRGYI ESZKÖZ PROGRAM

Korszerű raktározási rendszerek. Szakdolgozat

Céginfo.hu Általános Szerződési Feltételek

MAGYARORSZÁG NYUGDÍJRENDSZERE ( ) Október 5-7.

Ajánlattevőnek és közbeszerzés értékének 10 %-át meghaladó mértékben igénybe venni kívánt alvállalkozónak az 1.) és 2.) pontban foglalt alkalmassági

Szállítási szerződés

2) A közbeszerzési eljárás fajtája (tárgyalásos és gyorsított eljárás esetén annak indokolása)

Szoftverminőségbiztosítás

A MEGBÍZHATÓSÁGI ELEMZŐ MÓDSZEREK

ÁLTALÁNOS SZERZŐDÉSI FELTÉTELEK

Táj.elj.eredm. - VASIVIZ ZRt. részére nyomtatók bérlése és üzemeltetése

Csoport neve: Kisiskolások Feladat sorszáma: 2. Feladat címe: Oktatási intézmény honlapja, oktatási naplóval. E-Project.

HÁZIPÉNZTÁR PROGRAM. Kezelési leírás

Heves Megyei Vízmű Zrt. Adatvédelmi és adatbiztonsági szabályzata

EXTOX-UNI K1/K2 TELEPÍTETT GÁZÉRZÉKELŐ KÉSZÜLÉK MŰSZERKÖNYV.

MEGÉRINT A TAVASZ! NYEREMÉNYJÁTÉK RÉSZVÉTELI ÉS JÁTÉKSZABÁLYZATA

ELSZÁMOLHATÓ KÖLTSÉGEK ÚTMUTATÓJA

Ezeket a kiemelkedı sebességő számítógépeket nevezzük szuperszámítógépeknek.

B-TEL99 Kétcsatornás telefonhívó

MONITORING TÁJÉKOZTATÓ KÖZÖTTI PROGRAMOZÁSI IDŐSZAKBAN


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

Fax: +36-1/ Internetcím(ek) (adott esetben) Az ajánlatkérı általános címe (URL): A felhasználói oldal címe (URL):

2. tartály tele S3 A tartály tele, ha: S3=1 I tartály tele S5 A tartály tele, ha: S5=1 I 0.4

eokr_aszf_ /7

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

INFORMATIKA OKTATÁS ISKOLÁNKBAN

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

HU-Budapest: Orvosbiológiai berendezések 2008/S AJÁNLATI/RÉSZVÉTELI FELHÍVÁS. Árubeszerzés

3. 92/2011. (XII. 30.) NFM

Tagállamok - Szolgáltatásra irányuló szerződés - Ajánlati felhívás - Tárgyalásos eljárás. HU-Siófok: Javítási és karbantartási szolgáltatások

AJÁNLATKÉRÉSI DOKUMENTÁCIÓ

Egyéb közlemény: KÖZBESZERZÉSI ÉRTESÍTŐ A Közbeszerzési Hatóság Hivatalos Lapja ELJÁRÁST MEGINDÍTÓ FELHÍVÁS

Varga Balázs. Jake Smiles, egy link topográfiája. Jake Smiles: 1link 1

Kari Adminisztrátor. Funkcionális leírás

Egyszer használatos injekciós tűk, fecskendők beszerzése

Tisztelt Érdeklıdı, Olvasó!

I. Bevezetés. II. Általános rendelkezések

I. Általános szabályok

AJÁNLATTÉTELI FELHÍVÁSA ÉS DOKUMENTÁCIÓJA

A menetciklus a motor (hideg vagy meleg) beindításával kezdődik és a motor kikapcsolásával végződik.

CSORVÁS VÁROS ÖNKORMÁNYZATA KÉPVISELŐ-TESTÜLETÉNEK 16/2014.(XI.30.) ö n k o r m á n y z a t i r e n d e l e t e

Szervezeti- és Működési Szabályzat TARTALOMJEGYZÉK

Mérlegjegy nyomtatása külső nyomógombbal indítva


Orvosi eszközök gyártmányfejlesztése Aktív orvosi eszköz szoftver verifikálása, validálása (V&V) Dolgos Márton Budapest,

Összefoglaló az SMS Center által nyújtott szolgáltatásokról

Zöldség, gyümölcs, tojás beszerzése 10 hónapra

Működési elv (1. ábra) A főzőberendezések többségére jellemző elektromágneses tulajdonságokon alapul.

Az egyszer keres felületen sz kíthetjük a keresést adott mez re a legördül lista segítségével.

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

E rendszerben csak az az eljárás kerülhet befogadásra a közfinanszírozásba, amely szerepel az Engedélyezett Orvosi Eljárások katalógusában.

BROADBAND MEDIA HUNGARY Távközlési Szolgáltató Korlátolt Felelősségű Társaság Általános Szerződési Feltételek

ű Ö ű ű Ú Ú ű

Tagállamok - Szolgáltatásra irányuló szerződés - Ajánlati felhívás - Tárgyalásos eljárás

INTERCISA. 0. módosítás 1. oldal (25)

KÖKIR. koztató a Közúti Közlekedési Információs Rendszer bevezetéséről. Budapest, június 19.

Projekt elosztó. Projekt Terv. Verzió: 0.3. Dátum: Státusz: Draft. Készítette

Pályázati kézikönyv. az Interreg V-A Ausztria-Magyarország Program pályázói és kedvezményezettjei számára

Informatika biztonsági szabályzat


Fizikaverseny, Döntő, Elméleti forduló február 8.

Átírás:

Vezdén Eszter Dialízis gép software komponensét alkotó unitok modul tesztje követelmény és struktúra alapon Kutatói beszámoló Ipari konzulens: Trenyik Ádám, B. Braun Medical Kft.

Kutatói ösztöndíjamat a B.Braun Medical Magyarország Orvostechnológiai Kft. nél töltöttem. Ezen időszak alatt főként unit teszteléssel foglalkoztam. Beszámolómban ismertetem a dialízisgépet szoftver szempontból, illetve a unit tesztelés mikéntjét, elveit és alkalmazását a gyakorlatban. Unit teszt Fejlesztéseink során számtalanszor szükség van módosításra, új igények megvalósítására. Ehhez a már meglévő kódhoz kell hozzányúlnunk, a meglévő funkciókat ki kell egészítenünk vagy újakat kell létrehoznunk. Osztályokat tervezünk újra, kódrészleteket emelünk ki, vagy esetleg csak újakat építünk be. Képzeljük el, hogy ezt nem csak egymagunk végezzük, hanem egy csapatban dolgozunk és mások is dolgoznak azon az osztályon, amelyen mi már változtattunk az igényeknek megfelelően. Az eredmény egy dinamikusan változó, jó esetben egy egyre jobban működő, hatékonyabb és funkciókban gazdagabb kód lesz, ami tükrözi az elvárt követelményeket. A folyamatos változtatás és fejlesztés során ellenőriznünk és ügyelnünk kell, hogy a már létező és jó működésben ne okozzunk zavart. Ezt a jól tervezett, szervezett és ellenőrzött kóddal tudjuk elérni. Tételezzük fel, hogy van egy logikai egységünk, amit a változtatás után is szeretnénk, hogy jól működjön, mondjuk egy osztályunk. Elvégzem a módosításokat, majd a hagyományos módon ellenőrzöm, hogy vajon jól működik e, majd a változtatást elmentem. Tételezzük fel, hogy valaki megint változtat rajta és megint ellenőrzi, hogy jól működik e. Az ellenőrzések, vagyis az osztályok, mint logikai egységek tesztelésére használhatunk előre megírt, automatizált teszteket is, amelyeket egyszer kell megírni, majd utána csak futtatni kell és esetleg karbantartani, ha egy változtatás érinti a már meglévő tesztet. Ezáltal egyrészt időt nyerhetünk, másrészt az automatizálás révén biztosak lehetünk benne belátható időn belül, ha jól írták, meg, akkor hibátlan lesz a végeredmény. A lényeg, hogy még fejlesztési időben kiderüljön minden rendellenes működés.

Teszteléskor eltérő tesztszinteket különböztetünk meg, attól függően, hogy mekkora részegységekre írjuk a tesztet. A legalacsonyabb szint a Unit teszt, ezután jön a modul, majd alrendszer és rendszer teszt. Tesztelési elvek A unit teszt alapjait képező tesztelési elvek a következők: Dijkstra: a tesztelés nem a hiba hiányát mutatja meg, hanem a meglétét Kaner/Bach: A működés azt jelenti, hogy a requirementek egy részét vmilyen mértékben lefedi A hibátlan kód téveszméje: pl. nincs elég teszteset, nem elég szigorúak Féregirtó paradoxon: tesztesetek elöregednek karbantartás Kimerítő tesztelés nem lehetséges A hibák csoportosulnak: egy hiba további hibákat eredményezhet az interakciók miatt. A hibák 80% a a kód 20% ában van Pareto Principle Minden teszt visszavezethető kell legyen egy requirementre Korai tesztelés: a tesztelést a lehető legkorábbi időpontban el kell kezdeni és előre meghatározott célokra kell összpontosítani Három féle hibatípust különböztetünk meg: Error: amikor bekerül a kódba Defect: még tesztelés során Failure: élő rendszerben Elméletben lehetséges olyan szoftvert írni, amely elsőre is tökéletesen működik. Ámbár a fejlesztést, így a hibák kialakulását elég sok tényező befolyásolja. A hibák kialakulásának oka eredendően elég sokféle lehet, például: Programozói hiba

Kommunikáció hiánya illetve félreértés Szoftver komplexitásából eredő hiba Requirementek változása Nem pontosan definiált requirementek Nem teljes a kommunikációt leíró adat definíció Szoros határidők, nem megfelelő tervezés Rosszul dokumentált kód: maintenance munkák és változások Development tool ok hibái Különböző scriptek Teszt, input, output Unit tesztelésnél egy egy egységet önmagában, elszeparálva vizsgálunk. Mégis biztosítanunk kell egy olyan szimulált környezetet, amely a tesztelt taszk szempontjából megegyezik az eredeti környezetével. Ennek létrehozására stubokat, jelen esetben dummy taszkokat használunk. Ezek a taszkok látszólag a tesztelt taszkhoz (továbbiakban TUT, task under test) kapcsolódó szomszédos unitok funkcióját látják el, valójában viszont, csak információs csatornát jelentenek a TUT és a tesztelést vezérlő Test Organizer ( továbbiakban TO ) között. Tehát a dummy taszkok mindössze üzenetet továbbítanak. Az üzenet váltás jelen esetben SRR technikával zajlik. Az SRR mozaikszó a Send, Receive, Reply szavakból tevődik össze. Az egyik taszk üzenetet küld ( Send ) a másik taszknak, aki Receive állapotban várakozik. Ekkor a küldő blokkolt állapotba kerül. Majd az üzenet megérkeztével és feldolgozásával, a taszk a küldőnek egy válasz ( Reply ) üzenetet küld, amely azt kibillenti blokkolt állapotából. Teszt hiba esetén felmerülhet, hogy az egyik taszk bennragad egy állapotban ( deadlock ). Ennek elkerülésére definiált egy time out érték, melynek leteltével a taszk automatikusan kibillentődik az állapotból. Maga a TO több feladatot lát el. Ezek közül az egyik és legfontosabb, hogy beállítja a CM ( common memory ) értékeket a kapott adatok alapján, ezután kiküldi azokat a tesztelt taszknak, amely végrehajta rajtuk az általa képviselt feladatot, majd Reply üzenet formájában

visszaküld a választ. A TO a kapott értékeket összehasonlítja az elvárt (Expected) értékekkel és jelzi a hibát avagy egyezést. a TO további feladata még a tesztek futtatása. Az egyes unitokhoz Processz ID k vannak rendelve, így minden egyes unit egyedileg azonosíthatóvá válik, külön processzekként futtatható és ezek alapján tudnak kommunikálni egymással, valamint ezen nevek alapján kapják tulajdonságaikat az egyes dummy taszkok. A tesztek futtatásához a TO nek az azonosításhoz megfelelő adatokra van szüksége. Ilyenek a már említett Processz ID k, a tesztelendő taszk neve, illetve az ahhoz kapcsolódó taszkok neve. Az utóbbiaknál fontos kikötés az is, hogy dummy taszkként jöjjenek létre. Kell még továbbá az include fájlok elérési útja, valamint az az elérési út ahova, az outputot helyezni szeretnénk, illetve maguknak a megírt teszteknek az elérési útja. Ezeket az adatokat configurációs fájlok tartalmazzák, melyekből létrhezoható egy lista. A teszt tényleges futtatását egy perl nyelven megírt script végzi, amely ezen lista alapján betölti a configurációs fájlokat, feldolgozza azok tartalmát, ezek alapján lérehozza a kimeneti könvytárakat, valamint a tesztben résztvevő taszkokat ( TO, dummyk, tesztelt taszk ), amelyekhez hozzárendeli a már említett Processz ID kat, inícializálja a különböző üzeneteket. A teszt lefutásának végeztével a TO kitöröl egy lezáró ( lock ) fájlt jelezvén a tesztelés végét. Ezáltal futási időben is megszakíthatóvá válik a tesztelés. A fájl megszűnésével, az adatok feldolgozásra kerülnek a perl script által. Az eredményből, sok más mellett HTML illetve log fájlok generálódnak, melyekből a teszt futása, vagy esetleges sikertelensége visszakövethető. Ellenőrizhető, hogy a már említett CM ek értéke megfelel e az elvárt értékeknek, valamint az egyes üzenetváltások, esetlegesen a nemvárt üzenetek és tulajdonságaik. LCOV használatával jól lekövethető, hogy teszt közben mely sorokra és feltételekre sikerült ráfutnunk, illetve hányszor, valamint százalékos kódlefedettségi adatokat is kapunk, megkönnyítve ezzel tesztelést. Minél nagyobb a lefedettség, illetve minél jobban igazodunk az elvárt értékekhez, annál jobban növeljük a fejlesztés során kialakuló hibák észrevételének lehetőségét.

Irodalomjegyzék http://dobrenteiistvan.hu/lang/hu/2011/10/23/a unit tesztek jelentosege a fejlesztes s oran.html Magyar Tamás, BSc szakdolgozat, 2015., Kandó Kálmán Villamosmérnöki Kar Óbudai Egyetem