1. Strona główna
  2. Sylabus dla poziomu zaawansowanego – Techniczny analityk testowy (wersja z 19.10.2012)
  3. 4. Atrybuty jakości w testach technicznych
  4. 4.4 Testowanie niezawodności
  5. 4.4.3 Testowanie odtwarzalności

4.4.3 Testowanie odtwarzalności

W innych rodzajach testów niezawodności oceniana jest zdolność systemu do odzyskania możliwości działania po awariach sprzętu lub oprogramowania w ustalony sposób, który pozwala wznowić normalne działanie. Testy odtwarzalności obejmują testowanie pracy mimo awarii oraz testowanie tworzenia i odtwarzania kopii zapasowych.

Testy pracy mimo awarii wykonuje się wówczas, gdy konsekwencje awarii oprogramowania mogą być tak poważne, że wdrożono mechanizmy sprzętowe i/lub programowe, aby zapewnić ciągłość pracy systemu nawet w przypadku awarii. Tego rodzaju testy mogą być stosowane, na przykład, w przypadku występowania bardzo wysokiego ryzyka strat finansowych oraz w sytuacjach, w których istnieje poważne zagrożenie bezpieczeństwa. Jeśli awarie mogą być spowodowane zdarzeniami o charakterze katastrofy, ta odmiana testowania odtwarzalności nazywana bywa również „testowaniem odtwarzania po katastrofie”.

Jednym z typowych środków zapobiegania awariom sprzętowym jest rozkładanie obciążenia między kilka serwerów w klastrze, procesorów lub dysków, w taki sposób, aby jeden z nich mógł natychmiast przejąć obciążenie w wypadku awarii drugiego elementu (tzw. systemy nadmiarowe). Typowym środkiem programowym jest wdrożenie więcej niż jednej niezależnej instancji systemu (np. w przypadku systemów kontroli lotu) w ramach tzw. zróżnicowanych systemów nadmiarowych. Systemy nadmiarowe stanowią zwykle kombinację elementów programowych i sprzętowych; wyróżniamy systemy podwójne, potrójne i poczwórne, w zależności od liczby niezależnych instancji (odpowiednio dwie, trzy lub cztery). Zróżnicowanie oprogramowania można osiągnąć poprzez przekazanie tych samych wymagań programowych dwóm lub większej liczbie niezależnych, niekomunikujących się zespołów w celu uzyskania takich samych usług realizowanych za pomocą różnego oprogramowania. Pozwala to podwyższyć poziom ochrony systemu, gdyż podanie analogicznych błędnych danych wejściowych z mniejszym prawdopodobieństwem spowoduje taki sam wynik. Kroki podjęte w celu poprawy odtwarzalności systemu mogą mieć bezpośredni wpływ na jego niezawodność, zatem powinny zostać wzięte pod uwagę podczas wykonywania testów niezawodności.

Testowanie pracy mimo awarii polega na bezpośrednim testowaniu systemów za pomocą symulowania stanu awarii lub faktycznego wywoływania awarii w kontrolowanym środowisku. Po wystąpieniu awarii testowane są mechanizmy przełączania awaryjnego, aby uzyskać pewność, że dane nie zostaną utracone ani uszkodzone, a ewentualne uzgodnione poziomy usług zostaną utrzymane (np. dostępność funkcji i odpowiednie czasy reakcji). Więcej informacji na temat testowania pracy mimo awarii można znaleźć w serwisie [Web-1].

Testowanie tworzenia i odtwarzania kopii zapasowych opiera się na procedurach określonych w celu
zminimalizowania skutków awarii. W takich testach dokonywana jest ocena procedur (zwykle udokumentowanych w podręcznikach) tworzenia różnych rodzajów kopii zapasowych i ich odtwarzania w przypadku utraty lub uszkodzenia danych. Przypadki testowe projektuje się tak, by uwzględnić przejście wszystkich ścieżek krytycznych poszczególnych procedur. Można także przeprowadzać przeglądy techniczne, aby „przećwiczyć” scenariusze i zweryfikować zgodność podręczników z faktycznie stosowanymi procedurami.

W trakcie produkcyjnych testów akceptacyjnych uruchamia się scenariusze w środowisku produkcyjnym lub zbliżonym do produkcyjnego, aby zweryfikować ich rzeczywistą przydatność.

Testy tworzenia i odtwarzania kopii zapasowych mogą uwzględniać:

  • czas niezbędny na wykonanie różnych kopii zapasowych (np. pełnych i przyrostowych);
  • czas potrzebny na odtworzenie danych;
  • poziomy gwarantowanych kopii danych (np. odtworzenie wszystkich danych nie starszych niż 24 godziny, odtworzenie niektórych transakcji nie starszych niż godzina).