Alapadatok

Év, oldalszám:2005, 21 oldal

Nyelv:magyar

Letöltések száma:170

Feltöltve:2009. március 04.

Méret:481 KB

Intézmény:
-

Megjegyzés:

Csatolmány:-

Letöltés PDF-ben:Kérlek jelentkezz be!



Értékelések

Nincs még értékelés. Legyél Te az első!


Tartalmi kivonat

Szoftver tesztelés a gyakorlatban 2 Struktúrális tesztelés 2 Struktúrális tesztelés ! Implementációs részletek figyelembevétele ! Tesztelési célok -> lefedettség ! Implicit hibamodell ! A hibák a vezérlési szerkezeteket érintik ! Vezérlési folyam követése ! Kimerít! út tesztelés nem végezhet! ! Metrika alapú teszt tervezés 3 Tesztesetek Specifikált m!ködés Tesztesetek 2 Program m!ködése Tesztesetek 1 Struktúrális tesztelés alkalmazása ! Vezérlés-intenzív alkalmazások ! Tervezési hibák felderítése ! Szabványok szerinti tesztelés 4 5 Vezérlés-folyam alapú tesztelés ! vezérlés-folyam gráf ! irányított gráf ! csomópontok: utasítások ! élek: egymást követ! utasítások között ! többféle granuláltságú vezérlés-folyam gráf ! visszavezethet!k egyedi DD-út gráffá 6 Vezérlés-folyam gráf (pl.) 4 5 6 7 8 9 1ö 11 12 13 21 14 15 16 17 18 19 20 22 23 7

Vezérlés-folyam gráf (pl.) ! struktúrálatlan program ! lehetetlen a kimerít! tesztelés first A B C D E F G last 8 DD-út ! Döntés-döntés ! út csomópont indeg=0 ! csomópont outdeg=0 ! csomópont indeg"2 vagy outdeg"2 ! csomópont indeg=1 és outdeg=1 ! maximális lánchossz"1 9 DD-út gráf példa first A B C D E F G H I J K L M N O last 10 Teszt lefedettségi metrikák C0 minden utasítás C1 minden DD-út C1p minden pred. összes kimenetel C2 +ciklusok Cd +függ! DD-út párok CMCC többszörös feltétel C# minden lehetséges út 11 Ciklusok kezelése ! Önálló ciklus (max n futás) ! egyszer ! kétszer ! m(<n)-szer ! n-1, n, n+1 menet ! Egymásba ! ágyazott ciklusok belülr!l kifelé haladva, küls!k min., tesztelés alatt álló végig, már teszteltek fix értéken 12 Ciklusok kezelése (folyt.) first first first A A A B B B C C C D D D last last last 13 Független

utak ! legalább egy élben eltérnek egymástól ! minimális cél a független utak egy maximális halmazának lefedése tesztekkel ! a maximális úthalmaz nem egyedi ! a ciklomatikus komplexitás használható a független utak számának meghatározására 14 Ciklomatikus komplexitás ! 1976 Thomas McCabe ! statikus szoftver metrika ! lineárisan független utak száma egy program modulban ! egész szám ! programnyelv független 15 Ciklomatikus komplexitás ! gráfok cikomatikus száma ! V(G)=e-n+p ! e élek ! n csomópontok ! p komponensek A A 2 1 B B D D 5 3 6 E 7 E 4 8 C C F F 9 10 G G 16 Független utak (pl.) A,B,C,G 1 0 0 1 0 0 0 0 1 0 A,B,C,B,C,G 1 0 1 2 0 0 0 0 1 0 A,B,E,F,G 1 0 0 0 1 0 0 1 0 1 A,D,E,F,G 0 1 0 0 0 1 0 1 0 1 A,D,F,G 0 1 0 0 0 0 1 0 0 1 A,B,C,B,E,F,G 1 0 1 1 1 0 0 1 0 1 A,B,C,B,C,B,C,G 1 0 2 3 0 0 0 0 1 0 17 Alapvet! komplexitás ! kondenzációs gráf komplexitása !

