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



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

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

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

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

Szoftverminőségbiztosítás

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

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

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

Szoftverminőségbiztosítás

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

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

A TANTÁRGY ADATLAPJA

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

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

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

MIÉRT KELL TESZTELNI?

Programozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto

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

Szoftvertesztelés - Bevezető

Szoftver karbantartás

6. Tesztelés (Verification and Validation Testing)

Szoftver értékelés és karbantartás

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

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

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

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

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

Bevezetés a programozásba

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

A szoftverellenőrzés szerepe

A szoftverellenőrzés szerepe Alapfogalmak

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

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

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

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

Autóipari beágyazott rendszerek. Kockázatelemzés

A szoftver tesztelés alapjai

Biztonsági folyamatirányító. rendszerek szoftvere

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

TOGAF elemei a gyakorlatban

Szoftverminőségbiztosítás

Laborinformációs menedzsment rendszerek. validálása. Molnár Piroska Rikker Tamás (Dr. Vékes Erika NAH)

Formális módszerek GM_IN003_1 Bevezetés

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)

Programfejlesztési Modellek

Egészségügyi ágazati kataszterek fejlesztése

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

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

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

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

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

Szoftverfejlesztés teszteléssel

Bánsághi Anna 1 of 67

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

Információs rendszerek Információsrendszer-fejlesztés

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

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

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Test Strategy. Monotonitá s tűrése (0 5) Biztonsági tudás (0 5) Adatbázis ismeret (0 5)

Digitális eszközök típusai

ORVOSI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZ SZOFTVER VERIFIKÁLÁSA, VALIDÁLÁSA (V&V)

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

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

S01-7 Komponens alapú szoftverfejlesztés 1

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

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

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

Információtartalom vázlata

4. A szoftvergyártás folyamata

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

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

KOMPUTER-ALGEBRA RENDSZEREK VERIFIKÁCIÓJA

Mesterséges intelligencia alapú regressziós tesztelés

Írásjogtól Rootig AIX-on

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

A Népszámlálás infokommunikációs háttere (Miért érdekes a Népszámlálás?) Kópházi József Központi Statisztikai Hivatal

Programozási technológia 2.

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Objektumorientált tesztelés

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

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

Vezetői információs rendszerek

Információ menedzsment

A DevOps-kultúra eszközei

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

Okosház Test Plan. Tartalomjegyzék

Bevezetés Mi a szoftver? Általános termékek: Mi a szoftvertervezés?

Nagy bonyolultságú rendszerek fejlesztőeszközei

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,

(Teszt)automatizálás. Bevezető

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

Univerzális munkafolyamat szimulátor

Modell alapú tesztelés mobil környezetben

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

A Feldspar fordító, illetve Feldspar programok tesztelése

Szoftverminőségbiztosítás

Test Management Strategy Document. Deák Kristóf Lauly Viktória Kunigunda Csiki Norbert Szabó Zoltán

Hadházi Dániel.

Minőségmenedzsment: azért felel, hogy a projekt teljesítse az elvárt feladatát és a követelményeket.

Átírás:

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 és kielégíti a kliens igényeit Verifikáció: A szoftver megfelel-e specifikációjának? A rendszer eleget tesz-e a megadott funkcionális és nem funkcionális követelményeknek? Validáció: A szoftver kielégíti a kliens igényeit, megfelel a vásárló elvárásainak? Boehm megfogalmazása szerint (1979): Verifikáció: A terméket jól készítjük el? (Are we building the product right?) Validáció: A megfelelő terméket készítjük el? (Are we building the right product?) A folyamat lépései: követelményvizsgálat, a tervezés áttekintése, kódvizsgálat, a termék tesztelése. A szoftverfejlesztés minden szintjén szükség van V&V tevékenységekre

Átvizsgálás és tesztelés A rendszer elemzésére és ellenőrzésére két technika használható: Szoftverátvizsgálások (statikus V&V technikák): a követelményt leíró dokumentumok, a terv és ennek megfelelő diagrammok, a forráskód elemzése és ellenőrzése nem igénylik a program futtatását statikus V&V technikák Static V&V - software inspections A fejlesztési folyamat minden szintjén alkalmazhatóak, kiegészíthetőek automatikus elemzéssel Szoftvertesztelés (dinamikus V&V technikák) A szoftver implementációjának tesztadatokkal történő lefuttatása, a kimenetek futás közbeni viselkedésének vizsgálata A rendszer futtatható reprezentációjával dolgoznak dinamikus V&V technikák Dynamic V&V software testing Static verification Requirements specification High-level design Formal specification Detailed design Program Prototype Dynamic validation

