Szoftverminőségbiztosítás



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

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

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

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

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

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

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

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

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

A TESZTELÉS ALAPJAI A TESZTELÉS ALAPVETŐ FOLYAMATA A TESZTELÉS PSZICHOLÓGIÁJA A TESZTELÉS ETIKAI KÓDEXE

Szoftverminőségbiztosítás

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

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

MIÉRT KELL TESZTELNI?

Szoftverminőségbiztosítás

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

Szoftverminőségbiztosítás

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

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

Szoftver újrafelhasználás

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

Szoftvertesztelés - Bevezető

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

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

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

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

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

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

IRÁNYTŰ A SZABÁLYTENGERBEN

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Hibadetektáló rendszer légtechnikai berendezések számára

TESZTMENEDZSMENT A TESZT ELŐREHALADÁSÁNAK FELÜGYELETE ÉS IRÁNYÍTÁSA KONFIGURÁCIÓ MENEDZSMENT KOCKÁZAT ÉS TESZTELÉS INCIDENSMENEDZSMENT

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

Üzletmenet folytonosság menedzsment [BCM]

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Tesztelési szintek Tesztautomatizálás

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

Modellek ellenőrzése és tesztelése

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

Előadók: Angyal Gergely (Raiffeisen), tesztelési csoportvezető Kováts Márton (KFKI), szenior rendszermérnök

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

Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)

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

Hálózati szolgáltatások biztosításának felügyeleti elemei

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

LIBRA: a programozott fejlődés

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

Szabálykezelés a gyakorlatban

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)

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

Kompetens Softver Tesztelés a Gyakorlatban (CoSTiP) - pilot. 5. Tesztmenedzsment

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

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

Folyamatmodellezés és eszközei. 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

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

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

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

Szoftverfejlesztés teszteléssel

Test plan Okoshaz projekt

Vizuális adatelemzés - Gyakorlat. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

Biztonságkritikus rendszerek Gyakorlat: Architektúrák

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

Hogyan lesz adatbányából aranybánya?

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

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

Hadházi Dániel.

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

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

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

Automatikus tesztgenerálás modell ellenőrző segítségével

Információ menedzsment

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

Projektterv. Projekt Neve: Ingatlan Bérbeadási Nyilvántartás Csoport: nmi

Szerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó

Szoftverminőségbiztosítás

Üzleti architektúra menedzsment, a digitális integrált irányítási rendszer

A szoftver tesztelés célja

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

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

6. Előadás. Vereb György, DE OEC BSI, október 12.

Test Strategy. Tartalomjegyzék

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:

V & V Feladatok. V & V Feladatok

(Teszt)automatizálás. Bevezető

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

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

Projekt beszámoló. Könyvelési Szakértői Rendszer Kifejlesztése Repetitív Könyvelési Feladatok Szabályalapú Feldolgozására

Teszttervezés. Majzik István, Micskei Zoltán. Integrációs és ellenőrzési technikák (VIMIA04) Méréstechnika és Információs Rendszerek Tanszék

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

S01-9 Szoftverfejlesztés minőségi aspektusai

A 9001:2015 a kockázatközpontú megközelítést követi

Hipotézis vizsgálatok

Nagy bonyolultságú rendszerek fejlesztőeszközei

Átírá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ő gazdálkodás a felhasznált erőforrásokkal Elérés eszközei: hatékony tesztesetek tesztelés automatizálása

A szoftverhibák hatása A felhasználókra nézve emberi életek veszélyeztetése alapvető szervezeti/üzleti funkció meghiúsítása (nem helyettesíthető) a teljes rendszer hibás működését okozza üzleti alkalmazások hibás működése személyi alkalmazások hibás működése felhasználók számára kényelmetlenséget okoz

A szoftverhibák hatása (folyt.) A fejlesztő szervezetre nézve: Anyagi veszteség kártérítés, kötbér, közvetlen bevétel kiesés, karbantartási költségek Nem vagyoni veszteség presztizs-veszteség, piacvesztés (elmaradó megrendelések)

Szoftver-kockázatok A kockázat szintjét meghatározó tényezők A rendszer/alkalmazás mérete komplexitása új és újra felhasznált kód aránya A fejlesztői szakmai kvalitás tapasztalat domén támogatás rendelkezésre állása

A teszttervek változtatása A tesztterveket a kár mértéke és a kockázatok együttes értékelése alapján kell meghatározni A teszttervek változhatnak: Erőforrások nem állnak rendelkezésre A tesztelés időigénye túllépi a határidőket A kockázatok vagy a tesztelési erőforrásigény megítélése megváltozik

Tesztek végrehajtása Fejlesztő csapat (egység- és integrációs tesztek) saját kód más fejlesztő csapat kódja Független (belső vagy külső) tesztelő csapat (rendszer tesztek) Több tesztelő csapat

A tesztelés befejezése Teszttervek végrehajtásának lezárulása Beültetett hibák meghatározott arányú felderítése után Duális, független teszt csapatok eredménye alapján Erőforrások elhasználásával

A tesztesetek forrásai Valódi esetekből véletlenszerű mintájából Szintetizált teszt esetek specifikáció feltételeiből, paramétereiből Teszteset meghatározás erőforrás igénye Véletlen minta alacsony, (kimeneti eredmények rendelkezésre állnak) Szintetikus tesztesetek magas, (kimenetek meghatározása a paraméterekből) Tesztesetek száma relatív magas relatív alacsony Tesztvégrehajtás erőforrás igénye Hiba-feltárási hatékonyság magas relatív alacsony alacsony relatív magas

Rétegzett mintavételezés Jelentős hatékonyságnövelés a mintavételes tesztesetelőállításnál Irányított mintavételezés teszt populáció lebontása alcsoportokra nagyobb mintaszám a potenciálisan nagyobb hibafeltárási képességű alcsoportokból

A jó teszteset Jó hibadetektáló képesség Kis redundancia más tesztesetekkel Az érdekes területre koncentrál Más területek minimális használata Sem nem túl egyszerű és sem nem túl bonyolult Lehetővé teszi a hiba izolálását és azonosítását

Tesztautomatizálás

Automatizálási motiváció Feltételezett költségcsökkentés rövidebb teszt-végrehajtási idő alaposabb tesztelés megnövelt pontosság jobb riportolás és statisztikai értékelés

Automatizálható tesztek Kód auditálása (statikus analízis) Lefedettség monitorozás Funkcionális tesztek Terheléses tesztek Teszt menedzsment

Automatizált funkcionális tesztek Teszt szkriptek létrehozása (manuális írás vagy rögzítés) Regressziós tesztelés létező tesztkészlet végrehajtása minimális ráfordítással output komparátor (gold fájlok előző tesztfutásokból)

Regressziós tesztelési problémák A legtöbb hibát a tesztek tervezésekor lehet megtalálni A regressziós tesztek "mindig" ugyanazt tesztelik A programok nem öregednek és romlanak el Más tesztek is megtalálhatják a "mellékhatásokat" Az automatizálás csökkenti a tesztelési változatosságot Csak a tesztbe programozott dolgokat verifikálja

Terheléses tesztek Maximális terhelés környezet kialakítása valódi terhelési viszonyok események/tranzakciók és frekvenciáik virtuális felhasználók/események valódi események/tranzakciók rögzítése végrehajtás nagy mennyiségben, tervezett eloszlással

Tesztmenedzsment Manuális tesztmenedzsment megközelítésnél magasabb szintű szolgáltatások nagyobb formalitás interoperabilitás a tesztkörnyezet többi elemével, integráció Teszttervezés, eredmény-dokumentálás teszteset nyílvántartás, hibakövetés, monitorozás Tesztvégrehajtás konfiguráció menedzsment, automatizált tesztvégrehajtás, eredmény-rögzítés Javítások követése

Automatizált tesztelés - előnyök/hátrányok Előnyök Hátrányok Pontos teljesítmény követés Magasabb bevezetési költség Pontos eredmény logok Tesztvégrehajtás kisebb emberi erőforrással Rövidebb tesztelési periódus idő Magasabb előkészítési költség Nem minden fajta tesztelés automatizálható Jobb regressiós tesztelés Manuális tesztelésnél szélesebb körű tesztelés

Az automatizált tesztelés jellemzői Manuális teszteléssel nem detektálható hibák megtalálása Ember számára nem látható információ monitorozása SUT stimulálása API-n keresztül Nagymennyiségű tevékenység végrehajtása Pszeudo random események => kontrollált változatosság Nagymennyiségű kimenet összehasonlítása

Téves elképzelések az automatizálásról Minden teszt automatizálható Az automatizálás rögtön kifizetődik Létező manuális tesztek könnyen automatizálhatók Nincs bejáratási idő Rögzítés/visszajátszás regressziós tesztelés hatékony Mindenre alkalmas az adott eszköz

Egyszerű és kiterjesztett tesztmodell Input SUT Output Kiindulási adat-állapot Kindulási program-állapot Input Kiindulási környezet SUT Vég adat-állapot Vég program-állapot Output Vég környezet

Problémás GUI tesztautomatizálás A GUI teszt eszközöket a termékhez és környezethez kell igazítani A GUI változásai tönkreteszik a teszteket ki kell várni a GUI stabilizálódását A téves riasztások drágák humán elemzés szükséges A tesztkarbantartás általában nehézkes

Teszt orákulum Kétféle megközelítés Mi a helyes kimenet adott bemenet esetén? A szoftver sikeresen vette-e a tesztet? Determinisztikus orákulum az eltérés programhibát jelez Valószínűségi orákulum eltérés esetén valószínűleg hiba van

Teszt orákulum (folyt.) Teszt orákulum Kiindulási adat-állapot Kindulási program-állapot Input Kiindulási környezet SUT Vég adat-állapot Vég program-állapot Output Vég környezet

Teszteredmények Nincs hiba Hiba van A teszteredmény OK Korrekt Nem detektált hiba A teszteredmény NOT OK Fals riasztás Detektált hiba

Az orákulum teljessége Input lefedés Output lefedés Funkció lefedés Hibatípusok Kihívások karbantarthatóság költségek időbeli viselkedés

Az orákulum pontossága Mennyire hasonló a SUT-hoz? aritmetikai pontosság statisztikai hasonlóság Mennyire független a SUT-tól? algoritmusok platform, alprogramok, könyvtárak Mennyire kiterjedt?

Automatizálási fejlesztés Az automatizálás szoftverfejlesztés A regressziós tesztelés automatizálása drága A karbantarthatóság létfontosságú A tesztelési követelményekhez igazodóan kell fejleszteni

A tesztautomatizálás - programozás De a legtöbb eszköznél: bedrótozott konstansok vannak nem modulárisak a szkriptek nincs verzió kezelés A létrehozott szriptek nem dokumentáltak nincs követelmény elemzés