Testiranje softvera
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

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

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
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti