Ryzyko w testowaniu

Ryzyko w testowaniu
Ryzyko można definiować jako przypadek, niebezpieczeństwo, możliwość lub sytuację występującą w projekcie z niepożądanymi konsekwencjami - potencjalny problem. Poziom ryzyka będzie określony prawdopodobieństwem wystąpienia zdarzenia i jego wypływem (możliwości uszkodzeń).

Ryzyko w projekcie

Ryzyko projektowe jest ryzykiem otaczającym zdolność projektu do dostarczenia określonych dla niego celów.

Wyróżniamy:

  • czynniki dostawcy (niemożność dostarczenia produktu/podzespołu przez zewnętrzną grupę; czynniki kontraktowe)
  • czynniki organizacyjne (brak umiejętności i ludzi; czynniki osobiste i treningi; czynniki polityczne takie jak problem z komunikacją, niemożność uczenia się na własnych błędach; niepoprawny odbiór lub oczekiwania względem testowania, np. niedocenianie wartości błędów znalezionych podczas testowania)
  • czynniki techniczne (problem ze zdefiniowaniem właściwych wymagań; zakres wymagań, który może zostać osiągnięty dla istniejących ram; jakość projektów, kodu i testów).

Kiedy kierownik testów analizuje, zarządza i przeciwdziała ryzyku, wypełnia założenia zarządzania projektem? Norma IEEE 829 wymusza zawarcie w test planie informacji o potencjalnym ryzyku i jego konsekwencjach.

Ryzyko produktu

Potencjalne obszary występowania awarii (powodujące przyszłe niebezpieczeństwa) w oprogramowaniu lub systemie nazywane są ryzykiem produktu, gdyż są ryzykiem w odniesieniu do jakości produktu.

Wyróżniamy następujące ryzyka produktu:

  • oprogramowanie dostarczone na rynek zawierające defekty powodujące awarie
  • potencjalne zagrożenia zranienia osoby lub wprowadzenie niebezpieczeństwa uszkodzeń wewnątrz organizacji
  • słabe parametry oprogramowania (np. funkcjonalność, bezpieczeństwo, niezawodność, użyteczność i wydajność)
  • oprogramowanie, które nie zachowuje się tak jak powinno (nie spełnia swoich założeń).

Pojęcia ryzyka używa się w celu podjęcia decyzji, gdzie zacząć testowanie i gdzie testować bardziej dogłębnie. Testowanie jest używane do redukowania ryzyka występowania niepożądanych efektów lub do redukowania wpływu tych efektów.

Ryzyko produktu jest specjalnym typem ryzyka wspierającym sukcesu projektu. Testowanie jako kontrola ryzyka dostarcza informacji zwrotnej o pozostałym ryzyku poprzez miarę efektywności usuwania krytycznych błędów i plany ich zapobiegania.

Metoda testowa oparta na ryzyku daje szansę (od najwcześniejszych etapów projektu) przeciwdziałania błędom zanim się pojawią, a przez to zredukowania poziomu ryzyka. Dzięki niej możemy zidentyfikować ryzyko produktu i zawrzeć informację o nim na etapie planowania testów, przygotowania specyfikacji i przygotowania wykonywania testów.

Ryzyka tego możemy użyć, aby określić:

  • używane techniki testowe
  • zakres testów
  • ważność poszczególnych testów w celu znalezienia najbardziej krytycznych błędów we wczesnej fazie
  • czynności nietestowe, które mogą zostać zaprzęgnięte do zredukowania ryzyka (np. dostarczenie szkoleń dla niedoświadczonych architektów).

Testowanie oparte na ryzyku podsumowuje zebraną wiedzę i pokazuje udziałowcom ryzyko i jego poziom potrzebny do wyeliminowania.

Aby zapewnić, że szanse na awarie produktu są minimalne, czynności zarządzania ryzykiem dostarczają wsparcia w postaci:

  • oceny (regularnie powtarzanej) co może pójść źle (ryzyko)
  • określenia z jakim ryzykiem i o jakiej ważności będziemy mieli do czynienia
  • wprowadzenia akcji do przeciwdziałania ryzyka.

Dodatkowo, testowanie może wspierać identyfikację nowego ryzyka, może pomagać określić ryzyko jakie można zredukować oraz może obniżyć niepewność w występowaniu ryzyka.