- wierzchołkami są pośrednie sytuacje; - unikanie mebezpieczeństwa polega na unikaniu jego przyczyn (unikanie błędów podczas implementacji „wierzchołków” drzewa, zlecenie realizacji „wierzchołków" doświadczonym programistom, stosowanie technik programowania n-wersyjnego, szczególnie dokładne testowanie „wierzchołków” )
Testowanie - proces sprawdzama/oceny czy produkt lub jego część jest „dobra" Atestowanie (walidacja) - testowanie zgodności systemu z rzeczywistymi potrzebami użytkownika Weryfikacja - testowanie zgodności systemu z wymaganiami określonymi w specyfikacji Kaci - niepoprawna konstrukcja w programie, mogąca prowadzić do niewłaściwego działania
Błędne wy konanie - niepoprawne działanie pr ogramu w trakcie jego pracy Fazy testowania systemu (patrz model typu V)
- testy modułu. - testy systemu. - testy akceptacji (testy alfa. testy beta)
Testy statystyczne S
chemat wykonania:
1. losowa konstrukcja danych wejściowych zgodnych z rozkładem pr awdopodobieństwa tych danych
2. określenie wyników poprawnego działania systemu na tycli danych
3. uruchomienie systemu oraz porównanie wyników działania z poprawnymi wynikami
4. gotowe
Niektóre cechy: - testowanie systemu w typowych sytuacjach - możliwrość automatyzacji („brutalna siła")
Miary niezawodności oprogramowania: • prawdopodobieństwo błędnego wykonania podczas realizacji transakcji; -częstotliwość występowurua błędnych wykonań (liczba/godz) ; - średni czas między błędnymi wykonaniami; -dostępność. Miary niezawodności pozwalają oszacować koszty konserwacji!
Niezawodność = Niezawodność początkowa * exp (-C * Liczba testów')
Testy funkcjonalne :
- system traktowany jako czarna skrzynka, która w nieznany sposób realizuje wymagane funkcje;
- dane wejściowa dzielone są na klasy, w których działanie powuuio być podobne sprawdzamy działanie funkcji dla;
- wszystkich dopuszczalnych warunków wejściowych i opcji;
- danych na granicach dziedzin wejściowych;
- danych na granicach dziedzin wynikowych;
- danych dla granic funkcjonalnych;
- danych niepoprawnych, niespodziewanych i destrukcyjnych
Zasady wyboru testowanych funkcji 1 danych wejściowych: - możliwość wykonania funkcji jest ważniejsza niż jakość wykonania;- funkcje systemu znajdujące się w poprzedniej wersji są istotniejsze niż nowro wprowadzone;
- typowe sytuacje są ważniejsze niż wyjątki
Testy strukturalne - zakładają znajomość sposobu implementacji testowanych funkcji
Wybrane kryteria doboru danych wejściowych: - kryterium pokrycia wszystkich instrukcji (każda instrukcja wykonana co najmniej raz);
- kryterium pokrycia instrukcji warunkowych (każdy wanuiek instrukcji warunkowej został co najimiiej raz spełniony i raz niespełniony)
Dobór danych wejściowych dla pętli:
- tak. aby nie została wykonana żadna iteracja pętli (lub minimalna liczba); - tak, aby została wykonana maksymalna liczba iteracji;
- tak. aby została wykonana przeciętna liczba iteracji