Niezawodna w takich sytuacjach społeczność polskich testerów z fejsbuka szybko odpowiedziała na pytanie o to czym jest weryfikacja, a czym walidacja?
Skąd kontrowersje?
Problem z weryfikacją i walidacją bierze się z niejednoznacznych definicji, różnych interpretacji na rynku pracy oraz wielokrotnego użycia tego pojęcia w różnych kontekstach.
Najczęściej nawiązujemy do definicji pojęć promowanych przez ISTQB, ale jest z nimi pewien kłopot. Zacytujmy je na początek:
Weryfikacja – egzaminowanie poprawności i dostarczenie obiektywnego dowodu, że produkt procesu wytwarzania oprogramowania spełnia zdefiniowane wymagania.
Walidacja – sprawdzenie poprawności i dostarczenie obiektywnego dowodu, że produkt procesu wytwarzania oprogramowania spełnia potrzeby i wymagania użytkownika.
Przytaczając słowa Radka Smilgin mamy z tymi definicjami szereg problemów.
"1. Niepoprawne tłumaczenie.
"sprawdzenie poprawności" =/= "confirmation by examination" =/= "egzaminowanie poprawności"
2. Różnica między definicjami jest niedostrzegalna.
3. Definicje są nieaktualne względem oryginału.
https://www.iso.org/obp/ui/#iso:std:iso:9000:ed-4:v1:en
[co nie zmienia faktu, że nowe wersje również ciężko przełożyć na to co dziś postrzegamy jako walidację i weryfikację]"
Jak zauważył Paweł Noga: "w USA testerów określa się mianem Validation Engineer, a proces testowania procesem walidacji. Na początku współpracy z amerykanami, miałem spory problem z wytłumaczeniem sobie różnic, bo dla nich testing oznacza running tests (czyli egzekucja), a validation - pilnować jakości". Podobne problemy pojawiają się w sektorze oprogramowania wspierającego produkcję leków. Grzegorz Kułaga mówi: "Walidacja to proces weryfikacji czy spełniamy wszystkie regulacje prawne itp. [...] wszystko jest na podstawienie amerykańskich regulacji FDA". Widać, że osoby (współ)pracujące z korporacjami amerykańskimi mogły promować inną niż typowa definicja weryfikacji i walidacji.
O walidacji zdarza nam się mówić również przy okazji funkcji sprawdzania danych w polu formularza, ale nie ma związku między pojęciem walidacji (konfrontowanej z weryfikacją) z funkcją walidującą dane.
Jak to jest naprawdę?
Swoje definicje podał Jacek Jabłoński "Weryfikacja - sprawdzasz działanie [red. zgodnie] ze specyfikacją. Walidacja - sprawdzasz działanie [red. zgodnie] z oczekiwaniem klienta/usera" oraz Radek Smilgin "Walidacja to określenie czy klient dostał produkt jaki zamówił. Weryfikacja to określenie czy zbudowaliśmy rozwiązanie zgodnie z naszymi założeniami".
Wikipedia definiuje:
"Weryfikację, czyli postrzeganie, można sprowadzić do odpowiedzi na pytanie: „Czy produkt tworzony jest prawidłowo?”, a z kolei walidację: „Czy tworzony produkt jest prawidłowy?”."
Ostatecznie możemy zwizualizować weryfikację i walidację w oparciu o model V.
Całość w wątku na grupie FB Testowanie oprogramowania >>