Testy statystyczne – testy oprogramowania mające na celu wykrycie najczęstszych błędnych wykonań oraz ocena niezawodności testowanego systemu.

Założenia edytuj

Wychodząc z założenia że typowe dane wejściowe pojawiają się częściej niż nietypowe testowanie statystyczne skupia się na testowaniu systemu w typowych sytuacjach. Wymaga ono określenia rozkładu prawdopodobieństwa danych wejściowych jak najwierniej odzwierciedlającego rzeczywisty rozkład prawdopodobieństwa pojawiania się wyników podczas użytkowania systemu. Określenie odpowiednich danych należy do najbardziej wymagających zagadnień związanych z testami statystycznymi. Jeżeli dobrany rozkład prawdopodobieństwa będzie znacznie odbiegał od rzeczywistego to wnioski wyciągnięte na temat niezawodności systemu mogą okazać się fałszywe.

Jeżeli zachowanie systemu w konkretnych sytuacjach ma szczególne znaczenie można tak określić rozkład prawdopodobieństwa danych wejściowych aby poddać testowaniu przypadki na których szczególnie nam zależy.

Zaletą testów statystycznych jest łatwość ich automatyzacji. Po określeniu rozkładu prawdopodobieństwa początkowych danych wejściowych oraz oczekiwanego działania systemu dalsza część testu może przebiegać automatycznie. Testy te są uważane za przykład użycia techniki brutalnej siły gdyż przeprowadzane jednorazowo są one mało efektywne, jednak po zautomatyzowaniu pozwalają przeprowadzić ogromną liczbę testów co znacznie zwiększa ich efektywność.

Schemat edytuj

Schemat wykonywania pojedynczego wykonania testu statystycznego jest następujący:

  1. Najpierw określamy losową konstrukcję danych wejściowych
  2. Następnie określamy wyniki poprawnego działania systemu dla tych danych
  3. Uruchamiamy system i porównujemy określone w punkcie 2 wyniki z wynikami działania systemu

Miary określania niezawodności systemu edytuj

Prawdopodobieństwo wystąpienia błędnego wykonania podczas realizacji transakcji.
Miara ta jest stosowana głównie w przypadku testowania systemów o charakterze transakcyjnym. Oznacza to że operacje wykonywane w takim systemie mogą zakończyć się wyłącznie sukcesem bądź ich anulowaniem. Wyliczana jest na podstawie częstości występowania transakcji zakończonych niepowodzeniem z powodu błędu.
Częstotliwość występowania błędnych wykonań
Miara ta dotyczy głównie systemów które nie posiadają charakteru transakcyjnego. Określa ona przewidywaną liczbę błędnych wykonań w jednostce czasu.
Średni czas między błędnymi wykonaniami
Jest to szacowany odstęp czasu między wystąpieniem błędnych wykonań, czyli miara odwrotna do poprzedniej.
Dostępność systemu
Miara ta określa jakie jest prawdopodobieństwo że system będzie w danej chwili dostępny dla użytkownika. Na miarę tę wpływają jedynie te błędne wykonania które prowadzą do czasowej niedostępności systemu. Wartość tej miary zależy zarówno od liczby błędnych wykonań jak i od szybkości powrotu systemu do stanu normalnego.

Zobacz też edytuj