1. Strona główna
  2. Sylabus dla poziomu zaawansowanego – Techniczny analityk testowy (wersja z 19.10.2012)
  3. 3. Techniki analityczne
  4. 3.3 Analiza dynamiczna
  5. 3.3.1 Przegląd

3.3.1 Przegląd

Analiza dynamiczna służy do wykrywania awarii, których objawy nie zawsze są natychmiast widoczne. Przykładem mogą być wycieki pamięci. Wprawdzie analiza statyczna pozwala niekiedy wykryć ryzyko ich wystąpienia (poprzez znalezienie kodu, który przydziela pamięć, ale nigdy jej nie zwalnia), natomiast to dzięki analizie dynamicznej wycieki takie są łatwe do rozpoznania.

Awarie, których nie da się natychmiast odtworzyć, mogą w istotny sposób zwiększyć pracochłonność procesu testowania oraz utrudnić wprowadzenie oprogramowania do sprzedaży lub jego eksploatację. Wśród przyczyn takich awarii można wymienić wycieki pamięci, nieprawidłowe stosowanie wskaźników oraz inne nieprawidłowości (np. uszkodzenie stosu systemowego) [Kaner02]. Takie awarie mogą powodować stopniowy spadek wydajności systemu, a nawet jego załamanie. W strategiach testowania należy zatem uwzględnić ryzyko związane z tego rodzaju błędami i — w uzasadnionych przypadkach — przewidzieć również przeprowadzenie analizy dynamicznej w celu ograniczenia tego ryzyka (zwykle przy użyciu odpowiednich narzędzi). Awarie tego rodzaju są często najkosztowniejsze do zlokalizowania i skorygowania, dlatego zaleca się przeprowadzenie analizy dynamicznej już na wczesnym etapie projektu.

Analizę dynamiczną można stosować w celu:

  • zapobiegania wystąpieniu awarii poprzez wykrywanie dzikich wskaźników i przypadków utraty pamięci systemowej;
  • analizowania trudnych do odtworzenia awarii systemu;
  • dokonywania oceny funkcjonowania sieci;
  • zwiększania wydajności systemu poprzez dostarczenie informacji na temat jego funkcjonowania w czasie wykonywania.

Analizę dynamiczną można przeprowadzić na dowolnym poziomie testowania. Wymaga ona jednak kwalifikacji technicznych i systemowych, które pozwalają na:

  • określenie celów testowania realizowanych w ramach analizy dynamicznej;
  • ustalenie właściwego czasu rozpoczęcia i zakończenia analizy;
  • przeanalizowanie wyników.

Podczas testowania systemu z narzędzi do analizy dynamicznej mogą korzystać nawet analitycy mający minimalne kwalifikacje techniczne, ponieważ narzędzia te tworzą zwykle obszerne logi, które mogą być następnie analizowane przez osoby dysponujące niezbędnymi kwalifikacjami technicznymi.