Szoftverminőségbiztosítás



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

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉ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

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

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

Szoftverminőségbiztosítás

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

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

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

Szoftvertesztelés Alapok

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

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

Szoftverminőségbiztosítás

Tesztelési szintek Tesztautomatizálás

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

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

Szoftver újrafelhasználás

Üzletmenet folytonosság menedzsment [BCM]

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

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

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

MIÉRT KELL TESZTELNI?

(Teszt)automatizálás. Bevezető

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

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

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

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

A tesztelés szükségessége

Rubin SPIRIT TEST. Domino net provisioning tesztelése esettanulmány 1.0. Készítette: Dobó Arnold Jóváhagyta: Varga József. Rubin Informatikai Zrt.

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

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

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

Információtartalom vázlata

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

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

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

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

ITIL alapú IT környezet kialakítás és IT szolgáltatás menedzsment megvalósítás az FHB-ban

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ó

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

XXXIII. Magyar Minőség Hét 2014 Átállás az ISO/IEC új verziójára november 4.

Fejlesztés kockázati alapokon 2.

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

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

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

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

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

30 MB INFORMATIKAI PROJEKTELLENŐR

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

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

Szoftver-technológia I.

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

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

AZ ISO 9001:2015 LEHETŐSÉGEI AZ IRÁNYÍTÁSI RENDSZEREK FEJLESZTÉSÉRE. XXII. Nemzeti Minőségügyi Konferencia Szeptember 17.

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

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

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

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

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

Projectvezetők képességei

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

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

Projektkövetés a 148/2002 (VII.1.) Kormány rendelet alapján

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

Komponens alapú fejlesztés

A DFL SYSTEMS KFT. INFORMATIKAI BIZTONSÁGI SZABÁLYZATA

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

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

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

IRÁNYTŰ A SZABÁLYTENGERBEN

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

BMEVIHIM134 Hálózati architektúrák NGN menedzsment vonatkozások: II. Üzemeltetés-támogatás és üzemeltetési folyamatok

Test Strategy. Tartalomjegyzék

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)

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

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:

Szoftvertesztelés. Created by XMLmind XSL-FO Converter.

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

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

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

Egészségügyi kockázatok integrált kezelésének számítógéppel támogatott gyakorlata


Web Értékesítő" Szerepkör leírás" 3. 2 Szerepkör profil" Profil összefoglalása" Részletes profil" 5

Szolgáltatás Orientált Architektúra a MAVIR-nál

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

Rónai Gergely. fejlesztési főmérnök BKK Közút Zrt.

Információbiztonság fejlesztése önértékeléssel

Szoftvertesztelés - Bevezető

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

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

Tartalomjegyzék. 1 A tesztelés alapjai. 2 Tesztelés a szoftver életciklusán át. 3 Statikus technikák. 4 Teszt tervezési technikák. 5 Integrációs teszt

Információ menedzsment

Szoftverfejlesztés teszteléssel

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

GDPR- INFORMATIKAI MEGOLDÁSOK A JOGI MEGFELELÉS BIZTOSÍTÁSÁNAK ÉRDEKÉBEN

Átírá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ő tesztelési igény Nem megfelelő szoftver viselkedés <- emberi eredetű fejlesztési hibák + a hiba manifesztálódásának feltételei Rendszer meghibásodások további okai (üzemel(tet)és közben): környezeti tényezők, emberi figyelmetlenség, helytelen használat, szándékos károkozás

A tesztelés szerepe Programhibák észlelése (fejlesztés, karbantartás) -> hiba előfordulás csökkentése üzemeltetési környezetben Felhasználói hibák esélyének csökkentése Termék és szolgáltatás minőség javítása Jogi feltételek (szabványok) betartása

A tesztelés definíciója A tesztelés folyamat - tevékenységek sorozata Az összes szoftverfejlesztési életciklushoz kapcsolható Szoftver- és kapcsolódó termékek Többféle tevékenység tervezés előkészítés végrehajtás értékelés

Tesztelési célok Magas szintű cél: a rendszer és a fejlesztési folyamat javítása (információ) Közvetlen célok: programhibák detektálása minőség szintjének meghatározása programhibák megelőzése

