Profil operacyjny w testowaniu oprogramowania. Część 4. Niezawodność i wydajność.

Profil operacyjny w testowaniu oprogramowania. Część 4. Niezawodność i wydajność.
Profil operacyjny to zbieranie danych o użytkownikach i w opraciu o to definiowanie i modelowanie testów. Jest kluczowy w definiowaniu użycia aplikacj i przepływów użytkowników.

Niezawodność
Definicja niezawodoności w ujęciu słownika testerskiego mówi o zdolności oprogramownia do wykonywania funkcji: w określonych warunkach, w określonym przedziale czasu, dla określonej ilości operacji. Jeśli te wytyczne nie pojawiają się w wymaganiach, to możemy je zebrać poprzez obserwowanie użytkowników. Służy do tego profilowanie operacyjne, które może nam pomóc określić "warunki", "czas" oraz "ilość operacji".

Warto zwrócić uwagę na najważniejsze miary niezawodności, czyli MTBF (średni czas między awariami), MTTF (czas do najbliższej awarii). Ciężko zdefiniować średni czas między awariami, ale łatwo można go określić poprzez zbieranie danych statystycznych ze środowiska.

W publikacji Software Reliability Assurance Handbook pojawia się propozycja analizy profilu operacyjnego dla systemu bilingowego wraz z prawdopodobieństwem ich występowania.
 

PRZYPADKI UŻYCIA PRAWDOPODOBIEŃSTWO WYSTĘPOWANIA ILOŚĆ PRZYPADKÓW TESTOWYCH
Operacja 1 0,46 100
Operacja 2 0,44 89
Operacja 3 0,39 70


Taka analiza pomaga nam trafniej określić "ilość operacji", a co za tym idzie, zdefiniować krytyczność danej funkcji i ilość przypadków testowych, jakie powinniśmy dla niej uruchomić.

Wydajność
Podobnie jak z niezawodnością również w testowaniu wydajności możemy zbierać informacje pochodzące ze środowiska naszych użytkowników.
Definicja profilowania wydajności i obciążenia (pochodzące ze słownika testerskiego) opisuje kompleksowo temat monitorowania użytkowników i pozyskiwanie informacji potrzebnych do modelowania testów.

profilowanie wydajności - definicje profili użytkownika w testach wydajnościowych, obciążeniowych i/lub przeciążających. Profile powinny odzwierciedlać aktualne użycie produkcyjnego profilu modułu lub systemu i tym samym oczekiwanego obciążenia. 

Są to więc profile pokazujące aktualne użycie, które konstruujemy w oparciu o monitoring aktywności użytkowników w naszej aplikacji.

Kolejnym elementem jest tzw. profil obciążenia. Jest to wyspecyfikowanie aktywności użytkowników, jakiej testowany moduł lub system może doświadczyć w trakcie użycia operacyjnego. Profil obciążenia składa się z określonej liczby wirtualnych użytkowników, którzy przetwarzają zdefiniowany zbiór transakcji w określonym przedziale czasowym i zgodnie z predefiniowanym profilem operacyjnym.

Monitoring pozwala więc nam również określać liczbę użytkowników i czas.

Reasumując, zbierając dane z użycia aplikacji możemy określić wymagania na nasze testy: poczynając od ilości wirtualnych użytkowników, poprzez ilości wykonywanych przez nich operacji, na czasie testu kończąc.

 

To powinno Cię zainteresować