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

Hasonló dokumentumok
Biztonságkritikus rendszerek

A szoftverellenőrzés szerepe Alapfogalmak

A BIZTONSÁGINTEGRITÁS ÉS A BIZTONSÁGORIENTÁLT ALKALMAZÁSI FELTÉTELEK TELJESÍTÉSE A VASÚTI BIZTOSÍTÓBERENDEZÉSEK TERVEZÉSE ÉS LÉTREHOZÁSA SORÁN

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

IRÁNYÍTÓ RENDSZER IRÁNYÍTANDÓ FOLYAMAT. Biztonsági funkciók Biztonsági integritás. Normál működés. Hibák elleni védettség Saját (belső) biztonság

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

Szoftver karbantartás

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

Biztosítóberendezések biztonságának értékelése

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

Közlekedési automatika Biztonságintegritás, életciklus modellek

A szoftverellenőrzés szerepe

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

Fejlesztés kockázati alapokon 2.

biztonságkritikus rendszerek

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

Szoftver architektúra tervek ellenőrzése

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

Szoftverminőségbiztosítás

Modellezési alapismeretek

Modellezési alapismeretek

Szoftverminőségbiztosítás

Szoftverellenőrzési technikák

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

Szoftverminőségbiztosítás

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

Szoftverminőségbiztosítás

Fejlesztés kockázati alapokon

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

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

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

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

A szolgáltatásbiztonság alapfogalmai

Közlekedési automatika Biztonsági folyamatirányító rendszerek szoftvere

Bevezetés a programozásba

Járműinformatika A járműinformatikai fejlesztés

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

A TANTÁRGY ADATLAPJA

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

A szolgáltatásbiztonság alapfogalmai

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

A tesztelés szükségessége

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

Modellezési alapismeretek

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

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

evosoft Hungary Kft.

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

Részletes szoftver tervek ellenőrzése

Biztonságkritikus rendszerek

Megbízhatóság az informatikai rendszerekben

Informatikai technológiák szakirány Rendszertervezés ágazat

Informatikai rendszertervezés

Autóipari beágyazott rendszerek Dr. Balogh, András

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

Informatikai rendszertervezés

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

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE

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)

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

Programfejlesztési Modellek

Tesztelési szintek Tesztautomatizálás

Nagy bonyolultságú rendszerek fejlesztőeszközei

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

MIÉRT KELL TESZTELNI?

Az ISO Cél: funkcionális biztonság kizárva az elektromos áramütés, tűz stb. veszélyeztetések

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

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

Vasúti biztosítóberendezések megfelelőségének tanúsítása. Tarnai Géza CERTUNIV Vasúti Tanúsító és Műszaki Szakértő Kft. Bükfürdő,

Dr. BALOGH ALBERT: MEGBÍZHATÓSÁGI ÉS KOCKÁZATKEZELÉSI SZAKKIFEJEZÉSEK FELÜLVIZSGÁLATÁNAK HELYZETE

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

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

Szoftverminőségbiztosítás

Architektúra tervezési példák: Architektúrák biztonságkritikus rendszerekben

KOMPUTER-ALGEBRA RENDSZEREK VERIFIKÁCIÓJA

Szoftverminőségbiztosítás

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

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

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

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

IRÁNYTŰ A SZABÁLYTENGERBEN

Hegesztőrobot rendszerek biztonságtechnikája

A szolgáltatásbiztonság alapfogalmai

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS életciklus modell. Komáromi István Budapest,

Autóipari beágyazott rendszerek. Funkcionális biztonságossági koncepció

Gyakorlat és házi feladat tájékoztató

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

30 MB INFORMATIKAI PROJEKTELLENŐR

Szoftverminőségbiztosítás

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

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

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

Modellezési alapismeretek

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

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

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

A szoftver tesztelés alapjai

Tantárgyi kommunikációs dosszié

Átírás:

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 szerepe Hogyan határozzák meg a fejlesztési szabványok a szisztematikus ellenőrzést? 1. A fejlesztési folyamat általános előírásai 2. Módszerek és intézkedések megadása 3. A dokumentáció követelményei 4. A szervezeti rend követelményei 2

Jellegzetes példa: Biztonságkritikus rendszerek Széles körben használt szabványok IEC 61508: Functional safety in electrical / electronic / programmable electronic safety-related systems EN 50128: Vasúti irányítástechnika szoftverek ISO 26262: Biztonsági funkciók gépjárművekben DO 178B: Repülőgép fedélzeti rendszerek Biztonsági funkciók Célja a biztonságos állapot elérése vagy fenntartása Biztonságintegritás: Milyen gyakorisággal viselhető el adott szintű hatások mellett a biztonsági funkció hibája? Biztonságintegritási szint (Safety Integrity Level, SIL) Meghatározása: Kockázatelemzés alapján Elviselhető veszélygyakoriság Tolerable Hazard Rate (THR) Folytonos: Veszélyt okozó hibajelenség gyakorisága Nem folytonos: Veszélyt okozó hibajelenség valószínűsége THR tartományok szerinti kategóriák: SIL 1, 2, 3, 4 3

SIL meghatározás alapelve A VIZSGÁLT FUNKCIÓ Veszély gyakoriság növekedés Veszélyes esemény gyakorisága Rendszer biztonságintegritási szint 4 Szoftver biztonságintegritási szint 4 Kockázat THR SIL 3 3 Veszélyes esemény következménye 2 1 0 2 1 0 Következmények súlyosságának növekedése Kockázatelemzés -> -> Funkció THR -> -> Funkció SIL -> -> (Al)rendszer SIL SIL 1 2 3 4 Biztonságkritikus funkció hibája / óra 10-6 THR < 10-5 10-7 THR < 10-6 10-8 THR < 10-7 10-9 THR < 10-8 Pl.: Ha 15 év az élettartam, akkor ez alatt kb. 750 berendezésből 1-ben lesz hiba 4

A SIL követelmények betartásának ellenőrzése Véletlen meghibásodásokra (pl. hardver): A SIL tartományok betartása számításokkal ellenőrizhető Kvantitatív analízis, megbízhatósági modellezés Szisztematikus meghibásodásokra (pl. szoftver): Számításokkal nem ellenőrizhető valószínűség Módszer- és eszközkészlet adható az elkerülésre és kezelésre Komplex intézkedés-csomag az egyes SIL szintekhez: 1. Fejlesztési folyamat 2. Előírt módszerek és technikák 3. Előírt dokumentáció 4. Szervezeti rend (felelősségek) 5

Tartalomjegyzék Biztonságkritikus rendszerek A biztonságintegritási szint Az ellenőrzés szerepe Hogyan határozzák meg a fejlesztési szabványok a szisztematikus ellenőrzést? 1. A fejlesztési folyamat általános előírásai 2. Módszerek és intézkedések megadása 3. A dokumentáció követelményei 4. A szervezeti rend követelményei 6

1. A fejlesztési folyamat általános előírásai Jól definiált fázisokat tartalmaz Általában jól meghatározott specifikáció, ismert környezet Meghatározott fejlesztési lépések (pl. V-modell) Szigorú feltételekhez kötött előrelépés: Hangsúlyos a fejlesztési lépések ellenőrzése Hibák kockázata nagy (felelősség) Üzembe helyezés utáni javítás költsége nagy További jellegzetességek: Biztonságigazolás: Biztonsági ügy elkészítése (safety case) Független értékelés (assessment) Tanúsítás (certification) Hatósági felügyelet 7

V-modell: Jól meghatározott ellenőrzések Üzemeltetés, karbantartás Követelmények elemzése Rsz. validáció tervezés Rendszer validáció Rendszer specifikálás Rendszerteszt tervezés Rendszer verifikáció Architektúra tervezés Integrációs teszt tervezés Rendszer integrálás Modul tervezés Modul teszt tervezés Modul verifikáció Modul implementáció 8

2. Módszerek és intézkedések megadása Példa: Szoftver tesztelés (EN 50128) MÓDSZER / INTÉZKEDÉS Említés helye SW- SIL0 SW- SIL1 SW- SIL2 SW- SIL3 1. Valószínűségi tesztelés B47 - R R HR HR 2. Teljesítéstesztelés D6 - HR HR M M 3. Funkcionális és fekete doboz tesztelés SW- SIL4 D3 HR HR HR M M 4. Modellezés D5 - R R R R Követelmény: 1. Az 1, 2, 3 és 4 szoftver-biztonságintegritási szintek esetén a 2. és 3. módszer kombinációja jóváhagyottnak tekintendő. Előírások: M HR R Kötelező Nyomatékosan ajánlott (elhagyása indoklást igényel) Ajánlott (kombinációból kihagyható) Nincs javaslat vagy ellenérv NR Ellenjavallt (használata indoklást igényel) Módszerkombinációk választhatók 9

Példa: EN 50128 módszerek és intézkedések Software design and implementation: Functional/black box testing (D3): 10

Példa: EN 50128 módszerek és intézkedések Performance testing (D6): 11

Példa: IEC 61508 V&V módszerek 12

Példa: IEC 61508 V&V módszerek Tesztelés 13

Példa: IEC 61508 V&V módszerek Statikus analízis 14

Példa: IEC 61508 kevésbé ismert V&V technikái Probabilistic testing Valószínűségi jellemzők származtatása a szoftver komponens megbízhatóságáról az (automatikus) tesztelés eredményei alapján Környezet szimulációja a gyakori trajektóriák meghatározására Test case execution from error seeding Hibák beillesztése annak érdekében, hogy a tesztelés után bennmaradó hibák számát megbecsülhessük a beillesztett és detektált hibák számából Fagan inspections Hibák felderítése a dokumentumok és tervek szisztematikus felülvizsgálatával (audit) Sneak circuit analysis Nem várt (nem szándékos) kapcsolatok illetve hatások detektálása, amelyek hibához vezetnek 15

3. A dokumentáció követelményei Dokumentáció típusa Átfogó Pl. fejlesztési terv, verifikációs terv Életciklus fázishoz kötődő Pl. modul teszt jelentés, modul verifikációs jelentés Dokumentum keresztreferencia táblázat Melyik életciklus fázishoz milyen dokumentáció készül Melyik dokumentum melyik másikra épül Dokumentumok követhetősége szükséges Ugyanazon terminológia, rövidítések, elnevezések Dokumentumok összevonhatók Eredmény nem veszhet el Független szereplők dokumentumai nem vonhatók össze 16

Példa: EN50128 dokumentációk Rendszerfejlesztési fázis Rendszerkövetelmény-specifikáció Rendszerbiztonsági követelményspecifikáció Rendszerarchitektúra-leírás Rendszerbiztonsági terv Szoftver karbantartási fázis Szoftver karbantartási jegyzőkönyvek Szoftver változtatási jelentések Szoftverértékelési fázis Szoftverértékelési jelentés Szoftvertervezési fázis Szoftverfejlesztési terv Szoftver-minőségbiztosítási terv Szoftverkonfiguráció menedzselési terv Szoftverigazolási terv Szoftverintegrációs tesztterv Szoftver/hardver-integrációs tesztterv Szoftverérvényesítési terv Szoftver-karbantartási terv Szoftverkövetelmény-specifikációs fázis Szoftverkövetelmény-specifikáció Szoftverkövetelmény-tesztspecifikáció Szoftverkövetelmény-igazolójelentés Szoftver architektúra és kialakítási fázis Szoftverarchitektúra-specifikáció Szoftverkialakítási specifikáció Szoftverarchitektúra és kialakítási igazolójelentés Szoftverérvényesítési fázis Szoftverérvényesítési jelentés Szoftver/hardver-integráció fázisa Szoftver/Hardver-integrációs tesztjelentés Szoftverintegráció fázisa Szoftverintegrációs tesztjelentés Szoftvermodul kialakítási fázis Szoftvermodul-tervezési specifikáció Szoftvermodul-tesztspecifikáció Szoftvermodul-igazolójelentés Szoftvermodul tesztelési fázis Szoftvermodul-tesztjelentés ~30 dokumentum! Kódolási fázis Szoftverforráskód és támogató dokumentáció Szoftverforráskód-igazolójelentés 17

cím S R S S A S D D S V e r S / H S V al A s s Q M A Példa: EN50128 dokumentum keresztreferencia táblázat Dokumentum létrehozás Dokumentum felhasználása egy-egy fázisban FÁZISOK (*) = más fázisokkal párhuzamosan DOKUMENTUMOK SW KÖVETELMÉNYEK Sw Követelményspecifikáció 8.4.1 Alkalmazási Követelmények Specifikációja Sw Követelmény Teszt Specifikáció Sw Követelmények Verifikációs Jelentése SW KONSTRUKCIÓ KIALAKÍTÁS Sw Architektúra Specifikáció 9.4.1 SW MODUL KONSTRUKCIÓ KIALAKÍTÁS Hol 17.4.1.1 8.4.13 11.4.11 Sw Konstrukció specifikáció 10.4.3 Sw Architektúra és Konstrukció Verifikációs Jelentés Sw Modul Konstrukció Specifikáció 11.4.12 10.4.3 Sw Modul Teszt Specifikáció 10.4.14 Sw Modul Verifikációs Jelentés 11.4.13 KÓDOLÁS Sw Forráskód Sw Forráskód Verifikációs Jelentés 11.4.14 MODUL TESZTELÉS Sw Modul Teszt Jelentés 10.4.14 SW INTERGRÁCIÓ Sw Integráció Teszt Jelentés 11.4.15 Adatteszt Jelentés 17.4.2.4 SW/HW INTEGRÁCIÓ Sw/Hw Integráció Teszt Jelentés 12.4.8 VALIDÁCIÓ (*) Sw Validációs Jelentés 13.4.10 18

4. Szervezeti rend Minőségi illetve biztonsági szervezet létrehozása: a biztonságmenedzselés bizonyítása ISO 9001 vonatkozó részeinek alkalmazása Konfigurációmenedzselés Képzettség (alkalmasság) igazolása Szereplők: Tervező (elemző, tervező, kódoló, unit tesztelő) TER Verifikátor (igazoló) VER Validátor (érvényesítő) VAL Értékelő (független felülvizsgáló) ÉRT Projekt menedzser MGR Minőségbiztosítási felelős MIN 19

Példa: EN50128 minimális függetlenségi követelményei SIL 0: Szervezet Személy TER, VER, VAL ÉRT SIL 1 és 2: TER VER, VAL ÉRT SIL 3 és 4: MGR vagy: TER VER, VAL ÉRT vagy: MGR ÉRT TER VER VAL 20

Motiváció Miről volt szó? Milyen minőségi igények vannak a szoftverrel szemben, és mit tud ma a szoftveripar? Miért olyan nagy a szoftver ellenőrzési technikák jelentősége? A verifikáció és validáció technikái (áttekintés) Milyen tipikus technikák vannak? Fejlesztési életciklus modellek Milyen szerepet kapnak a tipikus technikák az egyes fejlesztési folyamatokban? Fejlesztési szabványok szerepe Hogyan valósul meg a szisztematikus ellenőrzés? 21