Szoftverminőségbiztosítás

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

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

Szoftverminőségbiztosítás

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

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

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

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)

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

SZOFTVER-MINŐSÉGBIZTOSÍTÁS SZOFTVER-TESZTELÉSI MÓDSZEREK. Széchenyi István Egyetem. Alapfogalmak

Modellek ellenőrzése és tesztelése

Szoftverminőségbiztosítás

Szoftver modul/unit tesztelés

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

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

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

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

Dinamikus modellek szerkezete, SDG modellek

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

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

Algoritmizálás, adatmodellezés tanítása 6. előadás

Szoftverminőségbiztosítás

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK SPECIFIKÁCIÓ ALAPÚ, VAGY FEKETEDOBOZ TECHNIKÁK

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

Struktúra alapú teszttervezési módszerek

Modell alapú tesztelés mobil környezetben

Struktúra alapú teszttervezési módszerek

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

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

Rendszermodellezés: házi feladat bemutatás

Kiterjesztések sek szemantikája

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

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

Számítógép architektúra

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

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

Szoftverminőségbiztosítás

5. gyakorlat Modellek ellenőrzése és tesztelése Megoldások

Időzített átmeneti rendszerek

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

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

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

Modell alapú tesztelés

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

23. Szoftver-tesztelés

A szoftver tesztelés alapjai

Modell alapú tesztelés

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

8.3. AZ ASIC TESZTELÉSE

Véges állapotú gépek (FSM) tervezése

2. Fejezet : Számrendszerek

Példa:

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

Dr. Schuster György február / 32

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

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

MIÉRT KELL TESZTELNI?

Formális módszerek GM_IN003_1 Bevezetés

Heckman modell. Szelekciós modellek alkalmazásai.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Szoftver tesztelés a gyakorlatban 2

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

Véges állapotú gépek (FSM) tervezése

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

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

Alapszintű formalizmusok

Állapot minimalizálás

Modell alapú tesztelés

Szoftverminőségbiztosítás

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

ködös határ (félreértés, hiba)

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

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

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

Szoftverminőségbiztosítás

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.

2. DIGITÁLIS ÁRAMKÖRÖK TESZTJEINEK SZÁMÍTÁSA (Dr. Sziray József, 2001.)

Statikus technikák és Műszaki teszttervezési technikák

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

Szoftverminőségbiztosítás

Tesztelési feladatok és kihívások a FALCON projektben

1. Kombinációs hálózatok mérési gyakorlatai

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

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

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok

6. Tesztelés (Verification and Validation Testing)

Diszkrét matematika I.

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

Modell alapú tesztelés

Online algoritmusok. Algoritmusok és bonyolultságuk. Horváth Bálint március 30. Horváth Bálint Online algoritmusok március 30.

1. Melyik szabvány foglalkozik dokumentumok tulajdonságainak megfogalmazásával? a. RDFS b. FOAF c. Dublin Core d. DBPedia

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

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

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Átírás:

NGB_IN003_1 SZE 2017-18/2 (9) Szoftverminőségbiztosítás Specifikáció alapú (black-box) technikák

A szoftver mint leképezés Szoftverhiba Hibát okozó bement Hibás kimenet Input Szoftver Output

Funkcionális tesztelés program, mint input-output leképezés implementáció nem ismert blackbox megközelítés implementáció-változás esetén is használható tesztesetek implementációval párhuzamos teszteset fejlesztés

Funkcionális tesztek tervezése Felt.: a szoftver működése determinisztikus (many-to-one, one-to-one mapping) Eltérő működés <- eltérő bemenetek A tesztelés általában a bemeneti halmazra (értelmezési tart.) fokuszál, de ezt kiegészíthetik a kimenet (értékészlet) alapú tesztek Cél, hogy minél kevesebb teszttel, a lehető legszélesebb működési mód halmazt fedjük le

Függvények összetétele Komplex szoftver működés, mint függvények összetétele (procedurák, subrutinok) (f º g)(.)= f(g(.)) Kauzális és nem kauzális adatfolyam (összetétel) a b c g f Kauzális folyam a g b1 b2 f c Nem kauzális folyam b2

Ekvivalencia osztály tesztelés Cél Kiterjedt tesztelés / redundancia csökkentése Tesztesetek számának csökkentése Ekvivalens tesztek meghatározása Módszer bemeneti ekvivalencia osztályok meghatározása tesztesetek meghatározása

Ekvivalencia osztályok A működés (funkció) szempontjából "egyforma" bemenetek osztályokat (diszjunkt részhalmazokat, partíciókat) alkotnak A 1 A 2... A n = B i j A i A j = A 2 A 1 A n

Az ekvivalancia osztályok meghatározása Heurisztikus folyamat Két fő osztálytípus érvényes bemenet érvénytelen bemenet

Tesztek meghatározása Ekvivalencia osztályok reprezentálása a tesztkészletben Gyenge/erős tesztkészlet (többszörös vs. egyszerű hibák) Robusztus/normál tesztkészlet (érvénytelen vs. érvényes esetek)

Ekvivalencia osztály tesztelés (pl.) Gyenge, normál tesztkészlet a x 1 d [a,b) [b,c) [c,d] e x 2 g [e,f) [f,g] g f e a b c d

Ekvivalencia osztály tesztelés (pl.) Erős, normál tesztkészlet a x 1 d [a,b) [b,c) [c,d] e x 2 g [e,f) [f,g] g f e a b c d

Ekvivalencia osztály tesztelés (pl.) Gyenge, robusztus tesztkészlet a x 1 d [a,b) [b,c) [c,d] e x 2 g [e,f) [f,g] g f e a b c d

Ekvivalencia osztály tesztelés (pl.) Erős, robusztus tesztkészlet a x 1 d [a,b) [b,c) [c,d] e x 2 g [e,f) [f,g] g f e a b c d

Szemléltetés Adott egy double sine(double x) C függvény x sin(x) közelítése (4 tizedes pont., 7-ed f. Taylor poli.)

Szemléltetés (folyt.) Feltételezhető ekvivalencia osztályok a sinus fv. tulajdonságai ill. az impl. techn. alapján:

Határérték elemzés Hibamodell: gyakran hibás intervallum határérték-kezelés a programokban (meghatározás nehézsége, progr. hiba: indexek, ciklusváltozók, relációs operátorok, stb.) erősen (Ada, CHILL) és gyengén (C) típusos prog. nyelvek (compile/run time range fail handling) változók alul/felül csordulása bemeneti ekvivalencia osztályok határértékei körüli bemenetek kimeneti határértékeket is figyelembe kell venni

Határérték elemzés (pl.) Kétváltozós fv. tesztkészlet a x1 b c x2 d d c a b

Határérték elemzés (pl.) Robusztus tesztkészlet a x1 b c x2 d d c a b

Határérték elemzés (pl.) Legrosszabb eset tesztkészlet a x1 b c x2 d d c a b

Határérték elemzés (pl.) Robusztus legrosszabb eset tesztkészlet a x1 b c x2 d d c a b

Szemléltetés (folyt.) Határérték tesztesetek Input domén Output terjedelem

Döntési tábla (ok-hatás) elemzés bool gráf bináris bemeneti feltételek (cause) bináris kimeneti feltételek (effect/action) logikai műveletek (és, vagy, nem) kiegészítő megszorítások Exclusive, I(at least one), One and only one, Requires, Masks => döntési táblázat => tesztek leszármaztatása

Döntési tábla és tesztelés Komplex üzleti logika (szabályok) szisztematikus áttekintése (fejlesztők, tesztelők) Jól használhatók a teszttervezésben. Segíti a tesztelőket különböző bemeneti kombinációk, szoftver állapotok hatásainak feltárásában. Minden kombináció tesztelése nem mindig kivitelezhető. A szabályok részhalmaza is tesztelhető: priorizálás, hatékony tesztesetek kiválogatása.

Bool gráf (pl.) C2 OR E1 C1 excl. C2 ~ C1 ~ AND AND E2 ~ C3 OR E3

Döntési táblázat R 1 2 3 4 5 6 7 8 C2 OR E1 C1 excl. C2 ~ C1 F F F T T F T T C1 ~ AND AND E2 ~ C2 F F T F F T T T C3 OR E3 C3 F T F F T T F T E1 F F T T T T * * E2 F T F F F F * * E3 T T T F T T * * Ekviv. oszt.

Döntési tábla (pl.) DecTabBegin SwitchPosition Determine the position for ElementSwitch. heartdashed is initialized to false. leftshort and rightshort are initialized to true. n n n n n n n - myswitch.getundefined() n y n n n - y - myswitch.getdisturbed() y y n n n - - - myswitch.getforced() - - y n n - - - myswitch.getmoving() - - - y n y - - myswitch.getleft() - - - n y y - - myswitch.getright() ================ ========================= - - x - - x x x heartdashed = true; - - x - - x x x heartcol = trackcolor; x x - - - x x x dring = Color.BLUE; - - - - - x - x isundef = true; x x - - - - - - thea = Color.BLUE; - - - x - - - - leftshort = false; - - - - x - - - rightshort = false; - - - x - - - - rightcolor = secondtrackcolor; - - - - x - - - leftcolor = secondtrackcolor; - - - - x - - - rightcolor = trackcolor; - - - x - - - - leftcolor = trackcolor; DecTabEnd SwitchPosition

Módszerek összehasonlítása Tesztesetek megh. költsége Tesztesetek száma O. ék a. ia nc sa tá ha k- t ér ár le va vi Ek at. ék a. ia nc sa tá ha k- H O t ér ár le va vi Ek at H p. p.

Véletlen teszt generálás korlátozott hibalefedési képesség tesztesetek előállítása nagy tömegben determinisztikus tervezési hibák felfedése

Valószínűségi funkcionális teszt generálás Tesztesetek generálása valószínűségi alapon bemeneti értékkészlet eloszlása (működési profilból) funkcionalitás Kockázat és hiba valószínűség -> tesztesetek száma

Állapotátmenet tesztelés Szoftver (komponens) működése véges állapotgéppel (FSM) leírható állapotok, átmenetek, események, tevékenységek Érvényes állapotátmenetek tesztelése (átmenet lefedettség) Állapot szekvenciák végigkövetése (forgatókönyv) Összes állapot elérése (állapot lefedettség) Események tesztelése különböző állapot kontextusokban (kontextus lefedettség) Érvénytelen átmenetek tesztelése

Use-case tesztelés Use-case: szereplők, rendszer interakciók Use-case lefutások - aktivitás diagrammok (lépések sorozatai), feltételek Teljes rendszer tranzakcióinak végigkövetése a tesztekben (szokásos és alternatív lefutások) rendszer- és átvételi tesztek integrációs megközelítés