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:

  1. Specifikacija zahteva
  2. Projektovanje
  3. Kodiranje
  4. Testiranje
  5. Klasifikacija defekata
  6. Izolacija defekata
  7. 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.

Entradas relacionadas: