Zio-6a-wyk-Slajd58

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Rejestr defektów(1)

Rejestr defektów(1)


W 1992 roku Ram Chillarege i jego koledzy z firmy IBM opublikowali w renomowanym czasopiśmie amerykańskim IEEE Transactions on Software Engineering tzw. ortogonalną klasyfikację defektów programistycznych.

Wyróżnili dziesięć głównych klas defektów. Po pierwsze, defekty mogą być w dokumentacji związanej z oprogramowaniem. W przypadku samodokumentujących się programów informacja o charakterze dokumentacyjnym jest zawarta głównie w komentarzach, ale także w komunikatach generowanych przez program.

Po drugie, możemy mieć do czynienia z błędami o charakterze składniowym (np. brak średnika na końcu instrukcji języka C).

Mogą też być błędy dotyczące integracji oprogramowania. Mogą one dotyczyć biblioteki podprogramów, zarządzania wersjami i tym podobnych spraw.

Kolejną grupę stanowią defekty związane z instrukcją przypisania. Mogą polegać na niewłaściwej deklaracji zmiennej, czy też niewłaściwym rozumieniu zakresu zmiennej (która instancja zmiennej X jest w danym miejscu widoczna?).

Defekty interfejsu najczęściej dotyczą deklaracji nagłówka funkcji (lub, ogólnie mówiąc, podprogramu) i jej parametrów.

W programach występuje różnego rodzaju sprawdzanie (ang. checking ). Defekty dotyczące sprawdzania mogą polegać np. na niewłaściwych komunikatach o błędach lub niewłaściwym sposobie sprawdzania danej zależności.

Mogą też być błędy dotyczące struktur danych i ich zawartości.

Inną kategorią błędów wyodrębnioną przez Chillarege’a i jego kolegów są błędy dotyczące funkcji (podprogramów). Są to różnego rodzaju błędy w obrębie funkcji, które nie są błędami interfejsu (50), czy też błędami dotyczącymi instrukcji przypisania (40). Mogą to być np. defekty związane z logiką przetwarzania w obrębie funkcji, niewłaściwym zorganizowaniem wywołań rekurencyjnych, czy też defekty dotyczące pętli (np. pętle z nieskończoną liczbą powtórzeń).

Mogą też być defekty o charakterze systemowym. Na przykład mogą w opracowywanym programie (systemie) istnieć zależności czasowe. Defekt może polegać na tym, że czasami odpowiedź systemu zostaje wypracowana zbyt późno i któraś z tych zależności nie zostaje spełniona (jest to szczególnie ważne we wszelkiego typu systemach sterowania). Mogą też być problemy z dostępna pamięcią (program może żądać większej pamięci niż dostępna w systemie).

Ostatnia kategoria dotyczy defektów środowiska. Mogą to być błędy kompilatora (tak jest - zdarzają się błędy również w kompilatorach), czy też błędy zawarte w testach. Tutaj też Chillarege umieścił błędy związane z projektem (design) całego oprogramowania (np. niewłaściwy podział kodu na moduły).


<< Poprzedni slajd | Spis treści | Następny slajd >>