exact difference between verification
Weryfikacja a walidacja: poznaj różnice z przykładami
Jego powrót do podstaw ludzie! Klasyczne spojrzenie na różnicę między Weryfikacja i walidacja .
W świecie testowania oprogramowania istnieje wiele nieporozumień i debat wokół tych terminów.
W tym artykule zobaczymy, czym jest weryfikacja i walidacja z punktu widzenia testowania oprogramowania. Pod koniec tego artykułu dowiemy się, jakie są różnice między tymi dwoma terminami.
Oto kilka ważnych powodów, dla których warto zrozumieć tę różnicę:
- Jest to podstawowa koncepcja zapewniania jakości, dlatego jest prawie podstawą bycia świadomym zapewniania jakości.
- To jest często zadawane Pytanie do rozmowy kwalifikacyjnej dotyczącej testowania oprogramowania .
- Orzecznictwo syllabus zawiera wiele rozdziałów poświęconych temu zagadnieniu.
- Wreszcie, praktycznie, ponieważ my, testerzy, wykonujemy oba te typy testów, równie dobrze możemy być w tym ekspertami.
Czego się nauczysz:
- Co to jest weryfikacja i walidacja w testowaniu oprogramowania?
- Co to jest weryfikacja?
- Co to jest walidacja?
- Przykłady walidacji i weryfikacji
- V&V w różnych fazach cyklu rozwoju
- Różnica między weryfikacją a walidacją
- Różne standardy
- Kiedy używać funkcji Walidacja i weryfikacja?
- Wniosek
Co to jest weryfikacja i walidacja w testowaniu oprogramowania?
W kontekście testowania „ Weryfikacja i walidacja ”To dwa powszechnie używane terminy. W większości przypadków uważamy oba terminy za takie same, ale w rzeczywistości są one zupełnie inne.
Istnieją dwa aspekty zadań V&V (weryfikacja i walidacja):
- Potwierdza wymagania (pogląd producenta dotyczący jakości)
- Nadaje się do użytku (opinia konsumentów o jakości)
Spojrzenie producenta na jakość Mówiąc prościej, oznacza percepcję produktu końcowego przez programistów.
Konsumenci widzą jakość oznacza postrzeganie produktu końcowego przez użytkownika.
Wykonując zadania weryfikacji i weryfikacji, musimy skoncentrować się na obu tych poglądach na jakość.
Najpierw zacznijmy od definicji weryfikacji i walidacji, a następnie przejdziemy do zrozumienia tych terminów na przykładach.
Uwaga: Te definicje są, jak wspomniano w CSTE CBOK QAI (sprawdź ten link, aby dowiedzieć się więcej o CSTE).
Co to jest weryfikacja?
Weryfikacja to proces oceny pośrednich produktów pracy cyklu życia oprogramowania w celu sprawdzenia, czy jesteśmy na właściwej ścieżce tworzenia produktu końcowego.
Innymi słowy, możemy również stwierdzić, że weryfikacja jest procesem oceny produktów oprogramowania mediatora w celu sprawdzenia, czy produkty spełniają warunki nałożone na początku fazy.
Teraz pytanie brzmi: Jakie są produkty pośrednika lub mediatora?
Cóż, mogą to być dokumenty, które są tworzone podczas faz rozwoju, takie jak specyfikacja wymagań, dokumenty projektowe, projekt tabeli bazy danych, diagramy ER, przypadki testowe, macierz identyfikowalności itp.
Czasami mamy tendencję do lekceważenia wagi przeglądu tych dokumentów, ale powinniśmy zrozumieć, że samo przeglądanie może wykryć wiele ukrytych anomalii, jeśli zostaną znalezione lub naprawione w późniejszej fazie cyklu rozwoju, może być bardzo kosztowne.
Weryfikacja zapewnia, że system (oprogramowanie, sprzęt, dokumentacja i personel) jest zgodny ze standardami i procesami organizacji, opierając się na przeglądzie lub metodach niewykonalnych.
Gdzie przeprowadzana jest weryfikacja?
Specyficzne dla projektów informatycznych, to niektóre obszary (muszę podkreślić, że to nie wszystko), w których przeprowadzana jest weryfikacja.
Sytuacja weryfikacyjna | Aktorzy | Definicja | Wynik |
---|---|---|---|
Przegląd dokumentacji testowej (przegląd partnerski) | Członkowie zespołu QA | Wzajemna ocena polega na tym, że członkowie zespołu dokonują wzajemnej oceny pracy, aby upewnić się, że w samej dokumentacji nie ma błędów. | Dokumentacja testowa gotowa do udostępnienia zespołom zewnętrznym. |
Przegląd wymagań biznesowych / funkcjonalnych | Zespół deweloperski / klient dla wymagań biznesowych. | Jest to niezbędny krok, aby nie tylko upewnić się, że wymagania zostały zebrane i / lub poprawnie, ale także upewnić się, czy są one wykonalne, czy nie. | Sfinalizowane wymagania, które są gotowe do wykorzystania w następnym kroku - projektowaniu. |
Przegląd projektu | Zespół deweloperów | Po utworzeniu projektu zespół deweloperów dokładnie go przegląda, aby upewnić się, że wymagania funkcjonalne mogą zostać spełnione za pośrednictwem proponowanego projektu. | Projekt jest gotowy do wdrożenia w systemie informatycznym. |
Opis kodu | Indywidualny programista | Po napisaniu kod jest sprawdzany w celu zidentyfikowania wszelkich błędów składniowych. Ma to bardziej swobodny charakter i jest wykonywane przez indywidualnego programistę na opracowanym przez siebie kodzie. | Kod gotowy do testów jednostkowych. |
Inspekcja kodu | Zespół deweloperów | To jest bardziej formalna konfiguracja. Eksperci merytoryczni i programiści sprawdzają kod, aby upewnić się, że jest on zgodny z celami biznesowymi i funkcjonalnymi, do których dąży oprogramowanie. | Kod gotowy do testów. |
Przegląd planu testów (wewnętrzny zespołu ds. Kontroli jakości) | Zespół QA | Plan testów jest wewnętrznie weryfikowany przez zespół ds. Kontroli jakości, aby upewnić się, że jest dokładny i kompletny. | Dokument planu testów gotowy do udostępnienia zespołom zewnętrznym (zarządzanie projektami, analiza biznesowa, programowanie, środowisko, klient itp.) |
Przegląd planu testów (zewnętrzna) | Kierownik projektu, analityk biznesowy i programista. | Formalna analiza dokumentu planu testów w celu upewnienia się, że harmonogram i inne kwestie zespołu QA są zgodne z innymi zespołami i całym projektem. | Podpisany lub zatwierdzony dokument planu testów, na podstawie którego będzie oparta aktywność testowa. |
Końcowy przegląd dokumentacji testowej | Analityk biznesowy i zespół programistów. | Przegląd dokumentacji testowej w celu upewnienia się, że przypadki testowe obejmują wszystkie warunki biznesowe i elementy funkcjonalne systemu. | Dokumentacja testowa gotowa do wykonania. |
Zobacz przegląd dokumentacji testów artykuł, który zawiera szczegółowy opis procesu przeprowadzania recenzji przez testerów.
Co to jest walidacja?
Walidacja to proces oceny produktu końcowego w celu sprawdzenia, czy oprogramowanie spełnia potrzeby biznesowe. Krótko mówiąc, wykonanie testów, które wykonujemy w naszym codziennym życiu, jest w rzeczywistości działaniem walidacyjnym, które obejmuje testowanie dymu , testy funkcjonalne, testy regresyjne, testy systemów itp.
Walidacja to wszystkie formy testowania, które obejmują pracę z produktem i poddanie go testom.
Poniżej podano techniki walidacji:
Walidacja fizyczna zapewnia, że system działa zgodnie z planem, wykonując funkcje systemu poprzez serię testów, które można obserwować i oceniać.
W porządku, prawda? Oto moje dwa centy:
Kiedy próbuję poradzić sobie z tą koncepcją weryfikacji i weryfikacji w mojej klasie, jest wokół niej wiele nieporozumień. Wydaje się, że prosty, drobny przykład rozwiązuje całe zamieszanie. To trochę głupie, ale naprawdę działa.
Przykłady walidacji i weryfikacji
Przykład z życia wzięty :Wyobraź sobie, że idziesz do restauracji / kolacji i zamawiasz może naleśniki z jagodami. Kiedy kelner / kelnerka przyniesie Twoje zamówienie, po czym możesz stwierdzić, że dostarczone jedzenie jest zgodne z zamówieniem?
Po pierwsze, patrzymy na to i zauważamy następujące rzeczy:
prosty algorytm sortowania c ++
- Czy jedzenie wygląda jak naleśniki?
- Czy widać jagody?
- Czy dobrze pachną?
Może więcej, ale masz rację?
Z drugiej strony, gdy musisz mieć absolutną pewność, czy jedzenie jest zgodne z oczekiwaniami: będziesz musiał je zjeść.
Weryfikacja jest wszystkim, gdy jeszcze nie jesz, ale sprawdzasz kilka rzeczy, przeglądając tematy. Walidacja ma miejsce, gdy faktycznie jesz produkt, aby sprawdzić, czy jest on właściwy.
W tym kontekście nie mogę się powstrzymać, ale wracam do CSTE CBOK odniesienie. Istnieje cudowne stwierdzenie, które pomaga nam przenieść tę koncepcję do domu.
Weryfikacja odpowiada na pytanie „Czy stworzyliśmy właściwy system?” podczas gdy walidacja dotyczy: „Czy zbudowaliśmy system dobrze?”
V&V w różnych fazach cyklu rozwoju
Weryfikacja i walidacja są przeprowadzane na każdej z faz cyklu rozwojowego.
Spróbujmy im się przyjrzeć.
# 1) Zadania V i V - Planowanie
- Weryfikacja umowy.
- Ocena dokumentu koncepcyjnego.
- Wykonywanie analizy ryzyka.
# 2) Zadania V i V. - Faza zapotrzebowania
- Ocena wymagań oprogramowania.
- Ocena / analiza interfejsów.
- Generowanie planu testów systemów.
- Generowanie planu testów akceptacyjnych.
# 3) Zadania weryfikacji i weryfikacji - Faza projektowania
- Ocena projektu oprogramowania.
- Ocena / analiza interfejsów (UI).
- Generowanie planu testów integracyjnych.
- Generowanie planu testów komponentów.
- Generowanie projektu testów.
# 4) Zadania weryfikacji i weryfikacji - Faza implementacji
- Ocena kodu źródłowego.
- Ocena dokumentów.
- Generowanie przypadków testowych.
- Generowanie procedury testowej.
- Wykonywanie przypadków testowych komponentów.
# 5) Zadania weryfikacji i weryfikacji - Faza testowa
- Wykonywanie przypadków testowych systemów.
- Wykonanie testu akceptacyjnego.
- Aktualizacja wskaźników identyfikowalności.
- Ocena ryzyka
# 6) Zadania weryfikacji i weryfikacji - Faza instalacji i odbioru
- Audyt instalacji i konfiguracji.
- Końcowy test kompilacji kandydata na instalację.
- Wygenerowanie końcowego raportu z testów.
# 7) Zadania weryfikacji i weryfikacji - Faza operacji
- Ocena nowego ograniczenia.
- Ocena proponowanej zmiany.
# 8) Zadania weryfikacji i weryfikacji - Faza utrzymania
- Ocena anomalii.
- Ocena migracji.
- Ocena cech ponownego rozpatrzenia sprawy.
- Ocena proponowanej zmiany.
- Weryfikacja problemów produkcyjnych.
Różnica między weryfikacją a walidacją
Weryfikacja | Uprawomocnienie |
---|---|
Ocenia produkty pośrednie, aby sprawdzić, czy spełniają określone wymagania danej fazy. | Ocenia produkt końcowy, aby sprawdzić, czy spełnia on potrzeby biznesowe. |
Sprawdza, czy produkt jest zbudowany zgodnie z określonymi wymaganiami i specyfikacją projektu. | Określa, czy oprogramowanie nadaje się do użytku i spełnia potrzeby biznesowe. |
Sprawdza „Czy budujemy produkt właściwie”? | Sprawdza „Czy tworzymy właściwy produkt”? |
Odbywa się to bez uruchamiania oprogramowania. | Wykonuje się z uruchomieniem oprogramowania. |
Obejmuje wszystkie statyczne techniki testowania. | Obejmuje wszystkie techniki testowania dynamicznego. |
Przykłady obejmują przeglądy, inspekcje i instrukcje. | Przykład obejmuje wszystkie rodzaje testów, takie jak dymienie, regresja, funkcjonalność, systemy i UAT. |
Różne standardy
ISO / IEC 12207: 2008
Działania weryfikacyjne | Działania walidacyjne |
---|---|
Weryfikacja wymagań obejmuje przegląd wymagań. | Przygotuj dokumenty wymagań testowych, przypadki testowe i inne specyfikacje testów, aby przeanalizować wyniki testów. |
Weryfikacja projektu obejmuje przeglądy wszystkich dokumentów projektowych, w tym HLD i LDD. | Oceń, czy te wymagania testowe, przypadki testowe i inne specyfikacje odzwierciedlają wymagania i nadają się do użycia. |
Weryfikacja kodu obejmuje przegląd kodu. | Testuj wartości graniczne, naprężenia i funkcje. |
Weryfikacja dokumentacji to weryfikacja instrukcji obsługi i innych powiązanych dokumentów. | Przetestuj komunikaty o błędach, aw przypadku jakiegokolwiek błędu aplikacja zostanie pomyślnie zakończona. Testuje, czy oprogramowanie spełnia wymagania biznesowe i nadaje się do użytku. |
CMMI:
Weryfikacja i walidacja to dwa różne KPA na poziomie dojrzałości 3
Działania weryfikacyjne | Działania walidacyjne |
---|---|
Przeprowadzanie recenzji partnerskich. | Sprawdź, czy produkty i ich komponenty są odpowiednie dla środowiska. |
Zweryfikuj wybrane produkty pracy. | Podczas wdrażania procesu walidacji jest on monitorowany i kontrolowany. |
Standaryzuj określony proces, ustanawiając na poziomie organizacyjnym zasady planowania i przeprowadzania przeglądów. | Wykonuj wyciągnięte wnioski i zbieraj informacje dotyczące ulepszeń. Zinstytucjonalizuj określony proces. |
IEEE 1012:
Cele tych czynności testowych to:
- Ułatwia wczesne wykrywanie i korygowanie błędów.
- Zachęca i wzmacnia interwencję kierownictwa w zakresie ryzyka procesowego i produktu.
- Zapewnia środki pomocnicze dla procesu cyklu życia oprogramowania w celu zwiększenia zgodności z wymogami harmonogramu i budżetu.
Kiedy używać funkcji Walidacja i weryfikacja?
Są to niezależne procedury, które należy stosować razem, aby sprawdzić, czy system lub aplikacja jest zgodna z wymaganiami i specyfikacjami oraz czy osiąga zamierzony cel. Oba są ważnymi elementami systemu zarządzania jakością.
Często zdarza się, że produkt przechodzi weryfikację, ale kończy się niepowodzeniem w fazie walidacji. Ponieważ jednak spełniał udokumentowane wymagania i specyfikacje, same te specyfikacje nie były w stanie zaspokoić potrzeb użytkownika. Dlatego ważne jest, aby przeprowadzić testy dla obu typów, aby zapewnić ogólną jakość.
Weryfikacja może być wykorzystywana jako proces wewnętrzny w rozwoju, zwiększaniu skali lub produkcji. Z drugiej strony walidacja powinna być wykorzystywana jako proces zewnętrzny w celu uzyskania akceptacji dopasowania przez interesariuszy.
Czy walidacja czy weryfikacja UAT?
UAT (User Acceptance Testing) należy traktować jako walidację. Jest to weryfikacja systemu lub aplikacji w świecie rzeczywistym, wykonywana przez rzeczywistych użytkowników, którzy sprawdzają, czy system jest „zdatny do użytku”.
Wniosek
Procesy weryfikacji i weryfikacji określają, czy produkty danej działalności są zgodne z wymaganiami i nadają się do jej zastosowania.
Na koniec należy zwrócić uwagę na kilka rzeczy:
- Mówiąc prościej (aby uniknąć wszelkiego rodzaju nieporozumień), po prostu pamiętamy, że weryfikacja oznacza czynności przeglądowe lub techniki testowania statycznego, a walidacja oznacza rzeczywiste czynności związane z wykonywaniem testów lub techniki testowania dynamicznego.
- Weryfikacja może, ale nie musi, dotyczyć samego produktu. Walidacja zdecydowanie potrzebuje produktu. Czasami można przeprowadzić weryfikację dokumentów reprezentujących ostateczny system.
- Weryfikacja i walidacja niekoniecznie muszą być wykonywane przez testerów. Jak widać powyżej w tym artykule, niektóre z nich są wykonywane przez programistów i inne zespoły.
To wszystko, co musisz wiedzieć o weryfikacji i walidacji, aby być MŚP (ekspertami merytorycznymi) w tej dziedzinie.
rekomendowane lektury
- Różnica między testami na komputerach stacjonarnych, serwerach klienckich i testach internetowych
- Testy funkcjonalne a testy wydajnościowe: czy należy je wykonywać jednocześnie?
- Najlepsze narzędzia do testowania oprogramowania 2021 (Narzędzia do automatyzacji testów QA)
- Testy funkcjonalne a testy niefunkcjonalne
- Testowanie statyczne i testowanie dynamiczne - różnica między tymi dwoma ważnymi technikami testowania
- Testy wydajnościowe a testy obciążeniowe a testy obciążeniowe (różnica)
- Kompletny przewodnik dotyczący testów weryfikacyjnych kompilacji (testy BVT)
- 101 Różnice między podstawami testowania oprogramowania