SEMINARSKI  RAD

Tema: TESTIRANJE SOFTVERA

Predmet: TESTIRANJE SOFTVERA

Mentor:                                                               Student:
Prof.dr Borivoje Milošević                       Jovan Milić И-22/2019

Beograd, jun 2023

1

SADRŽAJ:

1.

Uvod   .................................................................................................................. 2 

2.

Definicija i ciljevi testiranja   .............................................................................3

3.

Strategije testiranja softvera.............................................................................. 4

3.1 „Big Bang“ strategija ......................................................................................5
3.2 Top-down i bottom-up testiranje.....................................................................5

4.

Klasifikacije softverskih testova.........................................................................6

      4.1 Klasifikacija prema konceptu testiranja .........................................................6
      4.2 Klasifikacija u skladu sa zahtevima.................................................................8

5.   Klasične tehnike bele kutije................................................................................ 9

      5.1 Testiranje osnovnih putanja ............................................................................9
      5.2 Kontrola toka/testiranje pokrivenosti ...........................................................11

5.2.1 Pokrivenost iskaza .........................................................................12
5.2.2 Pokrivenost grana(odluka) .............................................................12
5.2.3 Pokrivenost baznih putanja ............................................................13
5.2.4 Pokrivenost uslova

 .........................................................................

14

6.   Klasične tehnike crne kutije.............................................................................14

            6.1 Podela na klase ekvivalencije .......................................................................15
            6.2 Alaniza graničnih vrednosti ..........................................................................17
            6.3 Tabela odlučivanja.........................................................................................17

7.   Zaključak............................................................................................................20

8.   Literatura...........................................................................................................21

background image

3

2. DEFINICIJA I CILjEVI TESTIRANjA

Testiranje softvera je proces izvršavanja programa s ciljem pronalaženja grešaka. Ono se 
sastoji od dinamičke verifikacije ponašanja programa na konačnom skupu test slučajeva, 
prikladno   izabranih   iz   obično   beskonačnog   domena   izvršavanja,   prema   očekivanom 
ponašanju [2]. 
Testiranje   softvera   takođe   pruža   objektivan,   nezavisan   pogled   na   softver   kako   bi   se 
omogućilo klijentu da ceni i razume rizike implementacije tog softvera. 
Tehnike testiranja uključuju proces izvršavanja aplikacije u cilju pronalaženja softverskih 
grešaka, ali nisu ograničene samo na to. 
Testiranje softvera se takođe može navesti kao proces provere i verifikovanja programa 
odnosno proizvoda koji:

Ispunjava poslovne i tehničke zahteve kojima je sproveden njegov dizajn i razvoj,

Radi kako treba,

Može biti implementiran sa tim istim karakteristikama.

CILJEVI TESTIRANJA:

Glavni cilj testiranja je da se utvrdi da li sistem ispunjava zahteve korisnika i da li je sistem 
pouzdan. 

Direktni ciljevi 

Identifikacija i objavljivanje onoliko grešaka koliko je moguće u softveru koji se 
testira.

Dati testirani softver nakon korekcije identifikovanih grešaka i ponovnog testiranja 
do prihvatljivog nivoa kvaliteta. 

Izvršavanje zahtevanih testova efektivno i efikasno unutar budžeta i vremenskog 
rasporeda. 

Indirektni ciljevi 

Skupljanje zapisa o softverskim greškama da bi se koristile u prevenciji grešaka za 
korektivne i preventivne akcije. 

Mnogo termina se u literaturi o softverskom inžinjerstvu koristi radi opisa mana i grešaka 
(eng. error, fault, failure i dr.). Ključno je razdvojiti uzroke defekata, za koje se često koristi 
termin greška (fault ili defect) i neželjenog efekta posmatranog u isporučenom sistemu koji 
zovemo otkaz (failure). Otkaz je posledica odnosno manifestacija greške u softveru. Uzrok 
za otkaz ne može uvek biti nedvosmisleno identifikovan jer ne postoji teoretski kriterijum 
radi preciznog određivanja koja je greška prouzrokovala posmatrani otkaz. 

4

Mnogo je efikasnije sprečiti nastanak grešaka nego detektovati i otkloniti iste. To znači da 
treba testirati svaku proceduru ili modul odmah nakon njegovog pisanja. Testiranje u fazi 
integracije sistema se mora izvršiti odmah nakon integracije komponenti softvera u sistem. 

VERIFIKACIJA I VALIDACIJA

Kada se proces razvoja softvera završi, pre njegove isporuke kupcu treba ga još jednom 
testirati u smislu da se utvrdi: da li proizvod korektno radi, odnosno da li izvršava sve one 
funkcije koje kupac od njega očekuje. 
Želimo li proveriti je li softverski proizvod u informatičkom smislu korektno napravljen
primenićemo postupak verifikacije (Traži se odgovor na pitanje: Da li dobro gradimo 
proizvod?), a ako želimo proveriti da li taj proizvod zaista zadovoljava želje i potrebe 
korisnika (kupaca) primenićemo postupak validacije (Traži se odgovor na pitanje: Da li
gradimo dobar proizvod?).
Verifikacija i validacija moraju biti primenjene u svakoj fazi razvoja softvera. Proces 
verifikacije i validacije ima dva osnovna cilja:

Da otkrije defekte u sistemu

Da proceni da li je softver koristan i upotrebljiv u operativnom smislu

Verifikacijom i validacijom bi se trebalo steći poverenje u to da je softver pogodan za 
korišćenje (što ne znači da nema nikakvih defekata). 

3. STATEGIJE TESTIRANjA SOFTVERA

Iako  metodologije testiranja  mogu  varirati,  najčešće se nalaze  u  okviru  dve osnovne 
strategije: 

Testiranje softvera u celosti, nakon što je kompletan paket raspoloživ i poznat (“

big 

bang testing

”). 

Testiranje softvera u manjim delovima, modulima kada se oni završe (

unit tests

); 

posle testiranje grupe testiranih modula sa novim završenim modulima (

integration 

tests

). Ovaj proces se nastavlja dok svi softverski moduli ne budu testirani. Kada se 

ova faza kompletira, sadržaj paketa se testira kao celina (

system test

). Ova strategija 

se uobičajeno naziva “

inkrementalno testiranje

”.

3.1 „BIG BANG” STRATEGIJA

background image

6

4. KLASIFIKACIJA SOFTVERSKIH TESTOVA

Postoje dva nivoa klasifikacije. Jedan razlikuje nivo granularnosti:

Nivo jedinice

Nivo sistema

Nivo integracije

Ostale klasifikacije [4] (uglavnom za nivo jedinice) bazirane su na metodologijama:

Metoda crne kutije (funkcionalno testiranje)

 

 

Testiranje koje ignoriše interne mehanizme sistema ili komponente i fokusira se 
samo na izlaze generisane u odzivu na odabrane ulaze i uslove izvršavanja.

Metoda bele kutije (strukturalno testiranje) 

 

 

Testiranje sprovedeno radi procenjivanja saglasnosti sistema ili komponente sa 
specifikovanim funkcionalnim zahtevima.

  

Softverski testovi se takođe mogu klasifikovati u skladu sa konceptom testiranja ili u skladu 
sa klasifikacijom zahteva – McCall koja se odnosi na osiguranje kvaliteta softvera.

4.1 KLASIFIKACIJA PREMA KONCEPTIMA TESTIRANjA

U toku su debate da li je testiranje funkcionalnosti softvera samo na osnovu njegovih izlaza 
dovoljno da se postigne prihvatljiv nivo kvaliteta. Neki tvrde da se interna struktura 
softvera i kalkulacije trebaju uključiti za uspešno testiranje. Bazirajući se na ova dva 
suprotna koncepta pristupa kvalitetu softvera, razvijene su tri klase testiranja:

Black box (funkcionalno) testiranje 

Identifikuje bugove samo u skladu sa softverskim nepravilnostima u radu koji se otkrivaju 
u pogrešnim izlazima. 
U slučaju kada su pronađeni izlazi za korekciju, black box testiranje zanemaruje interni put 
kalkulacija i procesuiranja. 
White box (strukturalno) testiranje 
Ispituje interne kalkulaciske puteve u nameri da identifikuje bugove. Izraz “white” je dat da 
istakne razliku između ove metode i black box testiranja. Pored ovoga postoji i drugo ime 
za ovu metodu, a to je “glass box” testiranje i koje bolje izražava osnovne karakteristike ove 
metode testiranja, ispitivanje korektnosti strukture koda. 
Grey box testiranje 

Želiš da pročitaš svih 22 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti