Walidacja i testowanie usług IT

Podziel się

walidacja i testowanieW grupie procesów, odpowiedzialnych za przejście z etapu projektowania i wytwarzania do etapu eksploatacji usługi IT, jest w ITIL nowy proces zarządzania walidacją i testowaniem usług IT. Nie jest to nowa dziedzina, bo samo testowanie oprogramowania ma długą historię i jest samodzielnym obszarem. Ponieważ jest on bardzo ważny w dostarczaniu poprawnie działających usług, warto zastanowić się, jakie są jego najważniejsze elementy i na co trzeba zwrócić uwagę. Uważam, że proces ten nie jest właściwie doceniany i wykorzystywany, a konsekwencje tego widzimy w działaniu usług IT na produkcji.

Konsekwencje

Czy na co dzień zastanawiamy się, jaka jest różnica pomiędzy walidacją a testowaniem?

Walidacja to sprawdzenie, czy usługa spełnia zdefiniowane wymagania biznesu a testowanie, ma za zadanie, wykrycie wszystkich błędów w działaniu usługi.

Jakie są konsekwencje, niewystarczającej i źle przeprowadzonej walidacji i testowania usługi?

  • Występują incydenty, wynikające z błędów lub niewłaściwego zrealizowania wymagań biznesu
  • Wymagane jest większe wsparcie Service Desk w wyjaśnieniu i tłumaczeniu, niewłaściwie działających usług
  • Trudniej zdiagnozować i wykryć błędy i problemy w funkcjonowaniu usługi
  • Mamy większe koszty, związane z naprawą błędów na produkcji, zamiast podczas etapu testowania rozwiązania
  • Dajemy mniejszą wartość usługi dla klienta, z powodu jej nieefektywnego działania

Cele

Głównym celem procesu walidacji i testowania usługi jest zapewnienie, że nowe lub zmienione usługi IT, spełniają wymagania projektowe i odpowiadają na potrzeby biznesu.

Ważnymi elementami procesu są również:

  • Zagwarantować, że wydanie zawiera nową lub zmienioną usługę, która przyniesie oczekiwane rezultaty i wartość dla klienta w ustalonych kosztach, zasobach i warunkach brzegowych.
  • Zapewnić odpowiednią jakość wydaniu i wszystkim elementom wchodzącym w jego skład
  • Sprawdzić, że usługa spełnia wymagania funkcjonalne biznesu i dostarcza oczekiwaną użyteczność
  • Zweryfikować, że usługa spełnia wymagania niefunkcjonalne takie jak: dostępność, wydajność, niezawodność, bezpieczeństwo
  • Potwierdzić, że wymagania klienta dla nowych lub zmienionych usług są poprawnie zdefiniowane oraz podjęte zostały działania aby wyeliminować błędy przed wdrożeniem na produkcję
  • Zaprojektować i wdrożyć, dobrze zorganizowany proces walidacji i testowania, który dostarczy wiarygodnych dowodów, że zostały spełnione wymagania funkcjonalne i niefunkcjonalne dla usługi
  • Wykryć, ocenić i zaadresować zagadnienia, błędy i ryzyka na etapie wdrożenia (przejścia)

Zakres

Proces walidacji i testowania jest wykorzystywany do:

  • Oceny jakości wszystkich aspektów związanych z usługą i jej dostawcą
  • Weryfikacji usług dostarczanych przez wewnętrzne zespoły, jak i dostawcę zewnętrznego.
  • Nowych usług, jak i dla zmian wprowadzanych w usługach lub ich komponentach.
  • Wykonania weryfikacji w środowisku biznesowym i sprawdzenia wszystkich aspektów, związanych z działaniem usługi, w tym takich, które nie zależą od dostawcy usługi np. sieć publiczną (Internet), zasoby klienta.

Testowanie bardzo mocno związane jest z procesem zarządzania wydaniem i wdrożeniem i wspiera go bezpośrednio, na różnych etapach.

Wyniki testów wykorzystywane są przez proces zarządzania zmianą, podczas oceny zmiany i ryzyka jej wprowadzenia na produkcję.

Korzyści

Jakie korzyści daje dobrze funkcjonujący proces walidacji i testowania:

  • Zadowolony biznes, klient i użytkownik, z dostarczenia usługi spełniającej wymagania funkcjonalne i niefunkcjonalne
  • Mniej błędów na środowisku produkcyjnym zgłaszanych przez użytkowników
  • Większą dostępność usług dla użytkowników, związaną z mniejszą liczbą awarii
  • Mniejsze koszty świadczenia usługi, wynikające z napraw na etapie testowania zamiast na produkcji
  • Listę znanych błędów, wykrytych na etapie testowania, które nie zostały naprawione i wymagają obsługi na etapie utrzymania

Rodzaje testów

Ile mamy rodzajów testów?

  • Testy funkcjonalne, nazywane również testami użyteczności, które powinny zawierać
    • Sprawdzenie dostępu do usługi (logowanie, zmiana hasła itp)
    • Weryfikację działania procesów biznesowych i wymaganych procedur
    • Przekazanie wiedzy i kompetencji
    • Kompatybilność i współdziałanie z innymi usługami i komponentami
    • Sprawdzenie dokumentacji
  • Testy wydajnościowe, sprawdzające pojemność usługi
  • Testy dostępności, weryfikujące wymagania związane z wysoką dostępnością
    • Testy kopii zapasowej i odtwarzania z backupu
    • Testy ciągłości działania
  • Testy bezpieczeństwa, sprawdzające wszystkie aspekty związane z bezpieczeństwem
  • Testy konfiguracji, tworzenia i instalacji wydania na produkcji
  • Testy mierzenia i raportowania SLA dla usługi
  • Testy procedur i instrukcji związanych z utrzymaniem usługi

W przypadku procesu walidacji i testowania, sprawdza się dobrze znana zasada z wojska: im więcej potu na ćwiczeniach tym mniej krwi i ofiar w walce i boju. Im więcej czasu, energii i zasobów poświęcimy na rzetelne przetestowanie usługi przed wdrożeniem, tym mniej problemów będziemy mieli, z działaniem tej usługi na produkcji. Oczywiście jak wszędzie musimy znaleźć złoty środek, aby etap testów nie sparaliżował nam cyklu wprowadzania zmian. Z drugiej strony nie możemy sobie pozwolić aby niewystarczająco przetestowane usługi, były implementowane na środowisku produkcyjnym i zaburzały prawidłowe działanie tej lub innych usług. Pamiętajmy, że koszt usunięcia błędów na etapie testowania jest mniejszy, niż gdy musimy je rozwiązywać na działającym środowisku produkcyjnym.

Pytanie: Których rodzajów testów nie wykonujesz i dlaczego?


Podziel się

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.