Szoftverminőségbiztosítás

Hasonló dokumentumok
Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

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

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

2. Szoftver minőségbiztosítás

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

Fejlesztés kockázati alapokon 2.

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

Szoftver-technológia I.

Szoftverminőségbiztosítás

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

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

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

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

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

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

Modell alapú tesztelés: célok és lehetőségek

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

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)

A cloud szolgáltatási modell a közigazgatásban

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

30 MB INFORMATIKAI PROJEKTELLENŐR

MIÉRT KELL TESZTELNI?

Üzletmenet folytonosság menedzsment [BCM]

Szoftverminőségbiztosítás

Projekt siker és felelősség

Bevezetés a programozásba

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

Rózsa Tünde. Debreceni Egyetem AGTC, Pannon Szoftver Kft SINCRO Kft. Forrás:

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

Szoftverminőségbiztosítás

(Teszt)automatizálás. Bevezető

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

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

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

VTOL UAV. Moduláris fedélzeti elektronika fejlesztése pilóta nélküli repülőgépek számára. Árvai László, Doktorandusz, ZMNE ÁRVAI LÁSZLÓ, ZMNE

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

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

SZOLGÁLTATÁS BIZTOSÍTÁS

IT Factory. Kiss László

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

Szoftver újrafelhasználás

Szoftverminőségbiztosítás

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

A szoftverfejlesztés eszközei

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

Kód átvizsgálás. Irodalom. (Code review) code review,smart Bear Inc., ! Jason Cohen: Best kept secrets of peer

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

Az infrastruktúra minősége: kinek a felelőssége?

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

IRÁNYTŰ A SZABÁLYTENGERBEN

Szoftvertesztelés - Bevezető

Információ menedzsment

Forráskód minőségbiztosítás

A CMMI alapú szoftverfejlesztési folyamat

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Megbízhatóság az informatikai rendszerekben

Cloud Akkreditációs Szolgáltatás indítása CLAKK projekt. Kozlovszky Miklós, Németh Zsolt, Lovas Róbert 9. LPDS MTA SZTAKI Tudományos nap

Az alkalmazás minőségbiztosítás folyamata Fókuszban a teszt-automatizálás

Tesztmérnök: tesztautomatizálási mérnök Feladat: Elvárások: Előnyt jelent: Beágyazott rendszer tesztmérnök beágyazott rendszer tesztmérnök Feladat:

RÉSZVÉTELI MINŐSÉGBIZTOSÍTÁS

A CRD prevalidáció informatika felügyelési vonatkozásai

A TANTÁRGY ADATLAPJA

Modellek fejlesztése

A Bankok Bázel II megfelelésének informatikai validációja

SW-project management

Modellek fejlesztése

SZOFTVER- MINŐSÉGBIZTOSÍTÁS

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

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

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

A szoftver minősége az elmúlt 15 év alatt szignifikánsan megnőtt. Oka:

Projekt szponzor : siker - felelősség - kompetencia

A HADFELSZERELÉSEK GYÁRTÁS UTÁNI VÉGELLENŐRZÉSÉNEK NATO MINŐSÉGBIZTOSÍTÁSI ELŐÍRÁSAI

Szabványok A szabványok fajtái Mérési szabványok Termékszabványok:

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

Minőségelmélet kommunikációs dosszié MINŐSÉGELMÉLET. Anyagmérnök mesterképzés (MsC) Tantárgyi kommunikációs dosszié

01. gyakorlat - Projektalapítás

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

PTE PMMIK, SzKK Smart City Technologies, BimSolutions.hu 1

Modellezési Kockázat. Kereskedelmi Banki Kockázatmodellezés. Molnár Márton Modellezési Vezető (Kockázatkezelés)

Minőségügy kommunikációs dosszié MINŐSÉGÜGY. Anyagmérnök alapszak (BsC) Tantárgyi kommunikációs dosszié

Informatikai prevalidációs módszertan

IT Szolgáltatás Menedzsment az oktatási szektorban - 90 nap alatt költséghatékonyan

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

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

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

Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Új, egységes minőségi keretrendszer bevezetése a magyar hivatalos statisztikában