Hibakeresés és eltávolítás Teszt által detektált programhiba lokalizálás - hibakeresés javítás ellenőrzés Hibakeresési ciklus: hibalokalizálás, javítás, újra tesztelés (fejlesztő) Regressziós tesztelés: javítás során nem került be hiba

Hiba eltávolítás (pl.) Összes hiba Felülvizsgálat Tesztelés Használat közbeni hiba 100 75 50 25 0 Verziók

Tesztelési alapelvek A tesztelés fő célja programhibák megtalálása Nem lehetséges kimerítő tesztelés (bementek ls előfeltételek minden kombinációjára) A tesztelést az életciklus lehető legkorábbi fázisában el kell kezdeni (gazdaságosság) Jellemző a programhibák csoportosulása A programhiba- csoportok idővel átalkulnak ("féregírtó paradoxon") A tesztelés függ a körülményektől (kockázatok) A gyakorlati használhatóság nem feltétlenül függ a programhibáktól ("a hibátlan rendszer téveszméje")

A tesztelési folyamat Főbb tevékenységek: tervezés, irányítás elemzés és műszaki teszttervezés megvalósítás és végrehajtás kilépési feltételek ellenőrzése és riportolás tesztelés lezárása

A tesztelési életciklus Követelmény specifikáció Tervezés Kódolás Javítás Tesztelés Hiba azonosítás Hibaizolálás Hiba-feloldás Incidens Lokalizálás

Teszttervezés Projekt célok és követelmények megértése Tesztelési megközelítés, stratégia meghatározása tesztelési irányelvek (szervezeti vagy szoftver rendszer szintű alapelvek, általános szabályok) Tesztterv kidolgozása: tesztelés hatókörének (scope) megállapítása üzleti-, termék-, projekt-, technikai kockázatok tesztelési megközelités(ek) meghatározása tesztelemek, technikák, teamek, lefedettség, erőforrások ütemterv kilépési feltételek meghatározása

Teszt felügyeleti tevékenység Felülvizsgálatok és tesztelési eredmények elemzése (tesztek mennyisége, hibatalálati ráta, hibák súlyossága) Dokumentációs folyamat, információ visszacsatolás (fejlesztők, menedzsment, ügyfél, validátor/auditor) Javítások menedzselése Projekt döntéshozatal

Formális teszt monitorozás Célok: biztosítani, hogy a tesztelési eljárások összhangban vannak a tesztelési tervekkel biztosítani a tesztelési eljárások verifikálhatóságát biztosítani a teszt eljárások betartását biztosítani a tesztriportok pontosságát és teljességét biztosítani a tesztelés során detektált hibák tényleges kijavítását

Műszaki teszttervezés általános tesztelési célok -> konkrét teszttervek, tesztelési feltételek tesztbázis kialakítása (dokumentumok, melyeken a tesztesetek alapulnak) specifikáció elemzése (javítás, pontosítás) tesztelési prioritások meghatározása tesztadatok meghatározása (statikus, dinamikus) generálás (anonimizálás, szimuláció, stb.) tesztkörnyezet kialakítása (eszközök, infrastruktúra)

Tesztesetek Azonosítóval rendelkeznek Egy adott program-viselkedéshez kapcsolódnak Rögzített előfeltételek (precondition), kezdeti állapot (initial state) Meghatározott inputok és outputok (akciók és reakciók) Rögzített végállapot (post condition)

Tesztek és viselkedés Specifikált viselkedés Programozott viselkedés Tesztesetek Lehetséges viselkedések univerzuma

A tesztelés végrehajtása Tesztesetek meghatározása, rögzítése Tesztelési eljárások kialakítása tesztszkriptek írása futtatás automatizálása megfelelő formátumú tesztadatok kialakítása Tesztkészletek létrehozása Tesztkörnyezet megvalósítása, kialakítása Tesztek futtatása Eredmények naplózása Incidensek jelentése, változtatási igények rögzítése (->javítás)

Független tesztelés Szoftver fejlesztés és tesztelés eltérő gondolkodásmódot igényel Különböző szintek: fejlesztő más személy a csapatból más szervezeti egység tagja más (külső) szervezet tagja Belső tesztelés előnyei fejlesztési technológia, kód ismerete, hatékony hibalokalizálás Független tesztelés előnyei elfogulatlanság, tesztelési professzionalizmus, hatékony hibadatektálás

Tesztelési szintek Egység teszt (unit test) legkisebb tesztelhető komponensek tesztje Modul teszt (module test) egymással összefüggő komponens csoport tesztje Alrendszer teszt (subsystem test) alrendszert alkotó modulok tesztje, interfésztesztek Rendszer teszt (systemtest, integration test) integrált rendszer tesztje (funkc. és nem funkc. köv., együttműködés, telj.) Átvételi teszt (acceptance test) szolgáltatások tesztelése, valós viszonyok között

Tesztelési alap-megközelítések Funkcionális (black-box, specifikáció alapú) megközelítés specifikációtól való eltérés felderítése a kód figyelembevétele nélkül "bizalom" erősítése Struktúrális (white-box, lefedettség alapú) megközelítés a kód minél alaposabb (utasítások, elágazások, utak) bejárása (végrehajtása) hibák felfedezésére hibák keresése

Tesztelési alap-megközelítések (folyt.) Tesztesetek Tesztesetek Specifikált Programozott Specifikált Programozott Funkcionális tesztek Struktúrális tesztek

Egység- és modultesztek Moduláris kód (függvények, osztályok, metódusok) -> egységenkénti tesztelés kódolással szorosan összekapcsolva inkább white-box jellegű (+ specifikáció alapú tesztesetek) kódrészek elszigetelt (izoláció) végrehajtása korai tesztelhetőség felhasználás regressziós tesztelésre is modul interfész tesztelése jó idő kihasználás (hibák nagyrésze felderíthető, hatékony integrálás) hatékony hibalokalizálás rugalmas, jól kontrolálható input megvalósítás könnyű és kényelmesebb létrehozás, karbantartás

Integrációs tesztelés Több "összeszerelt" komponens együttesének tesztelése komponensek közötti kölcsönhatások tesztelése (együttműködés) interfészek együttes tesztelése Megközelítések: big bang inkrementális (modulok hozzáadása lépésenként)

Izolációs és integrált modul tesztelés Teszt input Hibák Modul Teszt input Integrált rendszer

Izolációs és integrált modul tesztelés (folyt.) Különböző típusú tesztek egymáshoz viszonyított relatív időigénye helyszíni tesztelés rendszerteszt integrációs teszt egységteszt 0 3 6 9 12

Magasabb szintű tesztek Rendszerteszt követelmények -?-> specifikáció rendszer céljai, felhaszn. doku. -> tesztesetek független tesztelől, végfelhasználók (megrendelő) Szolgáltatás teszt funkciók tesztelése nem a specifikációra építve tevékenységek elvégezhetők-e a szoftverrel Mennyiségi és stresszteszt kapacitás korlátok ellenőrzése (nagy mennyiségű adat) stressz teszt: erős (intenzív, szélsőséges) terhelés korlátozott idő alatt, robusztusság tesztelése Használhatósági teszt használat közbeni minőség (hatékony és elégedettségre vezető használat) felhasználói felület

Magasabb szintű tesztek (folyt.) Biztonsági teszt adatbiztonsággal, adatvédelemmel kapcsolatos hibák (pl. pentest) jogosultságok, adathelyesség, integritás Teljesítményteszt specifikált teljesítménytől való eltérés felderítése válaszidők, feldolgozási sebesség Konfiguráció-teszt eltérő környezetekben való működés (HW, SW környezetek) minimun és maximum konfiguráció kompatibilitási tesztek Megbízhatósági teszt meghibásodási ráta (sztochasztikus becslések) visszaállási (recoverability) képesség tesztelése

Változtatásokhoz kapcsolódó tesztelés Ellenőrző újratesztelés (retest) javítás utáni újra tesztelés (megtalált és javított hiba már nem hiba) Regressziós tesztelés a változtatások okozta "mellékhatások" tekintetében általában kiterjedt tesztkészlet szoftverrel páhuzamos karbantartást igényel

Alfa- és bétatesztek COTS szoftverek esetén a megrendelői elfogadási tesztek helyett szoftvertervezési és kódolási hibák felfedezése a felhasználói csoport minőségre vonatkozó visszacsatolása valódi felhasználási helyzetek, elfogultság csökkentése, szélesebb tesztelői kör Alfateszt a fejlesztés helyén Bétateszt a potenciális felhasználóknál