Escolar Documentos
Profissional Documentos
Cultura Documentos
6 Faze Testiranja Softvera
6 Faze Testiranja Softvera
Softversko Inenjerstvo
Predmetni nastavnik:
Vesna atev
polaznik:
Boris Tikvenjac ITA/08
02.08.2009.
1/13
TABLE OF CONTENTS
CHAPTER TITLE
PAGE
2/13
UVOD
Zato testiranje?
Zato to su veliki gubici kompanija koje razvijaju softver upravo zbog velikog broja defekata u
isporuenom softveru. Prvenstveni zadatak test inenjera je otkrivanje problema u softveru sa ciljem da
se oni otklone pre predaje softverskog proizvoda kupcu.
Od test inenjera se zahteva da otkrije to je mogue vie problema i to to vie onih, vrlo ozbiljnih ije
posledice mogu biti katastrofalne sa materijalnog i bezbednosnog aspekta. Zato je sa svih aspekata
potrebno da se proces testiranja softvera uini to efikasnijim i uz to manje trokove ukoliko je to
mogue.
Testiranje softvera je proces verifikacije programa ili sistema sa ciljem otkrivanja i ispravljanja greaka
i predstavlja integralni deo razvoja softvera. Primenjuje se u svakoj fazi razvojnog ciklusa,a obuhvata
vie od 50% vremena potrebnog za razvoj softvera.
3/13
Softverska konfiguracija
Test konfiguracije
4/13
Statiko
Dinamiko
Postoje razliite vrste pristupa testiranja ( testiranje raunarskog programa,testiranje sistema ili
testiranje softverskog proizvoda). Dve osnovne vrste pristupa su Black box i White box testiranje.
U novije vreme razvija se Grey box testiranje ili hibridno testiranje(ponekad nazvano kao staklena
kutija glass box) , koje objedinjuje funkcije obe vrste pristupa testiranja. Testovi su osmiljeni i
fokusirani na take gledita kupaca korisnika. Testeri kombinacijom oba pristupa utvruju ispravnost
i mogunost novog implementiranja na osnovu korisnikih elja.
5/13
Strukturalno testiranje
Metoda bele kutije "White-box"
Ovo testiranje proverava i analizira izvorni kod i zahteva dobro poznavanje programiranja,
odgovarajueg programskog jezika, kao i dizajna konkretnog softverskog proizvoda. Plan testiranja se
odreuje na osnovu elemenata implementacije softvera,kao to su programski jezik, logika i stilovi.
Testovi se izvode na osnovu strukture programa. Kod ove metode postoji mogunost provere skoro
celokupnog koda, na primer proverom da li se svaka linija koda izvrava barem jednom, proverom svih
funkcija ili proverom svih moguih kombinacija razliitih programskih naredbi. Specifinim testovima
moe se proveravati postojanje beskonanih petlji ili koda koji se nikada ne izvrava.
Kodna pokrivenost je navedena u 6 sledeih koraka:
Segment pokrivenost svaki segment koda u B/W kontroli strukture se izvrava makar
jednom
Podruna rasprostanjenost ili vorno testiranje svaki ogranak u kodu se koristi u jednom
moguem smeru barem jednom
Sloeno stanje rasprostranjenosti kada postoji vie uslova, mora se testirati ne samo svaki
smer, ve i sve mogue kombinacije uslova, to se obino obavlja pomou kombinacijske
tabele (Truth Table)
Osnovni put testiranja svaka nezavisna staza kroz kod koristi prethodno definisan niz
Testiranje toka podataka u ovom pristupu, skup srednjih staza kroz kod definie praenje
specifinih promenljivih kroz svaki mogui proraun. Praenje se zasniva na svakom
odabranom pojedinanom delu koda.Iako ove staze smatraju nezavisnim, zavisnosti izmeu
viestrukih staza zapravo nisu testirane za ovaj pristup. DFT (Data Flow Testing) tei da
odrava zavisnosti, ali to je uglavnom kroz manipulaciju sekvenci podataka. Ovaj pristup
prikazuje skrivene bugove i koristi ih kao promenljive, deklarie ih ali ih ne koristi.
Put testiranja put testiranja definie i pokriva sve mogue puteve kroz kod. Ovo testiranja su
vrlo teka i dugotrajana.
Testiranje petlje ove strategije se odnose na testiranju jedne petlje, grupnih petlji i ispletenih
petlji. Zavisnost petlji je prilino jednostavno testirati, osim ako postoji meu petlja ili kod
sadri B/W petlju.
U White box testingu, koristi se kontrola strukture proceduralnog dizajna za dobijanje test sluajeva.
Korienjem White box testing metoda jedan tester moe izvui probne sluajeve koji:
6/13
Funkcionalno testiranje
Metoda crne kutije "Black-box"
Analizira se samo izvravanje specificiranih funkcija i vri se provera ulaznih i izlaznih podataka.
Tanost izlaznih podataka proverava se na osnovu specifikacije zahteva za softver. U ovim testovima se
ne vri analiza izvornog koda. Problem funkcionalnog testiranja moe da se pojavi u sluaju
dvosmislenih zahteva i nemogunosti opisivanja svih naina korienja softvera. Skoro 30% svih
greaka u kodu posledica su problema nepotpunih ili neodreenih specifikacija. Sinonimi za black box
ukljuuju: ponaanje, funckionalnost, neprozinost i zatvorenost
Testiranjem se pokuavaju pronai greke u sledeim kategorijama:
Primenom metode crne kutije izrauje se skup test sluajeva koji ispunjavaju zahteve:
Test sluaja koji smanjuju broj test sluaja na mogunost razumnog testiranja
Test sluaja koji e nam prikazati prisutnost ili odsutnost klase greaka
Prednosti Black box testinga
7/13
Osnovni funkcionalni alati testiranja izvode rezultate testova crne kutije u obliku skripte. Jednom
izvedene, ove skripte mogu koristiti u buduem razvoju softvera,kao aplikacija koja verifikuje novu
funkcionalnost a da ne onemogui prethodnu.
Ekvivalentno particionisanje
Ekvivalentno particionisanje je metoda testiranja crne kutije koja deli ulazni softverski domen u klasu
podataka od kojih se izrauju u test sluajevi. Idealan test sluaja otkriva klasu greaka pre nego to je
greka detektovana. Ekvivalentnost particionisanja pokuava da identifikuje naznaenu klasu greaka u
test sluaju. Dizajn test sluaja za ekvivalentnost particionisanja je zasnovano na planiranju
ekvivalentnih vrednosti unosa (inputa). Ekvivalentne vrednosti prikazuju skup vaeih i nevaeih
ulznih uslova (input conditions) u sistemu.
Ekvivalentna vrednost moe da se odreuje na osnovu sledeeg:
Ako je ulazni uslov (input conditions) specifian niz, jedna vaea i dve nevaee ekvivalentne
vrednosti su definisane
Ako ulazni uslov (input conditions) zahteva specifinu vrednost, jedna vaea i dve nevaee
ekvivalentne vrednosti su definisane
Ako je ulazni uslov (input conditions) lan specifinog niza, jedna vaea i jedna nevaea
ekvivalentna vrednost je definisana
Ako je ulazni uslov (input conditions) Bulova, jedna vaea i jedna nevaea ekvivalentna
vrednost je definisana
8/13
Ako ulazni uslov specfikuje stanje oivieno u rasponu od vrednosti A do B, dobijamo test
sluajeve sa vrednostima A i B, samo iznad i ispod A i B
Ako ulaz specifira stanje razliitih vrednosti, test sluajevi treba da budu izraeni za vebu sa
minimalnim i maksimalnim brojkama
Ove dve stavke se primenjuju i na izlazne uslove (output conditions)
Ako je softver interni, ije su strukture podataka u propisanim granicama,izrauje se test sluaja
za vebu strukture podataka u granicama.
Cause Effect Graphing Techniques
Cause Effect Graphing Techniques je pristup dizajna test sluaja koji nudi jedan koncizan opis
logikih uslova i pridruenih akcija.
Pristup ima etiri faze:
Cause (ulazni uslov) i Effect (radnja) navedeni su za modul i identifikacija je dodeljena za svaki
Cause Effect graph je izraen
Grafikon je izmenio odluku u tabeli
Tabela pravila odluke modifikovanja test sluajeva
Pojednostavljena verzija Cause Effect graph simbola je prikazana ispod. U levoj koloni figura daje
razliita logika udruenja meu causes i c i effect i e. Desna kolona pokazuje potencijalna prinudna
(constraining) udruenja koja bi se mogla primeniti bilo na cause ili na effect.
9/13
10/13
Testiranje performansi
Testiranje performansi obuhvata pronalaenje i otklanjanje problema koji degradiraju performanse
softvera. Ispitivanje performansi najee obuhvata:iskorienje procesorskih resursa, protok podataka
i vreme odziva. Tipini resursi koji se proveravaju su: propusni opseg, brzina procesora, iskorienje
memorije, zauzetost prostora na disku.U real time sistemima i ugraenim sistemima, softvar koji prua
potrebne funkcije ponekad nije prihvatljiv u skladu sa performansama. Testiranje performansi
dizajnirano je za izvoenje run-time testa perfmormansi u softverskom okruenju jednog integrisanog
sistema. Testiranje performansi se pojavljuje u svim procesima testiranja. Npr metoda White box
testiranja pojedinanog modula moe se ponaati kao test performanse modula. Izvoenje testa
performansi esto je povezano sa stress testom softvera i hardvera i proveravanjem i merenjem
iskoritenosti resursa (npr. ciklus rada procesora) u extremnim sluajevima. Stres testovi su najkorisniji
kada se sistem ugrauje u vea okruenja, ili kada se prvi put implementira. Web sajt, kao deo velikog
sistema koji zahteva vie pristupa i obrade podataka, sadri ranjive vorove koji moraju biti testirani
pre implementacije. Naalost, veina stres testiranja mogu samo da simuliraju razliite vrste
optereenja na take u sistemu, ali nemogu testirati celu mreu. Na sreu, jednom kada se uradi stres
testiranje i faktori optereenja budu uspeno prevazieni, potreban ponovni stres testing se vri samou
sluaju kada doe do veih promena. Mana testiranja performansi je ta to potvruje validnost sistema
u oteanim uslovima obrade podataka,ali ne garantuje za njihovu tanost i ispravnost.
11/13
Regresivno testiranje
Regresivno testiranje potvruje da implementacija promena ne utie negativno na rad ostalih funkcija.
Regresivno testiranje se primenjuje u svim fazama kada je promena napravljena.
Osiguranje softverskog testiranja
Postoje organizacije odravanja kvaliteta softvera, koje pruaju razliite take gledita, koriste razliite
set testove, vre kompletan test softverskog okruenja Te organizacije uestvuju u proveri standarda
u navedenim specifikacijama, u proveri kodiranja i dokumentovanja softvera. One proveravaju
dokumentovanje originalnog zahteva, verifikuju implementaciju potrebnih funkcija i prosleuju
proizvod do krajnjeg korisnika.
Instalaciono testiranje
Instalaciono testiranje najvie je testirano u podruju testiranja. Ovaj tip testiranja je predvien kako bi
se osiguralo da su sve mogunosti i opcije pravilno instalirane. Takoe je predvieno da proveri da li
su sve komponente aplikacija pravilno instalirane. Kada je u pitanju vrlo mali sistem instalacija se
moe postaviti direktno,dok kod veih sistema postoji nekoliko naina za instalaciju (implementiranje)
sistema. Ako se eli zameniti postojei sistem, instalacija novog sistema se vri u paralelnom modu. To
znai da e oba sistema raditi istovremeno u jednom periodu. Programeri svakodnevno prate rad
korisnika na ovakvom sistemu i kad se steknu uslovi (komforan i olakan rad korisnika novog sistema),
stari sistem se uninstalira ili brie. Mnoge kompanije postavaljaju nekoliko servera (multi server) na
jedan sistem, koji su nezavisni jedan od drugog. Jedan dobar nain za instaliranje sistema je probna
instalacija na jednom odabranom serveru, posle provere duine trajanja, instalirati ga na drugom
severu...
Instalaciono testiranje treba da vodi brigu o sledeim:
Za proveru instaliranog produkta proveriti zavisnost softvera / zakrpe usluga SP3
Proizvod bi trebalo proveriti verziju istog proizvoda na ciljanoj maini, prethodna verzija ne bi
trebala biti postavljena pre nove verzije
12/13
REFERENCES
13/13
14/13