struktúrált programozás ! szekvencia ! if-then ! if-then-else ! case ! el!l tesztel! ciklus ! hátul tesztel! ciklus 18 Alapvet! komplexitás (pl.) first A A B a C first first first tsrif A A A a a a first D E G e G H I K G H I J F F F F J K L G H I c b L M M last N N O O last last N d O O last last tsal 19 A metrika felhasználása ! er!s korreláció a metrika és a hibák gyakorisága között ! kockázat (risk) becslés ! program ! érthet!sége karbantartás, módosítás ! tesztelhet!ség 20 Kockázat becslés Ciklomatikus komplexitás Kockázat 1-10 Egyszer$ program 11-20 21-50 50- Komplex program, mérsékelt kockázat Komplex, magas kockázat Tesztelhetetlen program 21 Komplexitás példa ! RPC csomagfeldolgozó rutin ! tevékenységek a csomagban érkez! üzenet mez!i és beállítási adatok alapján ! 160 sor (121 kódsor) ! 15 % megjegyzés 22 Komplexitás példa (folyt.) !

Egyszer$sített vezérlés-folyam gráf 23 Egyéb tesztelési metrikák ! függvény lefedettség ! hívás/visszatérés lefedettség ! ciklus lefedettség ! mutációs lefedettség 24 Adatfolyam alapú tesztelés ! változók ! definiálás/hivatkozás hibák ! ! ! never used never defined define more times before used ! DF-utak ! értékadásai és felhasználásuk (definíció/felhasználás) DEF(v,m) ! USE(v,n), p-use, c-use ! definition-clear path Adatfolyam alapú tesztelés (folyt.) ! Rapps-Weyuker 25 adatfolyam lefedési metrikák ! All-DU paths ! All-Uses ! All C-uses/some P-uses ! All P-uses/some C-uses ! All-Defs Funkcionális és struktúrális tesztelés ! önmagában egyik módszer sem kielégít! ! nincs szignifikáns különbség a hatékonyságban ! kiegészítik egymást ! végrehajtási sorrend: ! funkcionális tesztek ! struktúrális tesztek 26 27 Tesztelési stratégiák ! Egységek (modulok) tesztelése ! Izolációs

tesztelés ! Inkrementális tesztelés (hibrid techn.) ! Integrációs tesztelés ! Inkrementális tesztelés ! Big bang tesztelés 28 Az egységtesztelés szerepe ! moduláris fejlesztés -> moduláris tesztelhet!ség ! white box jelleg ! fejlesztés közbeni tesztelés ! tesztelési komplexitás csökkentés ! hatékonyabb integrációs fázis Az egység tesztelés szükségessége 29 input modul integrált rendszer output input modul output 30 Az izolációs tesztelés el!nyei ! kisebb tesztelési komplexitás ! könnyebb strukturális lefedettséget elérni ! egyszer$bb tesztvégrehajtó egységek és csonk modulok ! modul változtatása csak a hozzátartozó tesztek módosításával jár ! tiszta egységtesztek Az izolációs tesztelés hátrányai 31 ! nem biztosít korai integrációt ! tesztvégrehajtó (driver) és csonk (stub) modulok szükségesek a hierarchia minden szintjén 32 Az egységtesztelés el!nyei ! könnyebb teszt generálás és

karbantartás ! alacsonyabb relatív id!igény ! hibák pontos azonosítása ! párhuzamosíthatóság 33 Top-down tesztelés 34 A top-down tesztelés el!nyei ! korai integráció ! top-down tervezés esetén id! hatékony ! er!sen követelmény orientált egység tesztelés ! alsóbb szinteken megvalósított redundáns funkcionalitás kisz$rhet! A top-down tesztelés hátrányai 35 ! csonkok szükségesek ! egyre komplikáltabb tesztek ! egyre nehezebben elérhet! struktúrális lefedettség ! modul módosítása más modulok tesztjeinek módosítását igényli 36 Bottom-up tesztelés 37 A bottom-up tesztelés el!nyei ! korai integráció ! nincs szükség csonkokra ! alsó szint$ modulok könny$ tesztelhet!sége ! jól használható objektumok tesztelésére A bottom-up tesztelés hátrányai ! egyre komplikáltabb tesztek ! egyre nehezebben elérhet! struktúrális lefedettség ! meg kell várni az alacsonyabb szint$ modulok tesztelését 38 39

Szendvics integrálás ! Big bang integráció részfákon 40 Páronkénti integrálás 2 1 11 3 13 4 5 6 12 7 8 14 9 10 15 16 17 18 41 Szomszédos integrálás 2 1 11 3 13 4 5 6 12 7 8 14 9 10 15 16 17 18