Átvizsgálás Átvizsgálási technikák: Dokumentáció-, terv- és programátvizsgálások Automatizált forráskódelemzés Formális verifikáció Csak a specifikáció és a program közötti megfelelés ellenőrizhető nem ellenőrizhetőek a program nem funkcionális jellemzői (pl. teljesítmény vagy megbízhatóság), nem lehet kimutatni működésének hasznosságát Kritikus rendszereknél nagyobb hangsúlyt kap, egyre inkább elterjedt, de a V&V technikák közül továbbra is a programtesztelés az elterjedtebb

Tesztelés Két, a szoftverfejlesztés különböző szakaszaiban alkalmazható fajtája ismeretes: Hiányosságtesztelés: a program és annak specifikációja közötti ellentmondások felderítésére (melyek általában a programok hibáinak/hiányosságainak tulajdoníthatóak) Statisztikai tesztelés: a program megbízhatóságának és teljesítményének tesztelésére, ellenőrzésére hogyan teljesít a program működés közben. Nagyszámú, valós felhasználói bemenet a tesztek futtatását követően statisztikai becslést lehet készíteni a rendszer megbízhatóságával kapcsolatban a működési hibák/rendellenességek száma alapján

Elfogadási szint A V&V folyamat célja: megbizonyosodni arról, hogy a program a célnak megfelel ez nem azt jelenti, hogy a program tökéletes, egyáltalán nincsenek hiányosságai, hanem, hogy elég jónak kell lennie arra a célra, amire használni akarják. A szükséges elfogadási szint függ a rendszer céljától, felhasználóinak elvárásaitól, aktuális piaci környezetétől: Szoftverfunkció: a szoftver mennyire kritikus a szervezet számára (pl. a biztonságosság-kritikus rendszerek elfogadási szintje nagyobb) Felhasználói elvárások: az elvárási szint még ma is meglepően alacsony, de folyamatosan növekszik: a 90es évek óta a felhasználók rendszerhibákkal szembeni türelme folyamatosan csökken Piaci környezet: versenytársak és a felhasználók által kifizetett max. ár figyelembevétele

Debugging (belövés) A V&V folyamat során kiderülnek a program hiányosságai, így a programot módosítani kell a hibák kiküszöbölésének érdekében ezt nevezzük debugging-nak (belövési folyamatnak), melyet további V&V tevékenységekkel ötvözhetünk A debugging és a V&V különálló folyamatok, melyeket nem kell integrálni: A V&V annak megállapítására alkalmas, hogy a rendszerben vannak-e hiányosságok, hibák A belövés behatárolja és kijavítja ezeket a hiányosságokat Nincsen egyszerű, standard módszer a belövésre: a hibakeresők mintákat keresnek a teszt kimenetében, és a hiányosság típusának, a programozási nyelvnek, a programozási folyamatnak az ismeretében próbálják beazonosítani a hibát (ismerik a tipikus programozási hibákat, a programozási nyelvre jellemző hibákat, és azokat illesztik a megfigyelt mintákra)

Debugging (belövés) A hibák behatárolás nehéz: a hiba nem biztos, hogy pontosan ott van, ahol bekövetkezik a baj, a meghibásodás Interaktív belövő eszközök: a fordítórendszerrel integrált debugging segédeszközök, melyek speciális végrehajtási környezetet biztosítanak (hozzáférés változók értékeihez, lépegetés utasításról utasításra, stb.) Regressziós tesztelés: a javítások változtatásokkal járnak együtt, ez maga után vonja a program újra-átvizsgálásának, az előző tesztek megismétlésének szükségességét. a javítások lehet, hogy nem teljesek, vagy új meghibásodáshoz vezetnek elviekben az összes tesztet meg kellene ismételni, de ez túl költséges, ezért a gyakorlatban a tesztek tervezésénél meg kell határozni az egyes rendszerrészek és ezekhez rendelt tesztek közötti függőségeket így a módosított komponens és a tőle függő komponensek ellenőrzésére elegendő a futtatást csak a tesztadatok egy részhalmazára elvégezni

Verifikáció és validációtervezés Specifikáció, terv tesztek tervei (V modell) A fejlesztési folyamattal együtt kezdődik, tesztelési standardokat fogalmaz meg, egyensúlyt valósit meg a statikus és dinamikus technikák között Teszttervek: Tesztelési folyamat (a folyamat fő fázisainak leírása) Követelmények követése (minden követelmény külön le legyen tesztelve) Ütemezés (tesztelés ütemterve és erőforrások lefoglalása) Dokumentáló eljárások (a folyamat dokumentálása) Hardver és szoftverkövetelmények Megszorítások (a tesztelési folyamatot befolyásoló tényezők) Requirements specification System specification System design Detailed design Acceptance test plan System integration test plan Sub-system integration test plan Module and unit code and tess Service Acceptance test System integration test Sub-system integration test