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

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

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

Átírás

1 Gyors szoftverfejlesztés A fejezet célja Megértetni, hogyan vezethet egy iteratív, inkrementális szoftverfejlesztési megközelítés a használhatóbb szoftverek gyorsabb átadásához Az agilis fejlesztési módszerek és a dokumentált specifikációkon, terveken alapuló szoftverfejlesztési módszerek közti különbségek megbeszélése Megismertetni az extrém programozás alapelveit, gyakorlati alkalmazásait és néhány korlátját A prototipizálás szerepének megértése a szoftverfolyamatban A fejezet témái Agilis módszerek Extrém programozás Gyors alkalmazásfejlesztés Szoftverprototípus készítése Gyors szoftverfejlesztés A gyorsan változó gazdasági környezet miatt a vállalatoknak gyors válasszal kell reagálniuk a versenykihívásokra, kihasználva az új lehetőségek adta előnyöket. A szoftverrendszereknél így ma az egyik legkritikusabb követelmény a gyors fejlesztés és üzembe helyezés. Sok vállalat hajlandó engedni a minőségből és kompromisszumokat köt a szoftver gyors üzembe helyezése érdekében. Követelmények A folyamatosan változó környezet miatt, sokszor gyakorlatilag lehetetlen, hogy a szoftverrel kapcsolatban stabil elvárásokat fogalmazzanak meg. Ezért a hagyományos vízesés modell nem felel meg a fejlesztéshez, hanem iteratív folyamat alkalmazása a célravezető, ahol a specifikáció, a tervezés, a fejlesztés és a tesztelés átfedi egymást. A RAD folyamatok néhány közös jellemzője A specifikáció, a tervezés és az implementálás folyamata konkurens módon zajlik. Nincs részletes rendszer-specifikáció, a tervezési dokumentáció minimális. A felhasználói elvárások leírása csak a rendszer legfontosabb jellemzőit határozza meg. A rendszert lépésről lépésre fejlesztik. A végfelhasználók is részt vesznek minden lépés specifikálásában és kiértékelésében. Új követelményeket és változtatásokat fogalmazhatnak meg, melyeket egy későbbi fejlesztési lépésben kellene megvalósítani. A rendszer felhasználói felülete gyakran egy beépített fejlesztői környezet használatával készül el. Egy iteratív fejlesztési folyamat

2 Az inkrementális fejlesztés előnyei Az ügyfélszolgáltatások gyorsított átadása. A rendszer korai inkremensei tartalmazhatják a leglényegesebb funkcionalitásokat, így az ügyfél a rendszerből már a fejlesztés korai szakaszában is hasznot tud húzni. A gyakorlati megvalósítást látva megfogalmazhatnak változtatásokat. Felhasználói elkötelezettség a rendszerrel mellett. Visszajelzéseket adnak az előző lépés után elkészült rendszerről. Részvételük nem csak azt jelenti, hogy a rendszer sokkal inkább meg fog felelni a követelményeknek, hanem azt is, hogy a végfelhasználók elkötelezték magukat a szoftver használata mellett és szeretnék működő állapotba hozni azt. Az inkrementális fejlesztés problémái Kezelési problémák Nehéz megítélni az előrehaladottság állapotát és nehezebb megtalálni a problémákat, mert nem áll rendelkezésre klasszikus struktúrájú rendszerdokumentáció. Szerződésbeli problémák Egy hagyományos szerződés a rendszerspecifikáción alapszik; ennek hiányában más alapon kell a szerződést megkötni. Validációs problémák Ha nincs meg a specifikáció, hogyan teszteljük a rendszert? Karbantartási problémák A folyamatos változtatás hibás szoftverstruktúrához vezethet, amely még drágábbá teheti a változtatást és az újabb igényeknek való megfelelést. Prototípus-készítés Nagyobb rendszerek esetében az inkrementális fejlesztés és átadás nem a legjobb megközelítés; különösen igaz, ha több, más-más helyen levő csoport fejleszti a rendszert. A prototípus-készítés olyan kísérleti rendszerek kifejlesztésének iteratív folyamata, amely segít megérteni a szoftverfejlesztőnek és az ügyfélnek, hogy valójában mit is kell implementálni. A prototípus a folyamat végén eldobásra kerül, nem kerül az ügyfélhez kihelyezésre. Inkrementális fejlesztés vs. eldobható prototípus-készítés Követelmények körvonalazása Inkrementális fejlesztés Átadott rendszer Eldobható prototípus-készítés Futtatható prototípus + rendszerspecifikáció Különböző célkitűzések Az inkrementális fejlesztés célja, hogy egy működő rendszert szolgáltasson a végfelhasználóknak. A fejlesztés a leginkább megértett és legmagasabb prioritású felhasználói követelményekkel indul. Az eldobható prototípus-készítés célja, hogy validálja vagy származtassa a rendszerkövetelményeket. Ekkor a legkevésbé érthető követelményekkel célszerű kezdeni. Agilis módszerek Az időigényes tervezési módszerekkel való elégedetlenség miatt a 90-es években létrejöttek az agilis módszerek: Inkább a szoftverre való fokuszálás a terv és a dokumentáció helyett; A specifikáció, a fejlesztés és az átadás iteratív megközelítésére alapoznak; Célja, hogy a működő szoftvert minél hamarabb átadhassák az ügyfélnek, aki ezt követően új és változtatott követelményeket javasolhat. Az agilis módszerek a kis- és középvállalkozások rendszereinek, illetve a személyi számítógépes termékek fejlesztésére a legalkalmasabbak.

3 Az agilis módszerek alapelvei Az ügyfél bevonása Az ügyfeleket minél jobban be kell vonni a fejlesztési folyamatba. A szerepük az, hogy a rendszerkövetelményekről gondoskodjanak, azokat priorizálják és kiértékeljék a rendszer minden egyes iterációját. Inkrementális átadás A szoftver lépésenként fejlődik, az ügyfél adja meg a követelményeket, amelyeket majd az egyes lépésekben implementálni kell. Az emberek nem folyamatok A fejlesztőcsapat képességeit ismerni kell és ki is kell használni. Hagyjuk, hogy a csapattagok a feladatokat a saját módszerükkel végezzék el, nem pedig előírt folyamatok szerint. Változtatási lehetőség Számítani kell a rendszerkövetelmények változására és úgy kell tervezni a rendszert, hogy azzal összeegyeztethetők legyenek ezek a változások. Kezelési egyszerűség Az egyszerűségre kell koncentrálni mind a fejlesztendő szoftver, mind a fejlesztési folyamat tekintetében. Dolgozni kell a rendszer komplexitásának csökkentésén. Problémák az agilis módszerekkel Gyakran nehéz megtartani a bevont ügyfél érdeklődését a fejlesztési folyamatban. Esetleg az egyes csapattagok nem rendelkeznek megfelelő személyi adottságokkal az intenzív részvételhez, ami viszont jellemző az agilis módszerek esetében. A változtatások fontossági sorrend szerint való elrendezése nehéz olyan rendszereknél, ahol sok érintett van. Az egyszerűség fenntartása külön munkát igényel. Az inkrementális specifikáció miatt a szerződések megkötése nehezebb lehet. Extrém programozás Talán a legismertebb és legszélesebb körben használt agilis módszer. Az extrém programozás (XP) az iteratív fejlesztés extrém megközelítését használja. Naponta többször megjelenhet a szoftver egy új verziója; Az inkremensek nagyjából kéthetente kerülnek az ügyfélhez; Minden teszten végig kell futtatnia a következő verziót és az csak akkor fogadható el, ha minden teszt sikeresen lefutott. Az extrém programozás kiadási ciklusa A kiadáshoz tartozó felhasználói történet kiválasztása A történet feladatokra bontása A kiadás tervezése A szoftver fejlesztése / integrálása / tesztelése A szoftver kiadása A rendszer értékelése Az XP magában foglalja az agilis módszerek alapelveit Az inkrementális fejlesztés a rendszer kisméretű, gyakori kiadásán keresztül valósul meg, valamint a követelmények felhasználói történetekkel való megadásával. A forgatókönyvek a folyamattervezés alapját képezik. Az ügyfél részvételének biztosítása elérhető a fejlesztőcsapatba történő teljes munkaidős bevonásával. Részt vesz a fejlesztésben és a rendszer elfogadási tesztjeinek meghatározásáért felelős. A párban való programozás, a rendszerkód feletti együttes tulajdonjog, illetve egy olyan fejlesztési folyamat, amely nem von maga után felesleges munkaórákat, az embereket támogatja, nem a folyamatokat. A változtatásokat a rendszeres rendszerverziók, az előrehozott tesztelést alkalmazó fejlesztés és a folyamatos integráció támogatja. Az egyszerűség fenntartásához szükséges a kód minőségének folyamatos tökéletesítéssel történő növelése.

4 Követelmények és forgatókönyv Az XP-folyamatban minden követelményt forgatókönyvként állítanak össze (felhasználói történet). Közösen kifejlesztenek egy történetkártyát, ami magában foglalja az ügyfél kéréseit. A fejlesztőcsapat ezt feladatokra bontja és megbecsüli az implementáláshoz szükséges időt és erőforrásokat. Az ügyfél ezután rangsorolja az implementálandó történeteket a prioritásuk és a megvalósításukhoz szükséges idő alapján. Dokumentumletöltés történetkártyája Egy cikk letöltése és kinyomtatása Először válasszuk ki egy megjelenített listából a kívánt cikket. Aztán adjuk meg a rendszernek a fizetési módot ez történhet előfizetéssel, vállalati számláról vagy hitelkártyával. Ezután kapunk egy kitöltendő szerzői jogi űrlapot. Ha ezt elküldtük, a cikk letöltődik a számítógépünkre. Ezután választunk egy nyomtatót és kinyomtatjuk a cikk egy másolatát. Közöljük a rendszerrel a sikeres nyomtatás tényét. Ha a cikk csak nyomtatható, akkor nem őrizhetjük meg a PDF-verziót, így az automatikusan törlődik a számítógépünkről. XP és a változtatások A hagyományos szoftvertervezés egyik alapelve, hogy a változtatásokra kell tervezni. Érdemes időt és energiát szentelni az előretekintésre, hogy milyen változtatások várhatóak a jövőben, mivel ez költségcsökkenést okoz a teljes életciklusban. Az XP figyelmen kívül hagyja ezeket az alapelveket mondván, hogy gyakran nem az előre megjósolt változtatások valósulnak meg. Inkább a szoftver folyamatos kódátszervezését javasolja, tehát a programozócsapat tökéletesítési lehetőségeket keres a szoftverben. A dokumentumletöltés feladatkártyái 1. feladat: A fő munkafolyamat implementálása 2. feladat: A cikk-katalógus és kiválasztás implementálása 3. feladat: A fizetési lehetőségek implementálása 4. A dokumentumletöltés feladatkártyái (ez egy példa lehet?) 3.feladat: A fizetési lehetőségek implementálása A fizetés három különböző úton történhet. A felhasználó kiválasztja, hogy milyen módon szeretne fizetni. Ha a felhasználónak van könyvtári olvasójegye, akkor beírhatja ide annak az azonosítóját, amit a rendszernek ellenőriznie kell. Másik lehetőség, hogy megad egy szervezeti számlaszámot. Ha az érvényes, akkor a cikknek megfelelő költséggel megterhelik a számlát. Végül beírható a 16 számjegyből álló hitelkártyaszám és a lejárati dátum. Ellenőrizni kell ennek az érvényességét és amennyiben érvényes, akkor terhelést kell küldeni a hitelkártyaszámlára. Tesztelés az XP-ben l Előrehozott teszteléssel történő fejlesztés l Inkrementális tesztfejlesztés a forgatókönyvek alapján l Felhasználók bevonása a tesztek fejlesztésébe és validálásába l Automatizált tesztelőeszközök használata

5 Tesztesetleírások Hitelkártya érvényességének ellenőrzése Bemenet: A hitelkártyaszámot egy karaktersorozat, míg a kártya lejárati hónapját és évét két egész szám reprezentálja. Tesztek: Ellenőrizni kell, hogy a karaktersorozat minden bájtja számjegy-e. Ellenőrizni kell, hogy a hónap 1 és 12 között van-e és az év nagyobb vagy egyenlő-e az aktuális évvel. A hitelkártya számának első négy számjegye alapján ellenőrizni kell a kibocsátó érvényességét a kártyakibocsátók táblázata alapján. A hitelkártya érvényességét ellenőrizzük úgy, hogy elküldjük a kártyaszámot és a lejárati dátumot a kártya kibocsátójához. Kimenet: Ok vagy hibaüzenet, ami a kártya érvénytelenségét jelzi. Előrehozott teszteléssel történő fejlesztés A teszt előzetes elkészítése a kód megírása előtt feltételezi a követelmények és a specifikáció pontos ismeretét, amelyeket majd implementálni kell. A tesztet, mint futatható komponenst előbb írjuk meg, mint ahogy a feladatot implementálnánk. Az implementáció után a teszt rögtön futtatható az automatizált tesztkörnyezet segítségével. A összes korábbi és új teszt automatikusan futtatásra kerül, amikor egy új funkcionalitás hozzáadásra kerül a rendszerhez. Így ellenőrizhető, hogy az új funkcionalitás nem okozott hibát a már meglévő alkalmazásrészekben. Páros programozás Az XP folyamatban a programozók párban dolgoznak a szoftverfejlesztés alatt, gyakorlatilag együtt ülnek ugyanahhoz a munkaállomáshoz a szoftver fejlesztésére. Támogatja a rendszerre vonatkozó közös tulajdon és felelősségtudat érzését. Úgy működik, mint valamilyen informális átvizsgálási folyamat, mert minden egyes kódsort legalább két ember átnéz. Segít a kódátszervezésben, ami a szoftver tökéletesítésének egy folyamata. A fejlesztői eredményesség a párban való programozás esetében vetekedik a két külön dolgozó egyén termelékenységével. Gyors alkalmazásfejlesztés Bár az agilis módszerek nagy figyelmet kaptak az elmúlt néhány évben, a vállalati rendszereket már sok éve fejlesztik iteratívan, gyors alkalmazásfejlesztési technikákat használva. Adatintenzív üzleti alkalmazások fejlesztésére használták. Olyan eszközkészletekbe vannak szervezve, melyek adatokkal kapcsolatos programozási feladatokat valósítanak meg. A RAD-környezetben található eszközök Adatbázis-programozási nyelv Interfész-generátor Kapcsolat irodai szoftverekkel Jelentésgenerátor Egy RAD környezet

6 Verifikáció és validáció A fejezet célja A verifikáció és validáció bemutatása, a köztük lévő különbség tisztázása A programátvizsgálás, mint a programban előforduló hibák felderítésének módszerének megismerése Az automatizált statikus elemzés és a verifikációba és validációban betöltött szerepének elemzése A statikus elemzés megismerése a Cleanroom fejlesztési folyamatban A fejezet témái Verifikáció- és validációtervezés Szoftverek átvizsgálása Automatizált statikus elemzés Verifikáció és formális módszerek Verifikáció és validáció Verifikáció: A terméket jól készítjük el? A szoftver megfelel specifikációjának. Validáció: A megfelelő terméket készítjük el? A szoftver megfelel-e a megrendelő elvárásainak? A V & V folyamat A teljes szoftverfejlesztési folyamatot átöleli, minden szintjén megjelenik Két fő célja A rendszer hibáinak felfedezése Annak a vizsgálata, hogy egy rendszer hasznos és használható-e működés közben V& V céljai A verifikációs és validációs folyamat célja megbizonyosodni arról, hogy a szoftverrendszer a célnak megfelel. Ez nem jelenti azt, hogy teljesen mentes a hibáktól. Inkább azt jelenti, hogy elég jónak kell lenni arra a célra, amire használni akarják. Az elfogadási szint több tényezőtől függ. V & V elfogadási szint Függ a rendszer céljától, a rendszer felhasználóinak elvárásaitól és a piaci környezettől Szoftver funkció Mennyire kritikus a szervezet számára a szoftver Felhasználói elvárások Bizonyos szoftverekkel szemben lehetnek alacsonyabbak a felhasználói elvárások Piaci környezet Hamarabb kijönni a piacra, fontosabb lehet, mint a hibák megtalálása Statikus és dinamikus ellenőrzés Szoftverátvizsgálások. A rendszer reprezentációját elemzik és ellenőrzik (követelmény dokumentumot, tervábrákat, forráskódot) (statikus elemzés) Kiegészíthető automatikus terv és kódelemzéssel Szoftvertesztelés. Az implementáció működés közbeni vizsgálata, tesztadatokkal (dinamikus elemzés) A rendszert tesztadatokkal futtatják és működését figyelik

7 Statikus és dinamikus V&V Program tesztelése Csak az előbúvó hibát lehet megtalálni Az egyetlen technika a nemfunkcionális követelmények tesztelésére a program végrehajtása A statikus elemzéssel együtt ad teljes eredményt Tesztelési típusok Hiányosságtesztelés A rendszer hiányosságainak feltárására szolgáló teszt Validációs teszt Megmutatja, hogy a szoftver megfelel a követelményeknek A sikeres teszt megmutatja, hogy a szoftver megfelel a követelményeknek, vagyis ez az, amit a vásárló/megrendelő szeretne Tesztelés és belövés A tesztelés és a belövés két külön folyamat. A tesztelés a hibák felfedésére szolgál A belövés a hibák helyének meghatározása és ezek kijavítása A belövés folyamata V & V tervezése Körültekintő tervezés szükséges a megfelelő tesztelési és felügyeleti folyamatok kidolgozásához A tervezési szakasz korai fázisában kell elkezdődnie Egyensúlyt kell kialakítania a verifikáció és a validáció statikus és dinamikus technikái között A teszttervezés nemcsak a terméktesztek leírására szolgál, hanem szabványok megalkotására is a tesztelési folyamat számára

8 Teszttervek, mint fejlesztés és tesztelés közötti kapcsolatok (V-model) A tesztelési terv fő komponensei A tesztelési folyamat A követelmények nyomonkövethetősége Tesztelt elemek A tesztelés ütemezése Tesztdokumentáló eljárások Hardver- és szoftverkövetelmények Megszorítások Szoftverek átvizsgálása Áttekinthetjük a szoftverrendszert hibák, kimaradt részek és anomáliák után kutatva Az átvizsgálás statikus folyamat, nem kíván programvégrehajtást, így a valós működés előtt alkalmazható A szoftver bármilyen olvasható reprezentációja (követelmények, terv) átvizsgálható Hatékony technika a program hibáinak felfedésére Átvizsgálás előnyei Sok különböző hiba felderíthető egy átvizsgálási folyamatban. A tesztelésnél egy hiba más hibákat elfedhet, ezért több futtatás szükséges. A szakterületi és programozási ismeretek újrafelhasználhatók, az átvizsgálást végzők valószínűleg találkozhattak hasonló típushibával Átvizsgálás és tesztelés Az átvizsgálás és tesztelés egymást kiegészítő és nem egymást helyettesítő folyamatok Mindkettő a verifikációs és validációs folyamat része Az átvizsgálás a specifikációnak való megfeielést vizsgálja, nem pedig a megrendelő igényeinek való megfelelést Az átvizsgálással nem lehet nemfunkcionális jellemzőket vizsgálni, mint pl. teljesítmény, használhatóság, stb. Program átvizsgálás Formálizált folyamat az átvizsgálás dokumentálására A hiányosságok, hibák megtalálására szolgál elsődlegesen (nem javításra) Lehetnek logikai hibák, a kódban található anomáliák (pl. hibás feltételt rejtenek) vagy meg nem felelés a szervezeti és projektszabványoknak Átvizsgálás előfeltétele Precíz specifikáció kell A csapattagoknak jól kell ismerniük a szervezeti szabványokat Szintaktikusan helyes kód vagy más rendszer-reprezentáció szükséges Hibalistát kell készíteni A vezetésnek el kell fogadni a magasabb költségeket a szoftverfejlesztés kezdeti szakaszában Nem célszerű, hogy a menedzsment a fejlesztőcsapatot vizsgálja vele (pl.: ki csinálja a hibákat)

9 Az átvizsgálási folyamat Átvizsgálási folyamat Áttekintést biztosítanak az átvizsgálócsapatnak a rendszerről A kódot és egyéb dokumentációkat előzetesen megkap az átvizsgálócsapat Elvégzik az átvizsgálást és a talált hibákat feljegyzik Változtatásokat tesznek a felfedezett hibák kijavítására Újraátvizsgálás vagy szükséges vagy nem Átvizsgálási szerepkörök Author or owner The programmer or designer responsible for producing the program or document. Responsible for fixing defects discovered during the inspection process. Inspector Finds errors, omissions and inconsistencies in programs and documents. May also identify broader issues that are outside the scope of the inspection team. Reader Scribe Chairman moderator or Presents the code or document at an inspection meeting. Records the results of the inspection meeting. Manages the process and facilitates the inspection. Reports process results to the Chief moderator. Chief moderator Responsible for inspection process improvements, checklist updating, standards development etc. Átvizsgálási ellenőrzőlista A szokványos, általános hibák leellenőrzésére egy ellenőrzőlista kell, amely alapján az átvizsgálás zajlik Az ellenőrzőlista programozási nyelv függő és a valószínűsíthető, programnyelvre jellemző hibákat tartalmazza Általában ha gyengébb a típusellenőrzés, hosszabb az ellenőrzőlista Például: Kezdőérték megadása, konstansok elnevezése, ciklusból való kilépés, tömb túlindexelés Átvizsgálási mutatók 500 utasítás/óra első átfutáskor 125 utasítás/óra egyéni előkészület során utasítás/óra vizsgálható át a felülvizsgálati találkozó során Az átvizsgálás emiatt egy költséges folyamat 500 sor átvizsgálása kb. 40 emberóra

10 Automatizált statikus elemzés A statikus analizátorok szoftvereszközök a forráskód feldolgozására Elemzik a forráskódot és megpróbálják felfedezni a potenciális hibákat Nagyon hatékony segítség az átvizsgálás folyamatában Nem helyettesítik az emberi átvizsgálást Statikus elemzési lista Fault class Data faults Control faults Static analysis check Variables used before initialisation Variables declared but never used Variables assigned twice but never used between assignments Possible array bound violations Undeclared variables Unreachable code Unconditional branches into loops Input/output faults Variables output twice with no intervening assignment Interface faults Storage management faults Parameter type mismatches Parameter number mismatches Non-usage of the results of functions Uncalled functions and procedures Unassigned pointers Pointer arithmetic A statikus elemzés szakaszai A vezérlés folyamatának ellenőrzése. Ciklusok ellenőrzése több belépési és kilépési ponttal, soha le nem futó kód megtalálása, stb. Az adathasználat elemzése. Inicializálatlan változók, többször outputra kerülő változók értékük megváltozása nélkül, deklarált, de soha el nem használt változók, stb. Interfészelemzés. Elemzi a rutinok és eljárások deklarációjának konzisztenciáját és azok használatát Az információáramlás elemzése. A bemenő és kimenő változók közötti függőségeket ismeri fel. Hogyan számolódik ki egy érték, milyen feltételek befolyásolják Útvonalelemzés. A szemantikus elemzés e szakasza azonosítja a program összes lehetséges végrehajtási útvonalát. Mindegyik szakasz sok információt szolgáltat. Körültekintéssel kell értelmezni őket. A statikus elemzés használata Különösen hasznos egy gyengén típusos nyelv esetén és ezért a fordító sok hibát nem észlel. Kevéssé költséghatékony olyan nyelveknél, mint pl. a Java, melyek erősen típusosak, ezért a fordítás során több hiba kiderül. Verifikáció és formális módszerek A formális módszerek akkor használhatók, ha a rendszer matemaikai specifikációja létrehozásra kerül. Alapvető ellenőrzési technika. Mély matematikai analízist kívánnak a specifikáció alapján. Programhelyesség bizonyítása.

11 Érvek a formális módszerek mellett A matematikai specifikáció a követelmények részletes analízisét kívánja, amely valószínű, hogy hibákat fed fel. Implementációs hibákat detektálnak a tesztelés előtt,amikor a program a specifikáció alapján analizálásra kerül. Érvek a formális módszerekkel szemben Speciális jelölésrendszere van, amelyet a program szakterületének ismerői nem értenek. Nagyon költséges a specifikációt kidolgozni és még költségesebb megmutatni, hogy a program megfelel specifikációjának. Általában más V & V technikák használatával olcsóbban el lehet érni a hasonló helyességi szintet. Cleanroom szoftverfejlesztés A név a félvezetőgyártásból ismert 'Cleanroom fogalomból származik. A filozófia a hiba elkerülése, szemben a hiba kijavításával A szoftverfolyamat a következőkön nyugszik: Inkrementális fejlesztés; Formális specifikáció; Statikus verifikáció; Statisztikus tesztelés a program megbízhatóságának meghatározására. The Cleanroom process Cleanroom folyamat jellemzői Formális specifikáció állapotátmenet modell használatával. Inkrementális fejlesztés a megrendelő prioritásai alapján. Strukturált programozás limitált vezérlési és absztrakciós szerkezetek felhasználása a programban. Statikus ellenőrzés szigorú átvizsgálással. A rendszer statisztikus tesztelése. (később lesz róla szó) A formális specifikáció és az átvizsgálás Az állapot alapú modell egy rendszer specifikáció, az átvizsgálási folyamat a programot ellenőrzi a modellel szemben. A programozási megközelítés úgy definiált, hogy a modell és a rendszer közti kapcsolat tiszta. Matematikai érvek (nem bizonyítás) kerülnek felhasználásra a helyesség bizonyosságának növelésére az átvizsgálási folyamatban. Cleanroom folyamat teamjei Specifikációs csapat. A rendszerspecifikáció kifejlesztéséért és karbantartásáért felelős. Fejlesztő csapat. A szoftver fejlesztéséért és ellenőrzéséért felelős. A szoftver nem kerül végrehajtásra vagy akár még fordításra ezalatt a folyamat alatt. Átvizsgáló csapat. A statisztikus tesztek kifejlesztéséért felelős, melyekkel a fejlesztés után a szoftvert átvizsgálják. Megbízhatóságot növelő modelleket használnak az elfogadható megbízhatósági szint meghatározásához.

12 Cleanroom folyamat értékelése A Cleanroom folyamat használatának eredményei szembetűnőek az elkészített rendszerekben utólag felfedezett kevés hiba miatt. Egymástól független feladatok mutatják, hogy a folyamat nem drágább, mint más megközelítés. Kevesebb hiba, mint a tradicionális fejlesztési folyamatokkal. Mégis a módszer nem széles körben használt. Nem tiszta, hogy hogyan vihető át a megközelítés olyan környezetbe, ahol kevésbé képzett és motivált szoftvertervezők vannak. Szoftvertesztelés A fejezet célja A validációs és a hiányosságtesztelés közti különbség megismertetése A rendszertesztelés és komponenstesztelés alapelveinek áttekintése A tesztesetek létrehozásának stratégiái A tesztautomatizáláshoz használt eszközök alapvető jellemzőinek bemutatása A fejezet témái Rendszertesztelés Komponenstesztelés Tesztesetek tervezése Tesztautomatizálás A tesztelési folyamat Komponenstesztelés Különálló programalkotórészek tesztelése Általában a komponens fejlesztőjének felelőssége A tesztek a fejlesztő gyakorlatából következnek Rendszertesztelés Rendszerré vagy alrendszerré integrált komponensek csoportjainak tesztelése Általában független tesztelőcsoport végzi A tesztek a rendszerspecifikációból következnek Tesztelési fázisok Hiányosságtesztelés A hiányosságtesztelés célja a program hiányosságainak felfedése A sikeres hiányosságteszt a programot egy rendellenes módon való működésre készteti A teszt a hiba jelenlétét mutatja, nem a hiba hiányát Tesztelési folyamat céljai Validációs tesztelés Cél, hogy megmutassa a fejlesztőnek és a megrendelőnek, hogy a szoftver megfelel a követelményeknek A sikeres teszt megmutatja, hogy a rendszer úgy működik, ahogy elképzelték Hiányosságtesztelés Cél a hibák vagy hiányosságok felfedezése a szoftverben, ahol a viselkedése helytelen vagy nem felel meg a specifikációjának A sikeres teszt a rendszert hibás működésre készteti, így rávilágít a rendszer hiányosságaira

13 A szoftvertesztelési folyamat Tesztelési irányelvek Csak a kimerítő, teljes tesztelés mutathatja meg, hogy a program hiányosságoktól, hibáktól mentes A kimerítő, teljes tesztelés lehetetlen A tesztelési irányelvek meghatározzák a megfelelő rendszertesztek kiválasztását: Az összes, menükön keresztül elérésre kerülő funkció tesztelendő Ugyanabból a menüből elérhető funkciók kombinációja tesztelésre szorul Ahol felhasználói adatbevitel történik, ott az összes függvényt tesztelni kell helyes és helytelen bemenetre Rendszertesztelés Vele jár a komponensek rendszerré vagy alrendszerré való összeillesztése Növekedési lépésenként való tesztelést tesz lehetővé az átadáshoz. Két fázis: Integrációs tesztelés - a tesztelőcsoport hozzáfér a rendszer forráskódjához. A rendszert a komponensek hozzáadásával párhuzamosan, fokozatosan tesztelik Kiadástesztelés - a tesztelőcsoport a teljes rendszer teszteli és feketedobozként kezeli Integrációs tesztelés Magában foglalja a rendszer komponenseiből történő felépítését és tesztelését a komponensek együttműködéséből adódó problémák felderítésére Fentről lefelé történő integráció (Top-down) A rendszer váza kerül kifejlesztésre, majd ehhez adódnak hozzá a komponensek. Lentről felfelé történő integráció (Bottom-up) Az infrastrukturális komponensek (pl.: hálózati, adatbázis-elérés) készülnek el, majd a funkcionális komponensek kerülnek hozzáadásra. A hiba lokalizálásának megkönnyítéséhez a rendszer integrálása és tesztelése során mindig inkrementális megközelítést kell alkalmazni Inkrementális integrációs tesztelés A T1 A T1 A T1 T2 B T2 T2 B T3 B T3 C T3 T4 C T4 D T5 Test sequence 1 Test sequence 2 Test sequence 3

14 Integráció típusainak néhány előnye Architektúra validálása A fentről-lefelé történő integrációs tesztelés jobb, ha a rendszerarchitektúra hibáit akarjuk feltárni Rendszer bemutatása A fentről-lefelé történő integrációs tesztelés lehetővé teszi a rendszer korlátozott bemutatását a fejlesztés korai fázisában Teszt implementálása Gyakran könnyebb a lentről-felfelé történő integrációs tesztelés esetében Teszt megfigyelése, kiértékelése Mindkét megközelítésnél probléma, hogy további kódot kell kifejleszteni ahhoz, hogy lehetővé tegyük a rendszer futtatását Kiadástesztek A kiadástesztelés az a folyamat, amelynek során a rendszervásárlóknak leszállítandó kiadás tesztelése történik A folyamat elsődleges célja, hogy növelje a bizalmat abban, hogy a rendszer megfelel követelményeinek A kiadástesztelés általában egy fekete doboz folyamat (funkcionális tesztelés) A teszteket a rendszer specifikációjából származtatják A tesztelőnek nem kell foglakoznia a szoftver implementációjával A fekete doboz teszt Tesztelési irányelvek Tesztelési irányelvek, melyek növelik a sikeres hiányosságtesztelés valószínűségét Válasszunk olyan bemeneteket, amelyek rákényszerítik a rendszert arra, hogy az összes hibaüzenetet legenerálja Alkalmazzunk olyan inputokat, amelyek a bemeneti pufferek túlcsordulását eredményezik Ugyanazon inputot vagy inputsorozatot több alkalommal is ismételjük meg Kényszerítsük ki az érvénytelen outputok generálását Kényszerítsük ki azt, hogy a számítási eredmények túl kicsik vagy túl nagyok legyenek

15 Forgatókönyv-alapú tesztelés Egy Skóciában amerikai történelmet hallgató diák azt a feladatot kapja, hogy írjon dolgozatot A határvidék, mint nemzetalakító tényező az amerikai Nyugaton, 1840 és 1880 között címmel. Ehhez sok könyvtárból szüksége lesz különböző forrásokra. Belép a LYBSYS-rendszerbe, és a keresési funkció segítségével megtudja, hogy hozzáférhet-e korabeli dokumentumokhoz. Különböző amerikai egyetemi könyvtárakban megtalálja őket, közülük néhányat letölt. Egy dokumentumhoz csak akkor juthat hozzá, ha egyeteme megerősíti, hogy ő valóban diák, és nem üzleti célokra szeretné a dokumentumot használni. A LIBSYS ilyen engedélyek igénylését kezelő modulja rögzíti kérését, majd ha megkapja az engedélyt, a dokumentum letöltésre kerül a regisztrált könyvtár szerverére, majd kinyomtatják számára. A hallgató üzenetet kap a LYBSYS-től, amelyben arról tájékoztatják, hogy majd ben értesítik, hogy mikor mehet a kinyomtatott dokumentumért. A rendszer tesztje 1. Helyes és helytelen bejelentkezési információkkal tesztelni kell a bejelentkezési mechanizmust, hogy meggyőződjünk arról, hogy a rendszer beengedi a hitelesített felhasználókat, míg a többieket nem. 2. Tesztelni kell a keresési funkciót is, hogy ellenőrizni tudjuk, hogy az ismert adatforrásokra kiadott lekérdezések valójában találnak eredményként dokumentumokat. 3. A megjelenítő rész tesztelésére is szükség van, ezzel azt ellenőrizzük, hogy a dokumentumok információi megfelelően jelennek-e meg. 4. Tesztelni kell a letöltési jogosultság kérelmezési mechanizmusát. 5. A letöltött és kinyomtatott dokumentum hozzáférhetőségéről szóló üzenetküldést is tesztelni kell. Használati esetek A használati esetek a rendszer tesztelésének alapját képezhetik. Segítenek meghatározni a tesztelésre szoruló műveleteket és megtervezni a kívánt teszteseteket A kapcsolódó szekvenciadiagramokkal a tesztesetekhez szükséges bemenetek és kimenetek is meghatározhatók Időjárási adatok begyűjtésének szekvenciadiagramja

16 Teljesítménytesztelés Miután a rendszer integráltuk, lehetséges a rendszer eredendő tulajdonságainak a tesztelése, mint például a teljesítmény és a megbízhatóság A teljesítményteszt általában tesztek olyan sorozatát foglalja magában, ahol a terhelés mindaddig állandóan nő, amíg a rendszer terhelése elfogadhatatlanná nem válik Stressztesztelés Működteti a rendszert a tervezési határain túlmutató terheléssel. Olyan hiányosságok is előjöhetnek, melyekre a normális működés közben nem derülne fény Teszteli a rendszer viselkedését szélsőséges körülmények között. A rendszer nem omolhat össze katasztrofálisan. Nem lehet adatvesztés vagy a felhasználói szolgáltatások váratlan eltűnése Komponenstesztelés A komponenstesztelés (egységtesztelés) a rendszer önálló komponenseinek elszigetelt tesztelése A tesztelendő komponensek lehetnek: Önálló függvények vagy objektumok esetén metódusok Több attribútumot és metódust tartalmazó objektumosztályok Különböző objektumokból és/vagy függvényekből készült összetett komponensek, amelyek funkcionalitását interfészeken keresztül érjük el Objektumosztályok tesztelése A teljes tesztnek tartalmaznia kell Az objektumhoz kapcsolódó összes művelet különálló tesztelését Az objektumhoz kapcsolódó összes attribútum beállítását és vizsgálatát Az objektum összes lehetséges állapotának a vizsgálatát Az öröklés még nehezebbé teszi az objektumosztályokra vonatkozó tesztek megtervezését Meteorológiai állomás interfésze WeatherStation identifier repor tweather () calibrate (instruments) test () star tup (instruments) shutdown (instruments) Meteorológiai állomás tesztelése Meg kell határozni a teszteseteket a következő metódusokhoz: reportweather, calibrate, test, startup és shutdown Állapotmodellt használva azonosítható a tesztelendő állapotátmenetek sorozata és meghatározhatók az ezen átmenetek eléréséhez szükséges eseménysorozatok Például: Leállí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 Interfésztesztelés Célja az interfész hibáinak a kiderítése Különösen fontos az objektumorientált és komponensalapú fejlesztésben, mivel a komponensek funkcionalitását az interfészükön keresztül érhetjük el

17 Interfésztesztelés Interfész típusok Paraméter-interfészek Adatok továbbítódnak az egyik komponenstől a másikhoz Osztott memóriájú interfészek Egy memóriablokk van megosztva az alrendszerek között. Az adatokat az egyik alrendszer a memóriába írja, ahonnan a másik alrendszer kiolvassa Procedurális interfészek Az egyik alrendszer a más alrendszerek által hívható eljárások egy halmazát bezárja Üzenettovábbító interfészek Egy alrendszer szolgáltatást kér egy másik alrendszertől úgy, hogy üzenetet továbbít hozzá. A szolgáltatás lefuttatásával kapott eredményeket egy válaszüzenet tartalmazza Interfész hibák Interfész téves alkalmazása Egy hívó komponens meghív egy másik komponenst és hibát követ el az interfésze használatában. Gyakori a paraméter-interfészeknél. Pl.: paraméterek rossz típusúak, rossz sorrendűek vagy nem megfelelő számú paraméter lett átadva Interfész félreértelmezése A hívó komponens félreértelmezi a hívott komponens interfész-specifikációját, így von le következtetéseket a hívott komponens viselkedésmódjáról. Pl.: bináris keresést végző rutin meghívása rendezetlen tömbbel Időzítési hibák A hívott és a hívó komponens különböző sebességgel működik és nem időszerű információ kerül át Interfésztesztelési irányelvek A tesztek egy részét úgy kell összeállítani, hogy a külső komponensek paramétereinek az értékei a tartományuk legtávolabbi végére essenek Mindig teszteljünk null értékű paraméterekkel Olyan tesztek kellenek, melyek esetleg a komponens hibázását okozzák Stressztesztelés kell üzenettovábbító rendszereknél (időzítési problémák kiderítése) Osztott memóriát használó rendszerekben teszteljük a komponensek aktiválódási sorrendjét

