, ,

Czym jest weryfikacja, a czym jest walidacja w testowaniu oprogramowania komputerowego

Walidacja oraz weryfikacja to dwa terminy ściśle związane z testowaniem oprogramowania komputerowego. Pomimo, że są one często spotykane, równie często są mylone albo błędnie rozumiane nawet przez osoby pracujące przy testach oprogramowania. Poniżej przedstawię jak należy je rozumieć i jakie są pomiędzy nimi różnice:

Weryfikacja – odpowiada na pytanie: Czy tworzę produkt (oprogramowanie) we właściwy sposób?

  • Zapewnia, że produkt jest zaprojektowany w taki sposób, żeby dostarczał wszystkie niezbędne funkcjonalności z punktu widzenia klienta.
  • Weryfikacja ma miejsce na początku procesu wytwarzania oprogramowania. Obejmuje swoim zakresem m.in. przeglądy, inspekcje, spotkania weryfikacyjne w celu oceny dokumentów projektowych, planów, kodu, wymagań oraz specyfikacji.
  • Weryfikacja potwierdza spójność, kompletność i poprawność wytwarzanego oprogramowania na każdym etapie cyklu wytwarzania oprogramowania, a także podczas trwania etapu.

Załóżmy, że budujemy drabinę. Weryfikacja zakłada sprawdzenie wszystkich części składających się na gotową drabinę. Kawałki drewna, z którego zrobione będą szczeble są sprawdzane pod kątem jednakowej długości, tego czy są odpowiednio wytrzymałe (np. nie są osłabione przez korniki). Deski przeznaczone na ramiona drabiny sprawdzane są również pod kątem długości z tego względu, że jeżeli jedno z ramion drabiny będzie krótsze, nie będzie możliwe jest ustawienie w pionie już po jej zmontowaniu. Podobna sytuacja ma miejsce w przypadku oprogramowania komputerowego. Jeżeli jedna z części oprogramowania będzie zawierała błędy lub nie będzie spełniała specyfikacji wtedy cały stworzony finalny produkt również nie będzie jej spełniał. Jak zatem widać weryfikacja jest bardzo ważnym procesem w przedsięwzięciu jakim jest tworzenie oprogramowania.

Zalety weryfikacji oprogramowania komputerowego:

  • Weryfikacja pomaga zmniejszyć liczbę defektów znalezionych na późniejszych etapach rozwoju oprogramowania.
  • Weryfikacja produktu w początkowej fazie rozwoju pomaga w ogólnym lepszym zrozumieniu produktu.
  • Zmniejsza prawdopodobieństwo wystąpienia awarii systemu.
  • Pomaga w tworzeniu produktu dokładnie według specyfikacji klienta oraz jego potrzeb.

Walidacja – odpowiada na pytanie: Czy tworzę właściwy produkt?

  • Pozwala na ustalenie czy system jest zgodny w wymaganiami, czy realizuje funkcje dla realizacji których został stworzony oraz czy wpisuje się w cele organizacji oraz spełnia potrzeby użytkownika.
  • Walidacja odbywa się na końcu procesu wytwórczego, po zakończeniu weryfikacji.
  • Pozwala na ustalenie czy finalny produkt (system) jest stworzony w sposób właściwy w kontekście wymagań i potrzeb użytkownika końcowego.

Wracając do przykładu z budowaniem drabiny przywołanego powyżej, w przypadku walidacji nie sprawdzamy już materiału z jakiego drabina jest zbudowana czy długości szczebli. W tym przypadku sprawdzamy czy drabina jest stabilna jako całość, czy można ją złożyć, zabezpieczyć przed wywróceniem, połączyć z drugą drabiną w celu uzyskania dłuższej konstrukcji, etc.

Zalety walidacji oprogramowania komputerowego:

  • Pozwala na wykrycie defektów, których nie wykryła weryfikacja
  • W przypadku gdy podczas weryfikacji wymaganie na daną funkcjonalność zostały źle zrozumiane i zaimplementowane, walidacja jest tą aktywnością, w ramach której taka rozbieżność pomiędzy tym co jest, a tym co powinno zostać dostarczone może zostać dostrzeżona.
  • Walidacja jest przeprowadzana podczas testowania np. testów integracyjnych, testów systemowych, testów obciążeniowych, testów kompatybilności, etc.
  • Walidacja pomaga tworzyć właściwy produkt zgodnie z wymaganiami klienta oraz zaspokajającego jego potrzeby.

Walidacja w głównej mierze realizowana jest poprzez wykonywanie testów. Podczas walidowania produktu, w przypadku znalezienia odchyłki od oczekiwanego rezultatu zgłaszany jest incydent, który finalnie może okazać się defektem (Czym różni się incydent od defektu dowiesz się tutaj).

 


Źródło:
http://sjsi.org/wp-content/uploads/2014/10/slownik-termin%C3%B3w-testowych-ver-2.3-PL.pdf
http://www.testerzy.pl/materialy/index.php?file=AKTUALNY_sylabus_ISTQB_poziomu_podstawowego_wersja_2011.pdf

Dodaj komentarz