You are on page 1of 40

Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.

1
2006 Pearson/Prentice Hall
Sadraj
8.1 Greke i otkazi softvera
8.2 Pitanja testiranja
8.3 Jedinino testiranje
8.4 Integraciono testiranje
8.5 Testiranje objektno orijentisanih sistema
8.6 Planiranje testa
8.7 Automatizovani alati za testiranje
8.8 Kada treba prestati sa testiranjem
8.9 Primer iz informacionih sistema
8.10 Primer iz prakse
8.11 ta ovo poglavlje znai za vas
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.2
2006 Pearson/Prentice Hall
Poglavlje 8 Ciljevi
Vrste greaka i njihove klasifikacije
Svrha testiranja
Jedinino testiranje
Strategije integracionog testiranja
Planiranje testiranja
Kada treba prestati testiranje
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.3
2006 Pearson/Prentice Hall
8.1 GREKE I SOFTVERSKI OTKAZI
Zato softver otkazuje (fail )?
Specifikacija pogrena: nije tano navedeno
ta je kupac traio i ta mu je potrebno
Nedostaje neki zahtev
Zahtev koji ne moe da se implementira sa
propisanim hardverom i softverom
Greka u dizajnu sistema
Greka u programskom kodu
Algoritam nepravilno ili nepotpuno
implementiran
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.4
2006 Pearson/Prentice Hall
8.1 GREKE I SOFTVERSKI OTKAZI
Cilj testiranja
Cilj testiranja: otkriti greke
Test je uspean samo ako se greka otkrije ili
ako doe do otkaza u toku testiranja
Prepoznavanje greaka je postupak utvrivanja
zbog koje greke, ili greaka, je dolo do otkaza
Ispravljanje greaka ili otklanjanje greaka je
postupak unoenja izmena u sistem u cilju
otklanjanja greaka
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.5
2006 Pearson/Prentice Hall
8.1 GREKE I SOFTVERSKI OTKAZI
Cilj testiranja
Prilikom izrade softvera, u cilju kontrole
kvaliteta napisanog koda,
koristimo vetine
iz domena softverskog inenjerstva.
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.6
2006 Pearson/Prentice Hall
8.1 GREKE I SOFTVERSKI OTKAZI
Vrste greaka
Algoritainska greka
Greke izraunavanja i greke preciznosti
nastupaju kada se formula pogreno implementira ili kada
ne izraunava rezultat sa zahtevanom preciznou
Greka dokumentacije
dokumentacija ne odgovara onome to program zaista radi
Stresne greke ili greke preoptereenja
performanse sistema postaju neprihvatljive kako se njegove
aktivnosti pribliavaju specifikovanim granicama
Greke vremenskog rasporeda ili greke koordinacije
Greke propusnosti ili greke performanse
sistem ne omoguava performansu i brzinu specifikovanu u
zahtevima
Greke standarda i procedura
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.7
2006 Pearson/Prentice Hall
8.1 GREKE I SOFTVERSKI OTKAZI
Uobiajene algoritamske greke
se javlja kada algoritam komponente, ili
njegova logika, ne proizvode ispravan
rezultat za dati ulaz
grananje pre vremena;
prekasno grananje;
ispitivanje pogrenog uslova;
nedodeljivanje poetne vrednosti promenljivim ih
podeavanje invarijanti petlje;
propust pri ispitivanju konkretnog uslova (na
primer, kada moe nastupiti deljenje nulom);
poredenje promenljivib neodgovarajueg tipa
sintaksne greke
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.8
2006 Pearson/Prentice Hall
8.1 GREKE I SOFTVERSKI OTKAZI
Ortogonalna klasifikacija greaka
Tip greke Znaenje
Funkcija Greka utie na mogunost, spregu sa korisnikom, sprege sa
proizvodom, sprege sa hardverskom arhitekturom ili globalnom
strukturom podataka.
Interfejs Greka u meudejstvu sa drugim komponentama ili upravljakim
programima putem pozivanja, makroa, kontrolnih blokova ili listi
parametara
Provera Greka u logici programa koja ne uspeva pravilno da proveri
vah'anost podataka i njihove vrednosti pre ujihove upotrebe
Dodeljivanje Greka u strukturi podataka ili u inicijallzaciji bloka koda
Vreme/serijalizacija Greka koja utie na vremenski raspored koritenja deljenih
resursa u i resursa realnog vremena
Gradnja/pakovanje/sjedi
njavanje
Greka koja potie od problema u skladitima, od promena
upravljanja ili od kontrole verzija
Dokumentacija Greka koja utie na tamparu materijal ili napomene vezane za
odravanje
Algoritam Greka koja se odnosi na efikasnost ili ispravnost algoritama ili
strukture podataka ali ne i dizajna
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.9
2006 Pearson/Prentice Hall
8.1 GREKE I SOFTVERSKI OTKAZI
Greke za jedno odeljenje u okviru Hewlett-Packarda
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.10
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Organizacija testiranja
Testiranje modula, testiranje komponente ili
jedinino testiranje
Integraciono testiranje
Funkcionalno testiranje
Testiranja performanse
Zavrni test prihvatanja
Instalacioni test
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.11
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Koraci testiranja
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.12
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Organizacija testiranja
Bezlino programiranje: gde se programi
posmatraju kao komponente veeg sistema,
a ne kao vlasnitvo onih koji su ih napisali
depersonalizovani razvojni tim se bavi
ispravljanjem greke, a ne prebacivanjem krivice
na konkretnog izvrioca
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.13
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Ko vri testiranje?
Nezavisan tim za testiranje
izbegavamo konflikt
poboljanje objektivnosti
testiranje se moe obavljati istovremeno sa
kodiranjem
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.14
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Pogledi na predmet testiranja
Zatvorenu kutiju ili crnu kutiju sa nepoznatim
sadrajem: funkcionalnost test objekata
Otvorena kutija ili bela kutija: koristiti
unutranju strukturu predmeta testiranja u cilju
sprovoenja razliitih testova
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.15
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Bela kutija
Prednost
bez ogranienja vezano za unutranju strukturu
Nedostaci
nije mogue pokrenuti kompletan test
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.16
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Podsetnik 8.2 STRUKTURE KUTIJA
Crna kutija: opis spoljnjeg ponaanja
Kutija stanja: crna kutija uz dodatak
informacije o stanju
Bela kutija: Kutija stanja sa opisom
procedure
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.17
2006 Pearson/Prentice Hall
8.2 PITANJA TESTIRANJA
Faktori koji utuu na izbor filozofije testiranja
broj moguih logikih putanja;
prirodu ulaznih podataka;
koliinu potrebnog izraunavanja;
sloenost algoritama.
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.18
2006 Pearson/Prentice Hall
8.3 JEDININO TESTIRANJE
Ispitivanje koda
Prolasci kroz kod
Inspekcija koda
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.19
2006 Pearson/Prentice Hall
8.3 JEDININO TESTIRANJE
PODSETNIK 8.3 OPTIMALNA VELIINA TIMA ZA INSPEKCIJE
Stopa priprema, a ne veliina tima, odreuje
efektivnost inspekcije
Efektivnost i efikasnost tima zavisi od
njihovog poznavanja svojih proizvoda
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.20
2006 Pearson/Prentice Hall
8.3 JEDININO TESTIRANJE
Dokazivanje ispravnosti koda
Tehnike formalnog dokazivanja
Simboliko izvravanje
Automatizovano dokazivanje teorema
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.21
2006 Pearson/Prentice Hall
8.3 JEDININO TESTIRANJE
Testiranje nasuprot dokazivanja
Dokazivanje: hipotetiko okruenje
Testiranje: stvarni radni ambijent
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.22
2006 Pearson/Prentice Hall
8.3 JEDININO TESTIRANJE
Koraci u izboru sluajeva testiranja
Odreivanje ciljeva testa
Izbor test sluajeva
Definisanje testa
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.23
2006 Pearson/Prentice Hall
8.3 JEDININO TESTIRANJE
Potpunost testiranja
Testiranje iskaza
Testiranje grananja
Testiranje putanja
Testiranje putanje od definicije do upotrebe
Testiranje svih upotreba
Testiranje svih upotreba predikata/nekih
upotreba izraunavanja
Testiranje svih upotreba izraunavanja/nekih
upotreba predikata
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.24
2006 Pearson/Prentice Hall
8.3 JEDININO TESTIRANJE
Odnosi snaga strategija testiranja
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.25
2006 Pearson/Prentice Hall
8.4 INTEGRACIONO TESTIRANJE
Odozdo-nagore
Odozgo-nadole
Veliki prasak
Senvi integracija
Modifikovana odozgo-nadole
Modifikovana senvi integracija
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.26
2006 Pearson/Prentice Hall
8.4 INTEGRACIONO TESTIRANJE
Terminologija
Rukovalac komponentom: rutina koja
poziva odreenu komponentu i saoptava
joj sluaj
Lana rutina (stab): program specijalne
namene koji simulira aktivnost komponente
koja nedostaje
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.27
2006 Pearson/Prentice Hall
8.4 INTEGRACIONO TESTIRANJE
Pogled na sistem
Primer hijerarhije komponenti




Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.28
2006 Pearson/Prentice Hall
8.4 INTEGRACIONO TESTIRANJE
Integracija odozdo nagore- primer
Sekvence testova i njihovih zavisnosti
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.29
2006 Pearson/Prentice Hall
8.4 INTEGRACIONO TESTIRANJE
Integracija odozgo nadole- primer
Najvia komponenta A je jedina koja se
testira izolovano
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.31
2006 Pearson/Prentice Hall
8.4 INTEGRACIONO TESTIRANJE
Integracija velikog praska - primer
Zahteva i stabove kao i drajvere za testiranje
nezavisnih komponenata
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.32
2006 Pearson/Prentice Hall
8.4 INTEGRACIONO TESTIRANJE
Sendvi integracija- primer
Sistem se posmatra u tri sloja: ciljni sloj u
sredini
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.37
2006 Pearson/Prentice Hall
8.6 PLANIRANJE TESTA
Svaki korak u procesu testiranja mora da se
planira
Proces testiranja ima
1. vlastiti ivotni ciklus u sklopu razvoja i
2. moe da tee paralelno sa drugim aktivnostima
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.38
2006 Pearson/Prentice Hall
8.6 PLANIRANJE TESTA
Pogotovo je potrebno da se planiraju sledei
koraci u procesu testiranja:
1. utvrivanje ciljeva testiranja;
2. dizajn sluajeva;
3. pisanje sluajeva;
4. testiranje sluajeva;
5. izvravanje testova;
6. ocenjivanje rezultata testiranja.
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.39
2006 Pearson/Prentice Hall
8.6 PLANIRANJE TESTA
Svrha plana
Plan testiranja objanjava:
ko e obaviti testiranje,
zato se vre testovi,
kako se testovi vode i
kakav im je raspored
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.40
2006 Pearson/Prentice Hall
8.6 PLANIRANJE TESTA
Sadraj plana
ta su ciljevi testa
Kako e test biti pokrenut
Koji kriterijumi e se koristiti da bi se
odredilo kada je testiranje zavreno
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.43
2006 Pearson/Prentice Hall
8.8 KADA TREBA PRESTATI SA
TESTIRANJEM- Jo greaka?
Verovatnoa pronalaenja greke
tokom razvoja






Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.50
2006 Pearson/Prentice Hall
8.11 TA OVO POGLAVLJE ZNAI ZA VAS
Vano je shvatiti razliku izmeu
greke
(problema sa zahtevima, dizajnom, kodom,
dokumentacijom ih sluajevima za testiranje) i
otkaza
(problema u funkcionisanju sistema).
Cilj testiranja je da se pronau greke, a ne
da se dokae ispravan rad
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.51
2006 Pearson/Prentice Hall
8.12 TA OVO POGLAVLJE ZNAI ZA
RAZVOJNI TIM
Testiranje je i samostalna i grupna aktivnost
Vano da se radi sa timom na:
1. bezlian nain i upotrebi
2. to vie raspoloivih metoda u cilju pronalaenja
greaka u to je mogue
3. ranijim fazama razvoja

Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.52
2006 Pearson/Prentice Hall
8.12 TA OVO POGLAVLJE ZNAI ZA
RAZVOJNI TIM
Integraciono testiranje je takoe timska
aktivnost i zahteva
1. izbor strategije integracije,
2. planiranje testiranja,
3. generisanje sluajeva za testiranje i
4. izvravanje testova u saradnji sa ostalim
lanovima.
Pfleeger and Atlee, Software Engineering: Theory and Practice Page 8.53
2006 Pearson/Prentice Hall
8.12 TA OVO POGLAVLJE ZNAI ZA
RAZVOJNI TIM
Automatizovani alati su korisni u ovim
aktivnostima jer pomau da
1. paljivo prouite rezultate testiranja i
2. uoite probleme i njihove uzroke

You might also like