Kompletna Metodologija Softverskog Testiranja i Verifikacije
Enviado por Anónimo y clasificado en Otras materias
Escrito el en
serbocroata con un tamaño de 5,26 KB
Verifikacija i Elementi Ocene Softvera
Verifikacija:
- Statička: review-i, provera koda i alati, statička analiza, dokazivanje ispravnosti.
- Hibridne: model checking, apstraktna interpretacija (simulira izvršavanje).
- Dinamičke: testiranje.
Elementi ocene:
- Očekivani rezultati (povratne vrednosti, poruke, izuzeci).
- Potvrda testa.
Klasifikacija:
- Cilja: funkcionalno, performansi, stress.
- Namena: usmereno na otkrivanje greške, prihvatno, regresiono, mutaciono.
- Oblast: unit, integration, system.
- Faze: implementacija, integracija podsistema, deployment, održavanje.
- Informacije o softveru: white-box, black-box.
Vrste Testova i Provera
Unit Provere
- Interfejs: broj parametara, argumenata?, tipovi, redosled podataka, reference, globalni parametri, ograničenja, implicitne konverzije.
- I/O: open/close, formati, veličina bafera, fajlovi (open pre upotrebe), eof, greške.
Kritični Moduli
Više softverskih zahteva, visok nivo kontrole, složenost, strogi performansni zahtevi (regresioni test).
Test Sistema
Recovery, sigurnost, stress, performanse, količine podataka, upotrebljivost, integritet, uporedno, zagušenja, opterećenja, konfiguracija, instalacija.
Test Integriteta
Robusnost, konzistentna upotreba resursa.
Test Zagušenja
Više konkurentnih zahteva različitih aktera za isti resurs.
Test Opterećenja
Limit, protok i vreme odziva (srednje i vršno).
Validacioni Test
Softver ispunjava sve funkcionalne zahteve i performanse (black-box), alpha test (u kompaniji, developer test), beta test (realno okruženje, korisnici).
Ciklus i Metodologije Testiranja
Ciklus:
- Specifikacija zahteva
- Projektovanje
- Kodiranje
- Testiranje
- Klasifikacija defekata
- Izolacija defekata
- Razrešavanje
CFG (Control Flow Graph):
Nerišu se iskazi, predstave čvorovima, grana između ako se kontrola može preneti na odredišni.
- Linearne kombinacije puta: elementi grafa kao vektorski prostor, sabiranje i množenje skalarom putanje.
- v(g) = e - n + p: potpuno povezane komponente grafa.
- b + 1: broj binarnih odluka (minimalan broj testova da se pokriju sve bazične putanje).
- LCSAJ: Linear Sequence Code and Jump.
- Data flow: def, p-use (grane), c-use.
- DU parovi [x, s, s1]: x je def(s), x je use(s), X ima dodelu u iskazu S koja je živa u iskazu S1.
Strategije pokrivanja:
All-nodes (statement coverage), all-edges (branch coverage), all-defs, all-p-uses, all-c-uses / some-p-uses, all-p-uses / some-c-uses, all-uses, all-du-paths, all-paths.
Black-box: funkcionalne greške u ponašanju.
Testiranje po Slojevima i Modeli Ponašanja
Prezentacioni Sloj
- Test sadržaja: semantika, estetika.
- Arhitektura: ispravnost linkova i slika.
- Korisničko okruženje: browseri.
Biznis Sloj
- Performanse: odziv, propusnost, opterećenje.
- Validacija podataka: format unosa.
- Transakcije: ispravna obrada.
Data Sloj
- Vreme odziva: brzina SQL komandi.
- Integritet: validnost podataka.
- Robusnost i oporavak: opterećenje, recovery.
Vrste modela ponašanja:
Decision tables, finite state machines, markov chains, state charts UML.
Test skripta:
Inicijalizacija SUT, za svaki test: inicijalizacija dodatnih odredišta, reset izlaza na pogrešnu vrednost ako može, postavljanje ulaza, pokretanje SUT, snimanje izlaza, kreiranje test izveštaja.
Karakteristike MBST (Model-Based Software Testing):
Opsežni testovi, unapređeni zahtevi (nedvosmisleni), ranija detekcija defekata.
Benefiti:
Kraći razvoj, manji trošak, automatizacija, lako ažuriranje testova, bolje regresiono testiranje i procena.
Tehnike Generisanja Test Primera
- Slučajno: ID metode, definicija ograničenja, minimalna sekvenca, generisanje slučajnih validnih sekvenci i izvršavanje.
- Particiono: po stanjima, atributima, funkcijama.
- Graf posledičnih efekata: ID ulaza i izlaza (uslovi, efekti), svaki se definiše kao true/false, bool graf povezuje ih (AND, OR, NOT, NOR), generisanje testova za sve kombinacije.
- Decision table: test primeri su kolone, redovi su uzroci i posledice, ćelije: T mora, F ne mora biti ispunjeno, * nije bitno.
- Majers: n uzroka ima 2^n kombinacija i redukuje se.