0

SEMINARSKI RAD 2-

Tema: Nivoi testiranja softvera

Predmet: Razvoj softvera

Mentor:                                                               Student:

Prof.dr Borivoje Milošević                       Davor Božić И-35/2021

Beograd, jun 2025

1

SADRŽAJ:

1.

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

2.

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

3.

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

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

4.

Klasifikacije softverskih testova(nivoi)..............................................................5

      4.1 Klasifikacija prema konceptu testiranja .........................................................5
      4.2 Klasifikacija u skladu sa zahtjevima...............................................................7

5.   Klasične tehnike bijele kutije..............................................................................8

      5.1 Testiranje osnovnih putanja ............................................................................8
      5.2 Kontrola toka/testiranje pokrivenosti ...........................................................10

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

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

12

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

            6.1 Podjela na klase ekvivalencije ......................................................................13
            6.2 Alaniza graničnih vrijednosti .......................................................................15
            6.3 Tabela odlučivanja.........................................................................................16

7.   Zaključak............................................................................................................18

8.   Literatura...........................................................................................................19

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 cijeni i razumije 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 provjere i verifikovanja programa 
odnosno proizvoda koji:

Ispunjava poslovne i tehničke zahtjeve 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 zahtjeve 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   zahtjevanih   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. 
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 provjeriti je li softverski proizvod u informatičkom smislu korektno napravljen

4

primjenićemo   postupak   verifikacije   (Traži   se   odgovor   na   pitanje:   Da   li   dobro   gradimo 
proizvod?), a ako želimo provjeriti da li taj proizvod zaista zadovoljava želje i potrebe korisnika 
(kupaca) primjenićemo postupak validacije (Traži se odgovor na pitanje: Da li
gradimo dobar proizvod?).
Verifikacija   i   validacija   moraju   biti   primjenjene   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 povjerenje u to da je softver pogodan za 
korišćenje (što ne znači da nema nikakvih defekata). 

3. STRATEGIJE TESTIRANJA SOFTVERA

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

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

big 

bang testing

”). 

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

unit tests

); 

poslije 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 cjelina (

system test

).  Ova strategija se 

uobičajeno naziva “

inkrementalno testiranje

”.

3.1 „BIG BANG” STRATEGIJA

U ovom pristupu, sve ili većina razvijenih modula su spojena zajedno formirajući kompletan 
softverski sistem ili glavni deo sistema a zatim se koriste za testiranje integracije [3]. Metoda 
Big Bang je vrlo delotvorna za uštedu vremena u procesu testiranja integracije. Međutim, ako 
se testni slučajevi i njihovi rezultati ispravno ne zabeleže, cijeli proces integracije će biti mnogo 
komplikovaniji i može čak sprečiti tim za testiranje da ostvari cilj testiranja integracije.
Jedan   tip   Big   Bang   testiranja   integracije   zove   se  

Usage   Model

 

testiranje

.   Usage   Model 

testiranje se može koristiti u testiranju i softvera i hardvera. Osnove ovog tipa integracionog 
testiranja   leže   u   upotrebi   korisnički   orijentisanih   opterećenja   u   integrisanim   korisničkim 
okruženjima.
Radeći testiranja na ovaj način, utvrđeno je okruženje, dok su pojedine komponente sistema 
testirane indirektno kroz njihovo korišćenje. Usage model testiranje daje optimističan pristup 
testiranju jer očekuje da će biti malo problema sa pojedinim komponentama. Strategija se u 
velikoj mjeri oslanja na to da ljudi koji razvijaju komponente izvrše testiranje izolovanih 
jedinica njihovog proizvoda. Cilj strategije je izbjegavanje ponovnog testiranja koje su već 
odradili programeri i umesto toga utvrđivanje problema izazvanih interakcijom komponenata u 
okolini. Za testiranje integracije, Usage Model testiranje može biti efikasnije i omogućava 
bolju pokrivenost testa od tradicionalno usmerenih funkcionalnih testova integracije. Da bi bio 
efikasan i precizan, mora se fokusirati na definisanje opterećenja izazvanih od strane korisnika 
da bi se stvorili realni scenariji uticaja okruženja. Ovo osigurava da integrisana okolina radi kao 
što bi trebalo za ciljne korisnike. 

background image

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

Prijavi se i preuzmi ceo dokument.

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

Slični dokumenti