18 Tesztesettervezés A rendszer tesztelésére szolgáló tesztesetek (bemenetek és előre jelzett kimenetek) tervezése A folyamat célja a program hiányosságainak felderítésére alkalmas tesztesetek kialakítása Tesztelési típusok a tervezés szempontjából: Követelményalapú tesztelés Partíciós tesztelés Strukturális tesztelés Követelményalapú tesztelés A követelménytervezés egyik fő alapelve, hogy a követelményeknek tesztelhetőeknek kell lenniük A követelményalapú tesztelés olyan szisztematikus tesztesettervezést jelent, amikor az egyes követelményekből tesztsorozatokat származtat Partíciós tesztelés A bemeneti adatok általában különböző osztályokba esnek, ahol az osztály tagjai valamilyen közös jellegzetességgel bírnak Ezeket az osztályokat az azonos viselkedés miatt ekvivalenciaosztályoknak nevezik Minden osztályból kell tesztesetet kiválasztani Ekvivalenciaosztályozás Keresőrutin - input partíciók Bemenetek, amelyek megfelelnek az előfeltételnek Bemenetek, amelyek nem felelnek meg az előfeltételnek Bemenetek, ahol a kulcselem a sorozat tagja Bemenetek, ahol a kulcselem nem tagja a sorozatnak Tesztelési irányelvek (sorozatok) Tesztelés egyelemű sorozattal Használjunk különböző méretű sorozatokat a különböző tesztek során Készítsünk olyan teszteket is, amelyeknél a sorozat első, középső és utolsó elemét kell kiválasztani Tesztelés nulla hosszúságú sorozattal Struktúrateszt Fehér doboz tesztelésnek is hívják A tesztesetek a program szerkezetének ismeretében kerülnek létrehozásra A cél az összes programutasítás végrehajtása (nem az összes kombináció)

19 Struktúrateszt Útvonaltesztelés Az útvonaltesztelés célja, hogy minden független végrehajtási útvonal kipróbálásra kerüljön legalább egyszer. Az útvonaltesztelés kezdő pontja egy programfolyamat-gráf. Csomópontokból áll, melyek döntéseket reprezentálnak, az élek mutatják a vezérlés irányát. A feltételes utasítások ágai különálló útként jelennek meg a gráfban, a ciklusokat a ciklusfeltételt reprezentáló csomópontba visszamutató nyíl jelöli. Példa: Bináris keresés ekvivalenciaosztályának specifikációja: l Előfeltétel teljesül, a kulcselem a tömbben l Előfeltétel teljesül, a kulcselem nincs a tömbben l Előfeltétel nem teljesül, a kulcselem a tömbben l Előfeltétel nem teljesül, a kulcselem nincs a tömbben l A tömb egy értékből áll l A tömb páros elemű A tömb páratlan elemű Ez alapján a bináris keresés folyamatgráfja:

20 Független utak 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14 1, 2, 3, 4, 5, 14 1, 2, 3, 4, 5, 6, 7, 11, 12, 5, 1, 2, 3, 4, 6, 7, 2, 11, 13, 5, A teszteseteket úgy kell létrehozni, hogy mindegyik út végrehajtásra kerüljön Dinamikus programelemző használható a program futási profiljának felderítésére Tesztautomatizálás A tesztelés a szoftverfolyamat drága és fáradságos szakasza. A tesztelőszoftverek számos eszközt nyújtanak a tesztelési folyamat költségének és idejének csökkentésére. Tesztelési keretrendszerek (pl.: JUnit, osztályok halmaza), melyet a felhasználó kibővíthet annak érdekében, hogy létrehozzon egy automatizált tesztkörnyezetet. Sok tesztkörnyezet nyílt rendszer, mert a tesztelési igények szervezet függőek. Nagy rendszereknél éri meg. Tesztelési eszközrendszer Tesztelési eszközök adaptálása A felhasználói interfész szimulálásához szükség lehet szkriptek írására és mintákat lehet definiálni tesztadat-generátorok számára. A várt teszteredmények egy csoportját nekünk kell előkészíteni, ha nincs korábbi programverzió, amely előrejelzőként működne. Lehet, hogy speciális rendeltetésű állomány-összehasonlítókat kell írnunk.

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

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

Részletesebben

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

Verifikáció és validáció Általános bevezető Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2014-15/2 (8) Szoftverminőségbiztosítás Szoftvertesztelési folyamat (folyt.) Szoftvertesztelési ráfordítások (Perry 1995) Tesztelésre fordítódik a projekt költségvetés 24%-a a projekt menedzsment

Részletesebben

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

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

Részletesebben

23. Szoftver-tesztelés

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

Részletesebben

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata jelentése: gyors, fürge 1990-es évek vége Változás igénye Módszertan-család

Részletesebben

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

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

Miskolci Egyetem Általános Informatikai Tanszék

Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés SWTESZT / 1 A tesztelés feladata Két alapvető cél rendszerben található hibák felderítése annak ellenőrzése, hogy a

Részletesebben

A tesztelés feladata. Verifikáció

A tesztelés feladata. Verifikáció Software tesztelés Miskolci Egyetem Általános Informatikai Tanszék Software tesztelés SWTESZT / 1 A tesztelés feladata Két alapvető cél rendszerben található hibák felderítése annak ellenőrzése, hogy a

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Tartalom A verifikáció és validáció tervezése Szoftver vizsgálatok Automatizált statikus analízis Cleanroom szoftverfejlesztés

Tartalom A verifikáció és validáció tervezése Szoftver vizsgálatok Automatizált statikus analízis Cleanroom szoftverfejlesztés 22. Verifikáció és validáció Kérdések Mi a szoftver verifikáció és validáció, mi a különbség köztük? Mi a program-vizsgálati eljárás, mi a szerepe a verifikációban és validációban? Mi a statikus analízis,

Részletesebben

Szoftverminőségbiztosítás

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

Részletesebben

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

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN

Részletesebben

Objektumorientált tesztelés

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

Részletesebben

Bevezetés a programozásba

Bevezetés a programozásba Bevezetés a programozásba A szoftverfejlesztés folyamata PPKE-ITK Tartalom A rendszer és a szoftver fogalma A szoftver, mint termék és készítésének jellegzetességei A szoftverkészítés fázisai: Az igények

Részletesebben

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

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22 Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés

Részletesebben

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

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

Részletesebben

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

Tesztelési folyamat. Integrációs tesztelés: Szoftvertesztelés Tesztelési folyamat Tesztelési folyamat: különálló programegységek (függvények, objektumok) tesztelése alrendszerek és rendszerek tesztelése (az integrálási fázis után) az egységek közötti

Részletesebben

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve Kérdő Attila, ügyvezető, INSERO Kft. EOQ MNB, Informatikai Szakosztály, HTE, ISACA 2012. május 17. Módszertanok

Részletesebben

Szoftvertechnológia ellenőrző kérdések 2005

Szoftvertechnológia ellenőrző kérdések 2005 Szoftvertechnológia ellenőrző kérdések 2005 Mi a szoftver, milyen részekből áll és milyen típusait különböztetjük meg? Mik a szoftverfejlesztés általános lépései? Mik a szoftvergyártás általános modelljei?

Részletesebben

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

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

Részletesebben

Információtartalom vázlata

Információtartalom vázlata 1. Az Ön cégétől árajánlatot kértek egy üzleti portál fejlesztésére, amelynek célja egy online áruház kialakítása. Az árajánlatkérés megválaszolásához munkaértekezletet tartanak, ahol Önnek egy vázlatos

Részletesebben

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május) Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május) Teszt kérdések 1. Melyik állítás igaz a folytonos integrációval (CI) kapcsolatban? a. Folytonos

Részletesebben

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

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

Részletesebben

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

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája Készítette: Urbán Norbert Szoftver-minőség A szoftver egy termelő-folyamat végterméke, A minőség azt jelenti,

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2017-18/2 (9) Szoftverminőségbiztosítás Specifikáció alapú (black-box) technikák A szoftver mint leképezés Szoftverhiba Hibát okozó bement Hibás kimenet Input Szoftver Output Funkcionális

Részletesebben

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

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,

Részletesebben

MIÉRT KELL TESZTELNI?

MIÉRT KELL TESZTELNI? Unrestricted MIÉRT KELL TESZTELNI? MIÉRT KELL TESZTELNI? A termékminőség fejlesztése...hogy megtaláljuk a hibákat, mert azok ott vannak... MIÉRT KELL TESZTELNI? Hogy felderítsük, mit tud a szoftver MIÉRT

Részletesebben

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

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

Részletesebben

Szoftver újrafelhasználás

Szoftver újrafelhasználás Szoftver újrafelhasználás Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Szoftverminőségbiztosítás

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

Részletesebben

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN ESZKÖZTÁMOGATÁS A TESZTELÉSBEN MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN ÉLELMISZERIPAR, GÉPÉSZET, INFORMATIKA, TURISZTIKA ÉS VENDÉGLÁTÁS TERÜLETEN

Részletesebben

Követelmény alapú minőségbiztosítás az államigazgatásban

Követelmény alapú minőségbiztosítás az államigazgatásban Követelmény alapú minőségbiztosítás az államigazgatásban László István 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Témák Követelmény

Részletesebben

A dokumentáció felépítése

A dokumentáció felépítése A dokumentáció felépítése Készítette: Keszthelyi Zsolt, 2010. szeptember A szoftver dokumentációját az itt megadott szakaszok szerint kell elkészíteni. A szoftvert az Egységesített Eljárás (Unified Process)

Részletesebben

01. gyakorlat - Projektalapítás

01. gyakorlat - Projektalapítás 2 Követelmények 01. gyakorlat - Projektalapítás Szoftvertechnológia gyakorlat OE-NIK A félév során egy nagyobb szoftverrendszer prototípusának elkészítése lesz a feladat Fejlesztési módszertan: RUP CASE-eszköz:

Részletesebben

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

Programrendszerek tanúsítása szoftverminőség mérése SZEGEDI TUDOMÁNYEGYETEM Programrendszerek tanúsítása szoftverminőség mérése Dr. Gyimóthy Tibor Dr. Ferenc Rudolf Szoftverminőség biztosítás Fő cél: az üzemelő IT rendszerekben csökkenteni a hibák számát

Részletesebben

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

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

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

Név: Neptun kód: Pontszám: Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2014-15/2 (2) Szoftverminőségbiztosítás A szoftverminőségbiztosítási rendszer A szoftver-minőségbiztosítási rendszer összetevői Szoftver minőségi alapkérdések Hogyan hasznosítsuk a know-how-t

Részletesebben

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás NGB_IN003_1 SZE 2017-18/2 (2) Szoftverminőségbiztosítás A szoftverminőségbiztosítási rendszer A szoftver-minőségbiztosítási rendszer összetevői Minőségbiztosítási rendszer Minőség menedzsment Minőségbiztosítás

Részletesebben

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

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése 2011.10.23. Szoftverprototípus készítése Dr. Mileff Péter A prototípus fogalma: a szoftverrendszer kezdeti verziója Mi a célja? Arra használják, hogy bemutassák a koncepciókat, kipróbálják a tervezési opciókat, jobban

Részletesebben

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

30 MB INFORMATIKAI PROJEKTELLENŐR

30 MB INFORMATIKAI PROJEKTELLENŐR INFORMATIKAI PROJEKTELLENŐR 30 MB DOMBORA SÁNDOR BEVEZETÉS (INFORMATIKA, INFORMATIAKI FÜGGŐSÉG, INFORMATIKAI PROJEKTEK, MÉRNÖKI ÉS INFORMATIKAI FELADATOK TALÁKOZÁSA, TECHNOLÓGIÁK) 2016. 09. 17. MMK- Informatikai

Részletesebben

Verziókövető rendszerek használata a szoftverfejlesztésben

Verziókövető rendszerek használata a szoftverfejlesztésben Verziókövető rendszerek használata a szoftverfejlesztésben Dezső Balázs Szakszeminárium vezető: Molnár Bálint Budapesti Corvinus Egyetem Budapest, 2009. június 24. 1 Bevezetés 2 Verziókövetőrendszerek

Részletesebben

cím: 6725 Szeged Bokor u. 18. telefon: +36 1 808 9666 Innomedio Kft Scrum módszertan 1.0 Verzió Érvényes: 2012. április 1-től

cím: 6725 Szeged Bokor u. 18. telefon: +36 1 808 9666 Innomedio Kft Scrum módszertan 1.0 Verzió Érvényes: 2012. április 1-től Innomedio Kft Scrum módszertan 1.0 Verzió Érvényes: 2012. április 1-től Alapfogalmak: 1. hiba: egy már meglévő, funkcionalitásban hibás működést eredményező programrész hibás működésének leírása konkrét

Részletesebben

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények 2011.09.04.

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények 2011.09.04. Bemutatkozás és követelmények Dr. Mileff Péter Dr. Mileff Péter - Általános Informatikai Tanszék Fizika Tanszék A/1-303. szoba. Konzultációs idő:???. Követelmények: Vezetett gyakorlat nincs. Jelenléti

Részletesebben

Programfejlesztési Modellek

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

Részletesebben

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

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

Részletesebben

S01-7 Komponens alapú szoftverfejlesztés 1

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

Részletesebben

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Követelmény A beadandó dokumentációját a Keszthelyi Zsolt honlapján található pdf alapján kell elkészíteni http://people.inf.elte.hu/keszthelyi/alkalmazasok_fejlesztese

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) UML (+ Object Constraint Language) Az objektum- modellezés egy szabványa (OMG) UML A 80-as, 90-es években egyre inkább terjedő objektum-orientált analízis és tervezés (OOA&D)

Részletesebben

Szoftvermérés:hogyan lehet a szoftvertermék vagy a szoftverfolyamat valamely jellemzőjéből numerikus értéket előállítani.

Szoftvermérés:hogyan lehet a szoftvertermék vagy a szoftverfolyamat valamely jellemzőjéből numerikus értéket előállítani. Szoftvermérés:hogyan lehet a szoftvertermék vagy a szoftverfolyamat valamely jellemzőjéből numerikus értéket előállítani. az értékeket összegyűjtik, tárolják egymással és az egész szervezetre alkalmazott

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft. Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft. Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Részletesebben

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus 1 Az előadás tartalma A GI helye az informatikában Az előadás tartalmának magyarázata A

Részletesebben

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

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

Részletesebben

ELTE, Informatikai Kar december 12.

ELTE, Informatikai Kar december 12. 1. Mi az objektum? Egy olyan változó, vagy konstans, amely a program tetszőleges pontján felhasználható. Egy olyan típus, amelyet a programozó valósít meg korábbi objektumokra alapozva. Egy olyan változó,

Részletesebben

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet Konfiguráció menedzsment bevezetési tapasztalatok Vinczellér Gábor AAM Technologies Kft. Tartalom 2 Bevezetés Tipikus konfigurációs adatbázis kialakítási projekt Adatbázis szerkezet Adatbázis feltöltés

Részletesebben

Nagy bonyolultságú rendszerek fejlesztőeszközei

Nagy bonyolultságú rendszerek fejlesztőeszközei Nagy bonyolultságú rendszerek fejlesztőeszközei Balogh András balogh@optxware.com A cég A BME spin-off-ja A Hibatűrő Rendszerek Kutatócsoport tagjai alapították Tisztán magánkézben Szakmai háttér Hibatűrő

Részletesebben

Szoftverminőségbiztosítás

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

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

Szoftver karbantartási lépések ellenőrzése Szoftverellenőrzési technikák (vimim148) Szoftver karbantartási lépések ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/

Részletesebben

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

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK STRUKTÚRA ALAPÚ, VAGY FEHÉRDOBOZ TECHNIKÁK TAPASZTALAT ALAPÚ TECHNIKÁK MUNKAERŐ-PIACI IGÉNYEKNEK MEGFELELŐ, GYAKORLATORIENTÁLT KÉPZÉSEK, SZOLGÁLTATÁSOK A DEBRECENI EGYETEMEN

Részletesebben

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

7. Verifikáci. ció. Ennek része a hagyományos értelemben vett szoftvertesztelés is. A szoftver verifikálásának, 7. Verifikáci ció, validáci ció A verifikáció és a validáció (V&V) azon ellenőrző és elemző folyamatok összessége, amelyek célja annak vizsgálata, hogy a szoftver megfelel a specifikációnak. Ennek része

Részletesebben

ALKALMAZÁS KERETRENDSZER

ALKALMAZÁS KERETRENDSZER JUDO ALKALMAZÁS KERETRENDSZER 2014 1 FELHASZNÁLÓK A cégvezetők többsége a dobozos termékek bevezetésével összehasonlítva az egyedi informatikai alkalmazások kialakítását költséges és időigényes beruházásnak

Részletesebben

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0 Készítette: Hajnali Krisztián Jóváhagyta: Varga József Rubin Informatikai Zrt. 1149 Budapest, Egressy út 17-21. telefon: +361 469 4020; fax:

Részletesebben

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

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

Részletesebben

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom Szoftver újrafelhasználás (Software reuse) Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 18. Roger S. Pressman: Software Engineering, 5th e. chapter 27. 2 Szoftver újrafelhasználás Szoftver

Részletesebben

4. A szoftvergyártás folyamata

4. A szoftvergyártás folyamata 4. A szoftvergyártás folyamata Kérdések Mi a szoftvergyártás modellje? Mi a három alapvető modell és mikor használjuk ezeket? Mik a követelménytervezés, a szoftverfejlesztés, a tesztelés és az szoftver-evolúció

Részletesebben

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

Ez idézte elı az olyan fejlesztési folyamatokat, amelyek a gyors szoftverfejlesztésre és átadásra összpontosítanak.

Ez idézte elı az olyan fejlesztési folyamatokat, amelyek a gyors szoftverfejlesztésre és átadásra összpontosítanak. 1 A vállalatok ma globális, gyorsan változó környezetben mőködnek. Reagálnak az új lehetıségekre és piacokra, a gazdasági környezet változásaira. A szoftver része minden mőveletnek, Kulcsfontosságú hogy

Részletesebben

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Ez vajon egy állapotgép-e? Munkafolyamat (Workflow):

Részletesebben

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás? Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii

Részletesebben

OO rendszerek jellemzői

OO rendszerek jellemzői OO rendszerek jellemzői Problémák forrása lehet teszteléskor: Problémák feldarabolása. Adatrejtés. Az OO rendszerek nagyszámú, egymással aktívan kapcsolatban levő, együttműködő komponensekből állnak. A

Részletesebben

V & V Feladatok. V & V Feladatok

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

Részletesebben

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

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

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

A tesztelés szükségessége

A tesztelés szükségessége A tesztelés szükségessége Veszélyek megjelenése Hardver téren az integráltsági fok növekedése Szoftver téren a milliós nagyságrendben lévő utasításszám A rendszerek teljesítményének növekedésével együtt

Részletesebben

Szoftvertesztelés - Bevezető

Szoftvertesztelés - Bevezető Szoftvertesztelés - Bevezető Csirmaz Péter Livesoft Kft. 2010.03.13. Bevezetés A szoftvertesztelés egy rendszer vagy program kontrollált körülmények melletti futtatása, és az eredmények kiértékelése. A

Részletesebben

Teszt terv Új funkció implementációja meglévı alkalmazásba

Teszt terv Új funkció implementációja meglévı alkalmazásba Teszt terv Új funkció implementációja meglévı alkalmazásba Passed Informatikai Kft. www.passed.hu Farkas Gábor 2007-P-123-45-T-1-1 IIR - Test Manager course 2 Szerepkör Név Aláírás Aláírás dátuma IT Projekt

Részletesebben

DW 9. előadás DW tervezése, DW-projekt

DW 9. előadás DW tervezése, DW-projekt DW 9. előadás DW tervezése, DW-projekt Követelmény felmérés DW séma tervezése Betöltési modul tervezése Fizikai DW tervezése OLAP felület tervezése Hardver kiépítése Implementáció Tesztelés, bevezetés

Részletesebben

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika Kar 1.3 Intézet Magyar Matematika és Informatika Intézet 1.4

Részletesebben

Funkciópont elemzés: elmélet és gyakorlat

Funkciópont elemzés: elmélet és gyakorlat Funkciópont elemzés: elmélet és gyakorlat Funkciópont elemzés Szoftver metrikák Funkciópont, mint metrika A funkciópont metrika alapelveinek áttekintése Bonyolultsággal korrigált funkciópont A funkciópont

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

Programozási alapismeretek 1. előadás

Programozási alapismeretek 1. előadás Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A

Részletesebben

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

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

Részletesebben

Tisztelettel köszöntöm a RITEK Zrt. Regionális Információtechnológiai Központ bemutatóján. www.ritek.hu

Tisztelettel köszöntöm a RITEK Zrt. Regionális Információtechnológiai Központ bemutatóján. www.ritek.hu Tisztelettel köszöntöm a RITEK Zrt. Regionális Információtechnológiai Központ bemutatóján. www.ritek.hu BEVEZETŐ az ASP-szolgáltatásról Az ASP-szolgáltatás (Application Service Providing) előnyei A megrendelő

Részletesebben

Projectvezetők képességei

Projectvezetők képességei Projectvezetők képességei MOI modell Motivation ösztönzés Organisation szervezés Ideas or Innovation ötletek vagy újítás Más felosztás Probléma megoldás Vezetői öntudat Teljesítmény Befolyás, team képzés

Részletesebben

Interfészek. PPT 2007/2008 tavasz.

Interfészek. PPT 2007/2008 tavasz. Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált

Részletesebben

Univerzális munkafolyamat szimulátor

Univerzális munkafolyamat szimulátor Univerzális munkafolyamat szimulátor Ütemterv Készítette: Kerek Róbert KERQABT.SZE Gazdaságinformatikus BSc III. évfolyam Külső témavezető Kesztyűs Attila Lajos Siemens PSE Kft. Belső konzulens Dr. Ferenc

Részletesebben

A fejlesztéshez használható eszközök

A fejlesztéshez használható eszközök A fejlesztéshez használható eszközök CASE Tools Computer Aided Software Engineering Tools 2018.12.07. Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 1 Ismétlés fejlesztési háromszög

Részletesebben

Firmware fejlesztés. Mártonfalvi Zsolt Hardware programozó

Firmware fejlesztés. Mártonfalvi Zsolt Hardware programozó Firmware fejlesztés Mártonfalvi Zsolt Hardware programozó Áttekintés Beágyazott rendszer A fejlesztés menete Milyen eszközökkel? Beágyazott rendszer Egy beágyazott rendszer (angolul: embedded system) olyan

Részletesebben

Szoftver-technológia I.

Szoftver-technológia I. Szoftver technológia I. Oktatók Sziray József B602 Heckenast Tamás B603 2 Tananyag Elektronikus segédletek www.sze.hu/~sziray/ www.sze.hu/~heckenas/okt/ (www.sze.hu/~orbang/) Nyomtatott könyv Ian Sommerville:

Részletesebben

Modell alapú tesztelés mobil környezetben

Modell alapú tesztelés mobil környezetben Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed

Részletesebben