Walidacja i weryfikacja

W pełni zautomatyzowane testy tworzonego oprogramowania to marzenie nie tylko pracodawcy, ale i każdego testera. Zamiast wykonywania powtarzalnych czynności dzień w dzień, rozwój i samodoskonalenie.

Walidacja i weryfikacja

Walidacja i weryfikacja


Dwa słowa, o które zostaniesz zapytanie na (prawie) każdej rozmowie o pracę na stanowisko testerskie. Walidacja i weryfikacja, słowa bardzo często mylone wśród początkujących testerów, choć nie powinny. Rekruterzy pytając o nie, sprawdzają, czy przyswoiliśmy sobie podstawową wiedzę przed rozmową.

W telegraficznym skrócie, walidacja odpowiada na pytanie co, a weryfikacja jak. Słownik do ISTQB, posiłkując się ISO9000, wyjaśnia te zagadnienia:

Weryfikacja:

Egzaminowanie poprawności i dostarczenie obiektywnego dowodu, że produkt procesu wytwarzania oprogramowania spełnienia zdefiniowane wymagania.

Walidacja:

Sprawdzanie poprawności i dostarczenie obiektywnego dowodu, że produkt procesu wytwarzania oprogramowania spełnienia potrzeby i wymagania użytkownika. 

Z powyższych definicji możemy wysnuć proste założenie, że walidacja to spełnienie wymagań użytkownika. Weryfikacja to sprawdzenie, czy produkt jest zgodny z architekturą. Możemy wyróżnić dwa sposoby weryfikacji, statyczną i dynamiczną. Weryfikacja statyczna jest wykonywana przed skompilowaniem kodu i może nią być np. inspekcja kodu. Weryfikacja dynamiczna jest wykonywana na działającym oprogramowaniu, z używając danych testowych.

Na zdrowy rozsądek, czy na poziomie specyfikacji, nie powinniśmy przewidzieć potrzeb użytkowników? Tak samo można by spytać, po co komu testerzy, skoro programiści mogliby pisać bezbłędnie? 
Oprogramowanie, jak i specyfikacje tworzą tylko ludzie i każdy ma prawo do pomyłki. Podczas tworzenia specyfikacji nie jesteśmy w stanie przewidzieć wszystkich scenariuszy, tak samo, jak tego, czy z każda funkcjonalność jest intuicyjna i jasna dla użytkownika. Dlatego właśnie, walidacja jest konieczna podczas procesu testowania. 
Więcej na temat specyfikacji znajdziecie pod linkiem:

Na jakim poziomie testów będziemy więc walidować a na jakim weryfikować? Poziomy testów opisane w sylabusie ISTQB to: 

  • testowanie modułowe
  • testowanie integracyjne
  • testowanie systemowe
  • testowanie akceptacyjne

Z definicji weryfikacja następuje podczas testów modułowych, integracyjnych i systemowych. Walidacja podczas testów akceptacyjnych. Jednak z doświadczenia wiem, że testerzy podczas testów manualnych, często zgłaszają subiektywne opinie na temat działania oprogramowania, niepowiązane z danymi ze specyfikacji.

close

Newsletter