Upload
markostankovic
View
221
Download
0
Embed Size (px)
Citation preview
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
1/56
6/17/2011
1
1
Testiranjeelektronskihsistema (2)
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
2/56
6/17/2011
2
Timski rad je ključ uspeha!!!
2
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
3/56
6/17/2011
3
Testiranje mikroračunarskih sistema
• Izuzev grubih grešaka - otkaza kao što su gubitak
napajanja ili takta, operacioni status (stanje) sistemazasnovanog na mikroprocesoru ne može se jasnoodrediti tradicionalnim sredstvima.
• Sistemi bazirani na mikroprocesorima se karakterišu,
odnosima i još i softverski zavisnim funkcionisanjem.Takve karakteristike mogu da prikriju, odnosno učinenesagledivim izvor greške i dijagnostičku proceduručine komplikovanom. Kako sistem izvršava operacijepod kontrolom softvera, ne postoji prost odnos između
hardverskih elemenata i logičkih signala. To sveukazuje na činjenicu da je teško lokalizovati otkaz naosnovu radnih simptoma - ponašanja sistema.
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
4/56
6/17/2011
4
Teškoće:• U lokalizaciji otkaza radi otklanjanja, detektovane greške suposledica najpre nepoznavanja gde je problem:u hardveru, u softveru, ili i u softveru i u hardveru.
• U nekim slučajevima se lako i jasno može odrediti u kojojoblasti je otkaz, ali u većini slučajeva to nije jednostavnoodrediti jer hardverski otkazi mogu ponekad biti maskirani kaosoftverski otkazi i obrnuto.
N r. nekorektan rad neko I/O orta ne mora da znači da e
sam port defektan. Problem može biti u grešci u softveru ili uotkazu u nekom drugom delu hardvera. Ili na primer, logičkikorektan softver i ispravan logički kontroler mogu se ponašatikao neispravni (u jednom trenutku kao da je kontrolerneispravan, a u drugom kao da je softverska sekvencainstrukcija nekorektna) jer nisu ispoštovana vremenska
ograničenja koja nameće na primer kontroler. Recimo,neposredno posle upisa komande u kontroler čitanje statusakontrolera može da idicira neadekvatno stanje kontrolera jer
je njemu potrebno "neko vreme" da promeni status.)
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
5/56
6/17/2011
5
• Lokalizaciju uzroka greške komplikuju
električni otkazi (najčešće prolazni) logičkihsignala. Naime, sistem može da otkaže zbogelektričnih problema kao što su granična
Teškoće, nastavak:
,ekscesni šum velike amplitude, itd. Takviotkazi su mogući i u sistemu čiji je projekatlogički potpuno korektan i kod kojih se nije
desio otkaz u nekoj samoj komponenti, to jestsve komponente sistema su ispravne.
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
6/56
6/17/2011
6
Projektovanje za testabilnost• Kompleksnost i obimnost današnjih mikroračunarskih
sistema i samih integrisanih kola nameću i potreburazmišljanja o otkrivanju i otklanjanju otkaza sistema,odnosno testiranju još u fazi razvoja specifikacijasistema.
•
nedopustivo dugo vreme za otkrivanje i lokalizacijuotkaza, ako se o tom problemu na vreme nije posvetilapotrebna pažnja.
• Projektovanje sistema podrazumeva korišćenjespecijalizovanih metoda projektovanja za ostvarivanjemogućnosti sigurnog i efikasnog testiranja (Design forTestability - DFT).
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
7/56
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
8/56
6/17/2011
8
Osnovni modeli testiranjaMODEL OSNOVNI CILJ
• FAZNI MODELDemonstracija : Utvrđ ivanje da softver
8
Destrukcija: Otkrivanje grešaka implementacije
• MODEL ŽIVOTNOG CIKLUSA
Evaluacija: Otkrivanje grešaka u zahtevima,projektu i implementaciji
Prevencija: Prevencija grešaka u zahtevima,projektu i implementaciji
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
9/56
6/17/2011
9
Fazni modeli i modeli životnogciklusa
• Fazni modeli polaze od pretpostavke da jeizvršenje programa osnovna aktivnost testiranjakroz koju se otkrivaju greške.
9
• o e votnog c usa pomera u a t vnosttestiranja sa kraja projekta na početak, uvodećikao objekte testiranja, pored implementacije,zahtev i projekat. Testiranje se posmatra kao
proces koji je u jakoj interakciji sa aktivnostimarazvoja od samog početka projekta.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
10/56
6/17/2011
10
Demonstracija: prečišćavanje itestiranje
• Razdvajanje pojmova pre č iš ć avanja (debugging)
i testiranja .• Obe ove faze testiranja obuhvataju
detekciju, lociranje, identifikovanje i korekciju
10
gre a a, s m a se raz u u c ev o ma seteži pri odvijanju svake od aktivnosti.• Cilj faze prečišćavanja softvera je obezbediti da
se program odvija na računaru, dok je cilj faze
testiranja obezbediti da softver rešava zadatiproblem.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
11/56
6/17/2011
11
Destrukcija
• Definicija testiranja“Testiranje je proces demonstracije dagreške nisu prisutne.”
11
• menja se u sledeću:“Testiranje je proces izvršenja programa s
namerom da se nađu greške”
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
12/56
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
13/56
13
Evaluacija
• Period orijentacije na evaluaciju dolazi sauvođenjem standarda u oblasti testiranjasoftvera.
13
analizu, pregled i testiranje za vreme svihfaza životnog ciklusa softvera.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
14/56
14
Prevencija
• Period orijentacije na prevenciju uvodikoriš ć enje i poboljšanje specifikacija softvera zavreme analize i projektovanja testova kao i
14
testova.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
15/56
15
Prevencija vs. evaluacija
• Model prevencije razlikuje se od modela
evaluacije više po mehanizmu nego po cilju.• Oba modela usmerena su na zahteve i projekat
u cilju eliminisanja problema u implementaciji, ali
15
planiranja, analize i projektovanja testova, zarazliku od modela evaluacije koji se oslanja naanalizu softvera i tehnike pregleda koje suodvojene od samog testiranja.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
16/56
16
Evolucija testiranja
VREMENSKI PERIOD MODEL TESTIRANJA
- 1956 Prečišćavanje
16
-1979 - 1982 Destrukcija1983 - 1987 Potvrđ ivanje1988 - Prevencija
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
17/56
17
Razvoj softvera
• definisanje zahteva i ciljeva• izrada specifikacija softvera• projektovanje sistema
17
• projektovanje strukture programa• specificiranje interfejsa modula• kodiranje
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
18/56
18
PrevencijaTri komplementarna prilaza prevenciji i/ili otkrivanju
grešaka koje se potencijalno akumuliraju prolaskom krozsve faze:1. Prvi prilaz je uvođ enje preciznosti u razvoju kako bi se
sprečilo nastajanje grešaka.
19
.
koraka nakon svake faze razvoja, imajući za ciljotkrivanje što više grešaka pre no što se pređ e nanarednu fazu.
3. Treći prilaz predstavlja razdvajanje procesa testiranjapo fazama, tako da se posebno testira svaka fazarazvoja, čime se postiže fokusiranje na posebne klasegrešaka.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
19/56
19
Tri faze testiranja
Proces testiranja prolazi kroz tri faze:
• Testiranje modula • Testiranje integracij
20
• Testiranje sistema
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
20/56
20
Testiranje modula
• Testiranje modula proverava da li sesoftverski modul ponaša shodno
21
detaljnog projektovanja.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
21/56
21
Testiranje integracije
• Testiranje integracije : povezuju se grupeprethodno testiranih modula i proveravada li se ponašaju onako kako su se
22
testiranja. Svrha testiranja integracije je dautvrdi da li se svaka ugrađenakomponenta ponaša shodno
specifikacijama dobijenim u faziarhitekturnog projektovanja.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
22/56
22
Testiranje sistema
• Testiranje sistema : proverava da li se softverski
sistem ugrađ en u stvarno hardversko okruženjeponaša u skladu sa specifikacijama softverskihzahteva. U slučaju velikih i složenih sistema, koji
23
uključ
uju više specifikacija softverskih zahteva,svaka glavna softverska komponenta testira se uodnosu na svoju specifikaciju, zatim se oneintegrišu i proverava se njihovo kombinovano
ponašanje na nivou sistemskih zahteva.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
23/56
23
Dvodimenzionalni model vodopadarazvojnog ciklusa softvera
24
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
24/56
24
Relativna cena ispravke greške pofazamaFAZA RELATIVNA CENA ISPRAVKE
Zahtevi 0.1 - 0.2Projektovanje 0.5
25
Kodiranje 1Testiranje modula 2
Testiranje
prihvatljivosti 5Održavanje 20
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
25/56
25
Osnovna klasifikacija metodatestiranja
BLACK-BOX metode WHITE-BOX metode
Podela na klase ekvivalencije Pokrivanje naredbiAnaliza raničnih vrednosti Pokrivan e odluka
26
Analiza uzročno-posledičnih Pokrivanje uslovagrafova Pokrivanje odluka/uslovaPogađ anje grešaka Pokrivanje višestrukih
uslova
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
26/56
26
WHITE-BOX testiranje bazira se naizvršenju programa, odnosno napokrivanju logike (izvornog koda)
-
27
,tehnike najčešće nazivaju tehnikamabaziranim na implementaciji za razlikuod BLACK-BOX tehika koje se nazivajutehnikama baziranim naspecifikacijama .
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
27/56
27
Tehnike testiranja bazirane naimplementaciji
Tehnike bazirane na implementaciji mogu segeneralno svrstati u dve kategorije:tehnike usmerene na programske puteve
28
pat se ect on tec n ques ,tehnike usmerene na podatke (test data
selection techniques).
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
28/56
28
Tehnike usmerene naprogramske puteve
• Tehnikama usmerenim na programske
puteve polaznu osnovu predstavljareprezentacija programa u obliku
29
upravljanja (control flow diagram),odnosno tok podataka u programu (dataflow diagram).
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
29/56
29
Tehnike usmerene naprogramske puteve, nastavak
Tehnike usmerene na programske puteve mogu se podeliti na:• tehnike koje pokrivaju tok upravljanja
30
contro ow coverage ,• tehnike koje pokrivaju tok podataka (dataflow coverage).
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
30/56
30
Tehnike usmerene na podatke
Tehnike usmerene na podatke mogu sepodeliti na:•
31
(fault-based),• tehnike bazirane na greškama (error-
based).
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
31/56
31
Tehnike usmerene na podatke• Tehnike bazirane na neispravnostima
selektuju testne podatke tako da otkrijuodređ ene klase neispravnosti, gde se podneispravnošću podrazumeva pogreška uizvornom kodu, koja dovodi do nemogućnosti
32
zv u• Tehnike bazirane na greškama usmerene su
na otkrivanje specifičnih tipova grešaka, pričemu se pod greškom podrazumeva aktivnostprogramera koja dovodi do softvera koji sadrži
grešku, a koja prilikom izvršenja programadovodi do razmimoilaženja izmeđ u dobijenihrezultata i pravih, odnosno očekivanih rezultata.
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
32/56
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
33/56
33
Tehnike testiranja bazirane naspecifikacijama
• Tehnike bazirane na specifikacijama mogu
usmeriti pažnju na one aspekte problema koji sunekorektno implementirani i koji se tehnikamabaziranim isključivo na implementaciji mogu
34
otkriti samo slučajno. Zato po mišljenju većineautora koji se bave teorijom testiranja, pristupitestiranju bazirani na specifikaciji i pristupibazirani na implementaciji treba da se koriste
tako da nadopunjuju jedni druge i da prednosti jedne tehnike pokrivaju mane druge tehnike.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
34/56
34
Selekcija testnih primera krozživotni ciklus softveraAnaliza i
specifikacija
zahteva
Arhitekturno
projektovanje
Sistemski
zahtevi
Specifikacija
sprege modula
Selekcija od
korisnika
Selekcija test pri-
mera iz specifi-
kacije sprege
Plan testiranja
sistema
Plan testiranja
integracije
35
Detaljno
projektovanje
Implementacija/
transformacija
Izvr{enje
testova
Specifikacija
projekta modula
Realizacija
modula
Selekcija test pri-
mera iz speci-
fikacije projekta
Selekcija test
primera iz koda
Plan testiranja
modula
Plan testiranja
modula
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
35/56
35
36
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
36/56
36
TESTIRANJE HARDVERA
37
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
37/56
37
Struktura otkaza
38
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
38/56
38
Postavljanje izlaznog kriterijuma:• neotkriveni prekidi
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
39/56
39
Razmotriti testni alat tima
41
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
40/56
40
Alat za testiranje sistemaKorišćenje instrumentacije opšte namene
ne daje potrebnu dijagnostičku moć.Zato su razvijeni specijalizovani alati zaotkrivanje i lokalizaciju otkaza u
42
• emulatori u kolu(prvenstveno mikroprocesora) i
• logički analizatori.
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
41/56
41
Upotrebiti projektne alate
43
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
42/56
42
Trend kod veza na štampanoj ploči
Veličina isnaga veze
44
broj veza
godina
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
43/56
43
Uzroci otkazatemperatura
45
Source: U.S. Air ForceAvionics Integrity Program
vlažnost
prašina vibracije
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
44/56
44
Moguć
i uzroci otkaza – promenetemperaturehladno
46
toplo
Naprezanje termičkim širenjem
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
45/56
45
Mogući uzroci otkaza – vibracije
krivljenje zbognaprezanja
47
Kidanje zbognaprezanja
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
46/56
46
Postupci pri testiranju sistema:• Vizuelna inspekcija.
• Provera izvora napajanja i razvoda napajanja.• Provera statusa CPU-a, odnosno stanja mikroprocesora.• Provera basa i signala na njemu.
48
• Provera I/O kontrolera - najpre kontrolera za konzolniuređ aj• Startovanje ugrađ enih procedura samotestiranja• Provera kontrolera spoljašnje masovne memorije
• Startovanje procedura samotestiranja i testiranja• Provera ostalih kontrolera u mikroračunarskom sistemu
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
47/56
47
Vizuelna inspekcija
• Provera lemnih tačaka pomoću lupe,mikroskopa, termovizijske kamere, ...
49
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
48/56
48
Provera izvora napajanja i razvodanapajanja
• Provera izvora kao modula• Provera razvoda napajanja
50
• Provera da li svaki čip ima pravilnonapajanje
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
49/56
49
Provera statusa CPU-a, odnosnostanja mikroprocesora
• Provera takta• Provera reseta
51
• Provera samog procesora• Upotreba emulatora
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
50/56
50
Provera bus-a i signala na njemu
• Pojave na dugim vezama• Prelazne otpornosti
52
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
51/56
51
Provera operativne memorije
• Provera adresiranja• Provera vremena zapisa i čitanja
53
,
višestruki upis, greška oporavka,spavajuća bolest, ...)
6/17/2011
P
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
52/56
52
Provera
ROM-a
54
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
53/56
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
54/56
54
Na kraju ...
56
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
55/56
55
57
6/17/2011
8/18/2019 10 (PES) Testiranje Elektronskih Sistema - Deo 2
56/56
56
58