FELKÉSZÜLÉS HIVATALOS VIZSGÁRA

Projectvezetők képességei

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

Átírás:

NGB_IN003_1 SZE 2017-18/2 (1) Szoftverminőségbiztosítás Bevezetés

Követelmények/számonkérés Előadások látogatása nem kötelező - nem ellenőrizzük Félévközi zárthelyi dolgozat nem lesz A félév vizsgával zárul előadásokon elhangzott anyag számonkérése írásbeli vizsga

Konzultáció/elérhetőség Konzultációs lehetőség az előadásokat követően, igény szerint Elérhetőség heckenas@sze.hu Előadás-vázlatok http://www.sze.hu/~heckenas/okt/

Tematika Hét Téma 1. Általános bevezetés, minőség koncepciók (termék- és folyamatminőség) szoftver minőségi jellemzők, kritériumok. 2. A szoftver minőségbiztosítási rendszer: összetevők, folyamatok. Minőségbiztosítás a szoftver életciklusban, verifikálás, validálás. Követelmények és minőség. 3. Szoftver minőségbiztosítási infrastruktúra (folyamat előírások, training, kvalifikáció, korrektív és preventív lépések, változtatás menedzsment, dokumentáció szabályozás). 4. RAM-modellek, biztonság kritikus szoftverrendszerek. Hibatűrés, szoftver fejlesztési elvek, technikák. A szoftverdiverzitás szerepe és megoldások. 5. A szabványosítás lényege. Szoftver minőségi szabványok (vonatkozó ISO és CENELEC szabványok). 6. Szoftver felülvizsgálat (review): célok, technikák, formális és informális felül- és átvizsgálás (peer review). 7. A szoftvertesztelés alapjai, célok, hibamodellek, programhibák. Költségek, tesztelés és a szoftverminőség kapcsolata. A tesztelési folyamat.

Tematika (folyt.) Hét Téma 8. Tesztelési stratégiák, technikai teszttervezés, teszteset specifikálás, specifikáció és struktúra alapú tesztelés. 9. Specifikáció alapú tesztelési technikák (ekvivalencia osztályok, határérték elemzés, döntési tábla, állapot átmenet tesztek). Használati eset alapú tesztelés. 10. Struktúra alapú tesztelési technikák, lefedettség mérés (utasítás, döntés, út). Vezérlés folyam gráf (CFG), ciklomatikus komplexitás. 11. Tesztmenedzsment, szervezet, szerepkörök, becslési technikák, tesztelési megközelítések, tesztelési szintek, dokumentálás. 12. Tesztautomatizálás, tesztkörnyezetek, szoftver integrálás teszteléshez, konfiguráció menedzsment. 13. Formális módszerek és a szoftverminőség kapcsolata, formális és félformális fejlesztés, specifikáció. Automatikus modellellenőrzés. A Sziray modell. 14. Biztonság kritikus szoftverfejlesztési esettanulmány (LockTrac 6131 ELEKTRA).

Irodalom 1. D. Graham, E. Van Veenendaal, I. Evans, R. Black: A szoftvertesztelés alapjai, Alvicom Kft., 2010 2. D. Galin: Software Quality Assurance, Addison Wesley, 2004 3. L. Subburaj: Software Reliability Engineering, McGraw Hill, 2015 4. L. Crispin, J. Gregory: Agile Testing: A practical guide for testers and agile teams, Addison Wesley, 2011 5. U. Ghazali: Software Testing: Essential Skills for First Time Tester, ASIN: B00ICWK6RK, 2014 6. Beszédes Á., Gergely T.: Tesztelési módszerek, Typotex, 2011 7. Sziray József: Szoftver rendszerek minőségbiztosítása, Egyetemi tankönyv, LOGSOFT, 2008 8. P. C. Jorgensen: Software Testing, A Craftsman' Approach, CRC Press LLC, 2002 9. K. Pohl, C. Rupp: Requirements Engineering Fundamentals, Rooky Nook Inc., 2011 10. S. Maguire: Writing Solid Code, Microsoft Press, 1993 11. J. Cohen: Best kept secrets of peer code review, Smart Bear Inc., 2006 12. T. DeMarco et. al: Adrenalin Junkies and Template Zombies, Dorset House, 2008 13. E. Dustin, T. Garrett, B. Gauf: Implementing Automated Software Testing, Addison Wesley, 2009 14. M. Fewster, D. Graham: Software Test Automation, Addison Wesley, 1999 15. A. Cooper: The inmates are running the asylum, SAMS, 2004

ISTQB/HTB A Hungarian Testing Board olyan szakértőkből álló szervezet, amely szoftverek, valamint informatikai rendszerek tesztelésével, illetve a teszteléssel kapcsolatos tevékenységekkel foglalkozik. A frissen alakult egyesület tagjai specialisták, akik az iparhoz, tanácsadó- vagy tréningcégekhez, más tudományos és szakmai szervezetekhez/ szövetségekhez tartoznak. A HTB az ISTQB (International Software Testing and Qualification Board) szoftvertesztelői világszervezet teljes jogú egyedüli magyarországi tagszervezete. http://www.hstqb.org

Bevezetés

Mi a minőség? Valamiről valakinek az értékítélete. Minek a minősége? termék termelési folyamat fogyasztási/felhasználási folyamat Ki minősít? fogyasztásban érdekeltek termelésben érdekeltek termelési-fogyasztási folyamatban érintettek (társadalom, piacgazdaság, jogállam)

A jó minőség A minőség időben változó (értékítéletek időben változnak) piac, környezet, minőségi igények változnak Aktuális vs. jövőbeni minőség Minőség fenntartása karbantartás, csere, javítás Minőség javítása minőség fejlesztés, tökéletesítés A termelés-fogyasztási folyamat kockázatainak csökkentése

Minőségi hatáslánc Ügyfél-elégedettség Piaci részesedés Minőség Termék árak Termelékenység Költségek Profit

Pfleeger on revenue vs. quality User satisfaction (Revenue) (Phase space) Cost (Quality)

A minőség megítélése A minőség közvetlenül nem mérhető Termékminőség körülírása minőségi jellemzőkkel mérhető tulajdonságok+kritériumok -> összevetés -> minőségi mérték Használati minőség értékelése szubjektív (felhasználó, környezet, feladat) teljesítményjellemzők, felhasználói vélemény mérése

Megfelelőség Minőséggel kapcsolatban álló, mérhető tulajdonságok Minőségi követelmények (tulajdonságok mértékeire vonatkozó szintek) Megfelelőségre vonatkozó rögzített követelmények minőségi szinthez rendelt mérhető (becsülhető) (határ)értékek

Minőség koncepciók

Minőségbiztosítás A minőségbiztosítás szisztematikus megközelítése a termelésifogyasztási folyamat megfelelőség-szabályozási elemének: minőség értékelési eljárások szabályozása folyamatok technológiájának szabályzása szabályozás: rögzítés (pl. szabványok), monitorozás, értékelés, tanusítás, beavatkozási lépések folyamatok: tevékenység expliciten rögzített lépésekkel

A szoftver-minőségbiztosítás sajátosságai A szoftver, mint termék, speciális tulajdonságai A szoftverfejlesztési folyamat, mint "gyártási" folyamat, sajátosságai A professzionális szoftverfejlesztés és karbantartás speciális környezete

A szoftver, mint termék Eltérések a hagyományos ipari termékektől Egyedi termék Komplexitás működési módok száma szoftverek esetén rendkívül magas Láthatóság a szoftver szellemi termék, fizikailag nem "látható" hibák észlelése gyártás közben nem könnyű

Szoftverfejlesztési tevékenység Lényegében csak termékfejlesztés történik, nincs klasszikus gyártás (az egyszerű automatikus reprodukció) A tervezési és fejlesztési (előállítási) fázis nem különül el élesen => egy ipari fázis áll rendelkezésre a hibák feltárására és javítására

A szoftverfejlesztési környezet Szerződéses viszony (funkcionális követelmények, költségvetés, határidők) Erős kitettség a megrendelőnek Nagyfokú csapatmunka (munkaterhelés, specializálódás) Függés más fejlesztő szervezetektől (hardver, szoftver) Interfészek más szoftverrendszerek felé Folytatólagos munka változó szervezet mellett Időben hosszan elnyúló tevékenység (karbantartás)

A szoftver és minősége A szoftver: programok, a "kód" eljárások, a szoftver használata dokumentáció adatok => A minőségbiztosítás tehát kiterjed a kód, az eljárások, a dokumentáció és az adatok minőségére.

Hibák Emberi hiba, tévedés (error) ha helytelen működést eredményezhet -> Programhiba (defect, fault) ha aktíválódik -> Szoftverfejlesztési folyamat Meghibásodás (failure) programozói hiba program-hiba meghibásodás

Szoftverhibák okai Hibás követelmények Kommunikációs hiba a megrendelő és a fejlesztő között Szándékos eltérés a specifikációtól Logikai tervezési hibák Kódolási hibák Elégtelen tesztelési eljárás

Szoftverminőség definíciók IEEE Annak a foka, hogy egy rendszer mennyire felel meg specifikált követelményeinek Annak a foka, hogy egy rendszer mennyire felel meg a felhasználó igényeinek, elvárásainak Pressman Megfelelőség expliciten adott funkcionális és teljesítmény követelményeknek, rögzített fejlesztési standardoknak

Szoftver-minőségbiztosítás IEEE definíció Tervezett és szisztematikus tevékenység annak biztosítására, hogy megfelelő bizonyosságot nyerjünk arról, hogy egy termék megfelel meghatározott műszaki követelményeknek Tevékenységek halmaza egy termék fejlesztési folyamatának értékelésére, minősítésére

A szoftver-minőségbiztosítás jellemzői Szisztematikus, tervezett tevékenység Kiterjed a szoftverfejlesztési folyamatra Kiterjed a szoftver karbantartásra Foglalkozik a funkcionális műszaki követelményekkel Foglalkozik a határidő követelményekkel Foglalkozik a költségvetési követelményekkel

A szoftver-min.bizt. fő célja Különböző tevékenységekkel minimalizálni a szoftverfejlesztési projekt minőségének garantálási költségét. Ezek a tevékenységek a projekt minél korábbi fázisában a hibák okainak kizárását, a hibák felderítését és kijavítását célozzák.

Szoftverminőségi faktorok Szoftverminőségi követelmények megfogalmazásához szükség van szoftverminőségi faktorokra ~ minőségi szoftver jellemzők

McCall faktor modellje 11 faktor, 3 kategórába csoportosítva Termék működési faktorok: korrektség, megbízhatóság, hatékonyság, integritás, használhatóság Termék revíziós faktorok: karbantarthatóság, rugalmasság, tesztelhetőség Termék átviteli faktorok: hordozhatóság, újra felhasználhatóság, együttműködési képesség

Korrektség A szoftver kimenete megfelelően pontos teljes időszerű rendelkezésre áll A kód és a dokumentáció a vonatkozó előírásoknak megfelel. Alfaktorok: pontosság, teljesség, időszerűség, rendelkezésre állás, konzisztencia

Megbízhatóság Szoftver jellemző a meghibásodás (hibás működés) szempontjából Megbízhatóság jellemezhető a meghibásodások előfordulási arányával (valószínűségével) Alfaktorok: rendszer megbízhatóság, visszaállíthatóság (Pontosítás később a RAM modellek kapcsán)

Hatékonyság Funkciók megvalósításához szükséges erőforrás felhasználás számítási kapacitás igény tároló kapacitás igény hálózati sávszélesség igény Alfaktorok: számítási, tárolási, sávszélesség, energia felhasználási hatékonyság

Integritás A szoftver rendszer biztonságossága (security) Hozzáférés, jogosultság kezelés információ biztonság számítási erőforrás használat

Használhatóság Használati minőség Humán erőforrás (pl. képzési) igény az üzemeltetéshez

Karbantarthatóság Milyen erőfeszítést igényel a karbantartás hibák detektálása, javítása a szoftver adaptív megváltoztatása a szoftver kibővítő megváltoztatása Alfaktorok: egyszerűség, modularitás, dokumentáltság

Rugalmasság Milyen erőforrás igénye van speciálisan az adaptív és kibővítő karbantartásnak Milyen mértékben skálázható a szoftver Alfaktorok: modularitás, általánosság, skálázhatóság

Tesztelhetőség Mennyire könnyű a szoftver tesztelése Tesztelés támogatása: pl. logolás, belső interfészek, tesztautomatizálási lehetőségek Alfaktorok: felhasználói tesztelhetőség, meghibásodási diagnosztizálhatóság, nyomkövethetőség

Hordozhatóság Mennyire könnyű a szoftvert más hardver vagy operációs rendszerkörnyezetben használni, ahhoz adaptálni Alfaktorok: rendszer függetlenség, modularitás

Újra felhasználhatóság Felhasználhatók-e a szoftver elemei, moduljai más szoftver projektekben Az újra felhasználhatóság csökkenti az új szoftverek fejlesztési erőforrás igényét, idejét és jobb minőségű modulok használatát teszi lehetővé Alfaktorok: modularitás, rendszer függetlenség, általánosság

Együttműködési képesség Mennyire könnyű más szoftverek felé interfészeket kialakítani, milyen szabványos interfészekkel rendelkezik a szoftver Alfaktorok: kompatibilitás, általánosság

Szemléltető példák

ARIANE 5 hordozó rakéta Flight 501, 1996.06.04.: -$500m A rakéta letér pályájáról, önmegsemmisítő aktiválódik Az ok: szoftver hiba Tervezési hiba + elégtelen tesztelés (újra felhasználási hiba)

ARIANE 5 hordozó rakéta (folyt.) Tervezési hibák: Bevált ARIANE 4 modulok átvétele (de eltérő repülési dinamika) SRI: 2 identikus redundáns HW és SW csatorna (csak HW hibák ellen véd ) Implicit feltételezések az implementációban: 64 bites érték kovertálása 16 bitessé: nem fog túlcsordulásig futni az SRI modul -> nem kezeljük a kivételt (default kezelő) OBC az SRI hibajelző kimeneti mintájára (redundáns és aktív is leállt) nem reagál speciálisan (adatként kezeli) => túlkormányzás -> gyorsítók leszakadása -> önmegsemmisítő

ARIANE 5 hordozó rakéta (folyt.) Elégtelen tesztelés: Modultesztek a modulok specifikációnak megfelelését igazolták Integrációs tesztelés csak alacsony szinten (elektromos, bus vezérlés) Szimulált gyorsulási adatokkal való integrációs teszt kimutatta volna a hibát, de ilyen nem volt

ARIANE 5 hordozó rakéta (folyt.) Változtatási javaslatok a verifikáláshoz: Rendszertesztelés realisztikus szenzor adatokkal (magas lefedettség szükséges) Leállás esetén hibajelzés helyett (mellett) best effort adatok szolgáltatása Kiterjedt szoftver átvizsgálás (codereview) alkalmazása

Észak-Amerikai elektromos hálózati kiesés 2003.08.14: 50 millió fogyasztót érintő elektromos hálózati kiesés ~100 haláleset, 6 milliárd dollár kár Eredetileg vihar okozta lokális hibák Eszkalálódás a humán operátorok rossz és késői döntései miatt A háttérben nem megfelelő SCADA HMI (túl komplex) Lassú képernyő frissítések (59 sec) Nem újra indított monitorozó rendszer Kiesett riasztó rendszer (bug)

Észak-Amerikai elektromos hálózati kiesés (folyt.) A hálózat-menedzsment szoftver humán-gép interfészei miatt az operátorok nem látják át a rendszer állapotát, az alkalmatlan valós idejű diagnosztikára Kognitív túlterheltség + stressz -> hibás döntések

Észak-Amerikai elektromos hálózati kiesés (folyt.) Eredeti interfész Áttervezett interfész