Diagnozowanie i testowanie
Diagnozowanie systemu cyfrowego
Jest
to
proces
ustalania
stanu
zdatno
ś
ci
systemu
z
ewentualnym
wskazaniem miejsca (lokalizacja) i przyczyn wyst
ę
powania niezdatno
ś
ci
w przypadku jej wykrycia
1
Testowanie systemu cyfrowego
Polega na wymuszeniu na jego wej
ś
ciu sekwencji stanów, zwanych testami,
a nast
ę
pnie sprawdzeniu, czy reakcja układu na t
ę
sekwencj
ę
jest zgodna
z oczekiwan
ą
. Do wykrywanie niezdatno
ś
ci w układach cyfrowych na ogół
stosuje si
ę
testowanie.
Testowanie układów cyfrowych powinno
umożliwiać uzyskanie odpowiedzi na pytania:
•
Czy każdy układ cyfrowy (scalony) realizuje swoje
funkcje zgodnie z warunkami technicznymi?
•
Czy układy cyfrowe (scalone) są połączone ze sobą
w sposób zgodny z warunkami technicznymi?
2
w sposób zgodny z warunkami technicznymi?
•
Czy układy cyfrowe w urządzeniu współdziałają
zgodnie z warunkami technicznymi oraz czy całe
urządzenie (system) realizuje swoje funkcje zgodnie
z warunkami technicznymi?
Pożądane właściwości technik
testowania
• duża dokładność czyli współczynnik
pokrycia uszkodzeń przez sekwencję
testującą;
3
testującą;
• duża rozdzielczość czyli zdolność
lokalizacji uszkodzeń;
• duża szybkość działania;
• niski koszt.
Kryteria
Cechy metody testowania
Terminologia
Kiedy jest wykonywane
diagnozowanie?
równolegle z normalnym
działaniem systemu
jako oddzielna działalność
testowanie współbieżne
testowanie (off - line)
Gdzie znajduje się źródło
wymuszeń?
wewnątrz systemu testowanego
na urządzeniu zewnętrznym
(tester)
samotestowanie
zewnętrzne testowanie
Cel testowania
błędy projektowe
błędy wytwarzania
defekty fabryczne
testowanie weryfikacyjne
testowanie akceptacyjne
test zapewnienia jakości
Klasyfikacja rodzajów testowania
4
defekty fabryczne
uszkodzenia fizyczne
test zapewnienia jakości
testowanie eksploatacyjne
Rodzaj testowanego obiektu
układ scalony
płyta (pakiet)
system
testowanie na poziomie
komponentu
testowanie pakietu
testowanie na poziomie systemu
Sposób wyznaczania
wymuszeń i/lub
oczekiwanych odpowiedzi
uzyskiwane z pamięci
generowane w czasie testowania
testowanie z zapamiętanymi
wzorcami
testowanie algorytmiczne
testowanie porównawcze
Porządek zastosowania
wymuszeń
ustalony
zależny od rezultatów
testowanie adaptacyjne
Schemat testowania
Metody generowania testów
– testowanie wyczerpujące (gruntowne);
– testowanie deterministyczne;
– testowanie deterministyczne;
– testowanie pseudolosowe;
– testowanie losowe.
Metody tworzenia sekwencji testów
Testowanie gruntowne (ang. Exhaustive testing) wymaga sekwencji
uwzgl
ę
dniaj
ą
cej
wszystkie
mo
ż
liwe
przypadki
sterowania
wej
ś
ciem układu.
7
wej
ś
ciem układu.
Dla n-wej
ś
ciowego układu kombinacyjnego wymuszenie
wygenerowane t
ą
metod
ą
składa si
ę
z 2
n
stanów.
Dla układu sekwencyjnego o n-wej
ś
ciach oraz m-przerzutnikach
wymuszenie składa si
ę
z 2
n+m
stanów.
Metody tworzenia sekwencji testów
Testowanie losowe (ang. Random testing)
•
Długo
ść
prawie kompletnej sekwencji losowej zale
ż
y od rodzaju
układu i mo
ż
e by
ć
znaczna.
•
Zakłada si
ę
,
ż
e bł
ą
d nie zmienia charakteru układu.
•
Metoda generacji testów zale
ż
y od modelu uszkodze
ń
.
•
Do
oceny
jako
ś
ci
sekwencji
losowych
definiuje
si
ę
miary
probabilistyczne.
8
Testowanie deterministyczne (systematyczne)
(ang. Test pattern
generation)
•
Wykorzystuje si
ę
informacj
ę
o funkcji lub strukturze testowanego
układu (model testowanego układu).
•
Deterministyczny generator testów (GT) mo
ż
e by
ć
zorientowany na
bł
ę
dy lub niezale
ż
ny od bł
ę
dów.
•
Koszt GT zale
ż
y od zło
ż
ono
ś
ci układu, dla którego generuje si
ę
testy.
Długo
ść
sekwencji testów
pseudolosowych
9