Wydział Zastosowań Informatyki i Matematyki SGGW 26/03/2017 Inżynieria Oprogramowania 9. Testowanie oprogramowania - uzupełnienie podczas laboratorium Leszek J Chmielewski Wydział Zastosowań Informatyki i Matematyki SGGW www.lchmiel.pl
Źródła Materiały dra Waldemara Karwowskiego, wykładowcy w poprzednich semestrach Ian Sommerville, Inżynieria Oprogramowania, WNT, Warszawa 2003
Plan Wstęp Testowanie defektów Testowanie integracyjne Testowanie obiektowe Warsztaty do testowania Podsumowanie
Plan Wstęp Testowanie defektów Testowanie integracyjne Testowanie obiektowe Warsztaty do testowania Podsumowanie
Testowanie interfejsów Sterowniki testów nie symulują całego systemu, a namiastka – gotowego modułu Interfejsy: Parametryczne W pamięci dzielonej Proceduralne – podsystem obudowuje zbiór procedur, dostarczając interfejsu do nich Z przekazywaniem komunikatów
Klasy błędów Niewłaściwe użycie interfejsu Niezrozumienie interfejsu najczęściej interfejsy parametryczne Niezrozumienie interfejsu źle zrozumiana specyfikacja, fałszywe założenia Błędy synchronizacji w systemach czasu rzeczywistego, odbiorca dostaje nieaktualne dane pamięć dzielona, przekazywanie komunikatów Uwaga: Nie każdy błąd powstaje w jednym miejscu np. interakcja usterek kilku modułów
Kilka zasad Jawnie wypisz wywołania zewnętrznych komponentów; w testach uwzględnij parametry leżące na granicach zakresów Testuj zerowe wartości wskaźników W interfejsie proceduralnym: niech test wywoła awarię komponentu – wykryjesz nieporozumienia co do specyfikacji W interfejsie z komunikatami: spowoduj przeciążenie W interfejsie wielu komponentów z pamięcią dzieloną: wypróbuj różne kolejności wywoływania komponentów – sprawdzisz niejawne założenia
Plan Wstęp Testowanie defektów Testowanie integracyjne Testowanie obiektowe Warsztaty do testowania Podsumowanie
Warsztaty do testowania Generator danych testowych Specyfikacja Kod źródłowy Menedżer testów Dane testowe Wyrocznia Oracle Analizator dynamiczny Testowany program Wyniki testów Spodziewane wyniki Raport z wykonania programu Symulator środowiska Narzędzie do porównywania plików Raport z wynikami testów Generator raportów Przykład struktury
Warsztaty do testowania Generator danych testowych Specyfikacja Kod źródłowy Menedżer testów Dane testowe Wyrocznia Oracle Analizator dynamiczny Testowany program Wyniki testów Spodziewane wyniki Raport z wykonania programu Symulator środowiska Narzędzie do porównywania plików Raport z wynikami testów Generator raportów Przykład struktury
Plan Wstęp Testowanie defektów Testowanie integracyjne Testowanie obiektowe Warsztaty do testowania Podsumowanie
Podsumowanie Testy często używanych części systemu są najważniejsze Testowanie integracyjne – sprawdza interakcję i interfejsy Defekty interfejsów: często w wyniku błędów rozumienia specyfikacji, fałszywych założeń Testowanie jest kosztowne – warto stosować narzędzia - warsztaty