Opłacalność testowania dla projektu

Opłacalność testowania dla projektu
Przy analizowaniu zwrotu z inwestycji (ang. Return of Investment ROI) w testowanie musimy uwzględnić zarówno koszty, jak i korzyści z prowadzenia testów.

Koszty i korzyści z testowania opisane są uniwersalnie i mogą odnosić się tak do testowania, jak i do automatyzacji. 

Po stronie kosztów mogą znaleźć się następujące elementy:

KOSZT JEDNORAZOWY KOSZT POWTARZALNY
  • Rekrutacja testera, 
  • Zbudowanie środowiska testów,
  • Zbudowanie frameworku uruchomienia testów, 
  • Tworzenie testu,
  • Test testu (przegląd).
  • Pensja / faktura za pracownika,
  • Utrzymanie środowiska testów,
  • Zbudowanie frameworku uruchomienia testów, 
  • Utrzymanie testów,
  • Uruchomienie testu,
  • Analizowanie i raportowanie defektu,
  • Uzupełnienia informacji o defekcie,
  • Retest,
  • Kontrola regresu jakości oprogramowania,
  • Koszty utrzymania stanowiska pracy.

Koszty czynności testowych musimy przemnożyć razy ilości wykonań, np. pensja testera będzie stałą płatnością co miesiąc, a liczba stworzonych testów musi być przemnożona przez średni koszt napisania jednego testu. 

Po stronie korzyści z testowania znajdą się między innymi elementy wspomniane w tabelce:

KORZYŚCI ŁATWE DO POLICZENIA KORZYŚCI TRUDNE DO POLICZENIA
  • Liczba wyeliminowanych defektów przed wejściem na produkcję,
  • Potwierdzenie zgodności oprogramowania z wymaganiami,
  • Liczba defektów znalezionych bez konieczności płacenia kar umownych.
  • Potencjalne koszty defektów, które trafiłyby na produkcję,
  • Pozytywne postrzeganie marki z pespektywy jakości oprogramowania,
  • Potencjalne kary umowne wynikające z pojawienia się defektu na produkcji,
  • Uratowanie życia / zdrowia użytkownika oprogramowania,
  • Skrócenie czasu pracy nad wykonaniem pojedynczego zadania w oprogramowaniu,
  • Uniknięcie negatywnego rozgłosu po np. luce bezpieczeństwa i wycieku danych.

Korzyści z samego testowania jest więcej, ale większość z nich zapiszemy po stronie tych, które są trudne do policzenia, bo przykładowo jak wycenić to, że jeden z naszych użytkowników nie straci zdrowia przez wypadek samochodu przy błędnym, awaryjnym hamowaniu?

Dojrzały i świadomy kierownik testów potrafi skwantyfikować koszty i korzyści z testowania, a końcowy rezultat przedstawić jako dobrze umotywowany i uźródłowiony business case. Każdy kolejny zatrudniony specjalista od testowania musi mieć uzasadnienie biznesowe, a każda wykonana przez niego czynność musi dostarczać wartość do projektu. Tylko w takim przypadku inwestycja w testowanie będzie dla projektu zyskiem, a nie stratą. 

To powinno Cię zainteresować