Był inżynierem ds. Weryfikacji projektu ASIC w Qualcomm. W najprostszy sposób mogę to wyjaśnić:
Testowanie: upewnienie się, że produkt działa, po jego utworzeniu (pomyśl o kontroli jakości).
Weryfikacja: upewnienie się, że produkt działa, ZANIM go utworzysz.
Oba testują, tylko ta weryfikacja jest bardziej skomplikowana, ponieważ musisz wymyślić sposób przetestowania produktu, zanim będzie on istniał, i musisz mieć pewność, że działa on zgodnie z planem, i określić, kiedy faktycznie się pojawi.
Na przykład Intel projektuje swój następny procesor, mają specyfikacje, schematy i symulacje. Wydają 1 miliard USD, aby przejść przez produkcję i produkcję. Potem chip wraca i testują go i dowiadują się, że nie działa. Po prostu wyrzucili dużo pieniędzy przez okno.
Wrzuć weryfikację. Inżynierowie ds. Weryfikacji tworzą modele symulujące zachowanie mikroukładu, tworzą środowisko testowe, które będzie testować te konkretne modele. Otrzymują wyniki tych modeli, a następnie porównują je z wynikami RTL (model zapisu obwodu w języku projektowania sprzętu). Jeśli się zgadzają, wszystko jest (zwykle) OK.
Istnieje wiele różnych metodologii procesu weryfikacji, popularną jest Universal Verification Methodology (UVM) .
W tej dziedzinie jest dużo głębi i ludzie mogą spędzić w niej całą karierę.
Kolejna losowa ciekawostka: zazwyczaj potrzebujesz 3 inżynierów weryfikujących na 1 inżyniera projektanta. Tak przynajmniej mówią wszyscy w terenie.
EDYCJA: Wiele osób uważa weryfikację za rolę testową, ale tak nie jest; sama w sobie jest to rola projektowa, ponieważ musisz zrozumieć wszystkie zawiłości swojego układu scalonego tak, jak robi to projektant, a następnie musisz wiedzieć, jak projektować modele, stoły testowe i wszystkie przypadki testowe, które obejmą wszystkie funkcje funkcji twojego układu scalonego , a także próba trafienia w każdą linię kodu RTL dla wszystkich możliwych kombinacji bitów. Pamiętaj, że procesor ma obecnie miliardy tranzystorów ze względu na proces wytwarzania pozwalający na coraz mniejsze (obecnie 14 nm).
Ponadto w dużych korporacjach, takich jak Intel, AMD, Qualcomm itp., Projektanci tak naprawdę nie projektują układu. Zwykle architekt definiuje wszystkie specyfikacje, układa typy elementów, które muszą ze sobą łączyć, aby uzyskać określoną funkcję z określonym wymaganiem (tj. Szybkość, rozdzielczość itp.), A następnie projektant zakoduje to w RTL. Nie jest to wcale łatwa praca, po prostu nie tyle projektowania, ile wielu inżynierów wychodzących ze szkoły tak uważa. Każdy chce być architektem, ale do tego momentu potrzeba dużo edukacji i doświadczenia. Wielu architektów ma doktoraty i jak 15-20 lat doświadczenia w tej dziedzinie jako projektant. To błyskotliwi ludzie (i czasem szaleni), którzy zasługują na to, co robią i są w tym dobrzy. Architekt na pierwszym chipie, nad którym pracowałem, był trochę niezręczny i tak naprawdę nie przestrzegał pewnych norm społecznych, ale mógł rozwiązać wszystko, co utkwiło ci w chipie, a czasami rozwiązał to w swojej głowie i powiedział ci spojrzeć na jeden sygnał i zapytać: „jak on do diabła to zrobił?”. Potem poprosisz go o wyjaśnienie, a on to zrobi, a ten przejdzie ci przez głowę. Właściwie zainspirował mnie do czytania podręczników, mimo że już ukończyłem szkołę.
W mojej książce Weryfikacja zapewnia, że to, co zaprojektowałeś, „spełnia swoje zadanie” - tj. Masz zestaw rzeczy, które „urządzenie” musi wykonać, a weryfikacja usuwa te z listy.
Testowanie upewnia się jednak, że czynności wykonywane przez „urządzenie” są wykonywane poprawnie. Masz zestaw funkcji i testujesz każdą funkcję, upewniając się, że działa ona poprawnie.
Krótko mówiąc, weryfikacja sprawdza projekt, a testowanie sprawdza produkt.
źródło
Pochodzące ze środowiska projektowania ASIC (sprzęt) istnieją trzy ważne pojęcia: sprawdzanie poprawności , weryfikacja i testowanie . Wcześniejsze odpowiedzi ogólnie mówią o jednym lub dwóch z tych terminów, ale nie kontrastują wyraźnie wszystkich trzech w sposób, w jaki bym to zrobił. Oto jak je rozumiem:
źródło
Test ma na celu sprawdzenie, czy specyfikacja jest spełniona. Weryfikacja polega na sprawdzeniu, czy urządzenie spełnia wymagania projektowe - tj. Wszystkie specyfikacje. Przypuszczam, że jest o wiele więcej interpretacji, ale to właśnie widziałem w poradnikach FIA.
źródło
Wprowadzamy rozróżnienie między testami weryfikacyjnymi a testami walidacyjnymi. Załóżmy, że projektujesz wentylator, który chłodzi niektóre urządzenia. Testy weryfikacyjne są wykonywane, aby upewnić się, że wentylator spełnia wszystkie wymagania projektowe. Możesz przetestować przepływ powietrza, cykl termiczny, wibracje itp.
Testy walidacyjne upewniają się, że wymagania projektowe były odpowiednie. Czy wkład projektowy, jaki mieliśmy dla wentylatora, rzeczywiście dał nam wentylator, którego chcieliśmy? Na przykład upewnisz się, że wentylator rzeczywiście chłodzi sprzęt zgodnie z przeznaczeniem.
źródło
ISO9000 mówi o weryfikacji i walidacji. W kontekście weryfikacji ISO9000 oznacza testowanie prototypowego projektu w celu wykazania, że spełnia on oczekiwania dotyczące funkcjonalności i wydajności. Walidacja oznacza, że testowanie pierwszego cyklu produkcyjnego spełnia również oczekiwania projektowe. Sprawdź najpierw, sprawdź później, to mój mały sposób na zapamiętanie kolejności rzeczy.
Kilka standardów oprogramowania odwraca kolejność sprawdzania i sprawdzania poprawności, co może naprawdę powodować zamieszanie, więc należy o tym pamiętać.
Najważniejsze jest ... Dlaczego coś testujesz - czy jest to projekt prototypowy - jeśli tak, to standardy jakości zwykle nazywają tę weryfikację. Jeśli testujesz przebieg produkcji po raz pierwszy, to faceci sprzętu nazywają to sprawdzanie poprawności.
Tylko moje osobiste doświadczenia.
źródło
Po przeczytaniu tych odpowiedzi zdaję sobie sprawę, że nie ma określonej definicji tego, czym „testowanie” różni się od „weryfikacji” w branży.
Pracując z projektem HW („prawdziwy” projekt HW, jak rzeczy na płytkach drukowanych, a nie programowanie VHDL) przechodzimy przez fazę weryfikacji i walidacji oraz fazę testowania produkcji (w rzeczywistości projektujemy same testy produkcyjne i dostarczamy je na miejsce produkcji). - Weryfikacja - (1) sprawdzenie, czy prototyp / element produkowany seryjnie spełnia wymagania sprzętowe (2), weryfikuje wymagania sprzętowe względem wymagań SYS. - Testy produkcyjne - testy dymu oraz uproszczone i szybkie testy weryfikacyjne przystosowane do eliminacji wad produkcji masowej bez konieczności przechodzenia przez cały proces weryfikacji dla każdej z 500 000 wyprodukowanych jednostek rocznie.
Tak więc w tym konkretnym międzynarodowym przedsiębiorstwie „testowanie” odnosi się do testów produkcyjnych i nic więcej.
źródło