Était ingénieur de vérification de conception ASIC chez Qualcomm. De la manière la plus simple, je peux l'expliquer:
Test: S'assurer qu'un produit fonctionne, après avoir créé le produit (pensez QA).
Vérification: s'assurer qu'un produit fonctionne AVANT de l'avoir créé.
Ils testent tous les deux, mais cette vérification est plus compliquée car vous devez trouver un moyen de tester le produit avant qu'il n'existe et vous devez vous assurer qu'il fonctionne comme prévu et spécifier quand il sortira.
Par exemple, Intel conçoit leur prochain processeur, ils ont les spécifications, ils ont les schémas et les simulations. Ils dépensent 1 milliard USD pour passer par la fabrication et la fabrication. Ensuite, la puce revient et ils la testent et découvrent que cela ne fonctionne pas. Ils ont simplement jeté beaucoup d'argent par la fenêtre.
Ajoutez la vérification. Les ingénieurs de vérification créent des modèles qui simulent le comportement de la puce, ils créent le banc de test qui testera ces modèles particuliers. Ils obtiennent les résultats de ces modèles et les comparent ensuite avec les résultats RTL (modèle du circuit écrit dans un langage de conception matérielle). S'ils correspondent, les choses sont (généralement) OK.
Il existe un certain nombre de méthodologies différentes pour le processus de vérification, la plus populaire étant la méthodologie de vérification universelle (UVM) .
Il y a beaucoup de profondeur dans le domaine et les gens peuvent y passer toute leur carrière.
Une autre information aléatoire: généralement, vous avez besoin de 3 ingénieurs de vérification pour 1 ingénieur de conception. C'est ce que tout le monde dit sur le terrain.
EDIT: Beaucoup de gens pensent que la vérification est un rôle de test, mais ce n'est pas le cas; c'est un rôle de conception en soi car vous devez comprendre toutes les subtilités de votre circuit intégré comme le fait un concepteur, puis vous devez savoir comment concevoir des modèles, des bancs de test et tous les cas de test qui couvriront toutes les fonctionnalités de votre circuit intégré. , ainsi que d'essayer de frapper chaque ligne de code RTL pour toutes les combinaisons de bits possibles. N'oubliez pas qu'un processeur possède aujourd'hui des milliards de transistors en raison du processus de fabrication permettant de plus en plus petit (maintenant 14nm).
De plus, dans les grandes entreprises comme Intel, AMD, Qualcomm, etc., les concepteurs ne conçoivent pas réellement la puce. Habituellement, l'architecte définira toutes les spécifications, disposera les types de pièces qui doivent aller de pair pour obtenir une fonction particulière avec une exigence spécifique (vitesse, résolution, etc.), puis le concepteur codera cela en RTL. Ce n'est en aucun cas une tâche facile, ce n'est tout simplement pas autant la conception que beaucoup d'ingénieurs sortant de l'école le pensent. Ce que tout le monde veut être, c'est un architecte, mais il faut beaucoup d'éducation et d'expérience pour arriver à ce point. Beaucoup d'architectes ont des doctorats, et comme 15-20 ans d'expérience dans le domaine en tant que designer. Ce sont des gens brillants (et parfois fous) qui méritent de faire ce qu'ils font, et ils sont bons dans ce domaine. L'architecte sur la toute première puce sur laquelle j'ai travaillé était un peu maladroit et ne respectait pas vraiment certaines normes sociales, mais il pouvait résoudre tout ce qui vous bloquait concernant la puce, et parfois il le résolvait dans sa tête et vous disait regarder un signal et vous vous dites "comment diable a-t-il fait ça?". Ensuite, vous lui demandez d'expliquer et il le fait et ça va bien au-dessus de votre tête. En fait, cela m'a inspiré à lire des manuels, même si j'ai déjà obtenu mon diplôme.
Dans mon livre, la vérification consiste à s'assurer que ce que vous avez conçu «fait le travail» - c'est-à-dire que vous avez un ensemble de choses que le «périphérique» doit effectuer, et la vérification les coche sur la liste.
Tester, cependant, c'est s'assurer que les choses que le "périphérique" fait sont bien faites. Vous disposez d'un ensemble de fonctions et vous testez chaque fonction en vous assurant qu'elle fonctionne correctement.
En résumé, la vérification consiste à vérifier la conception et les tests à vérifier le produit.
la source
Issu d'un contexte de conception ASIC (matériel), il existe trois termes importants: validation , vérification et test . Les réponses précédentes parlent généralement d'un ou deux de ces termes, mais ne contrastent pas clairement les trois comme je le ferais. Voici comment je les comprends:
la source
Un test est conçu pour voir si une spécification est remplie. La vérification consiste à voir si l'appareil répond aux entrées de conception, c'est-à-dire à toutes les spécifications. Je suppose qu'il y a beaucoup plus d'interprétations, mais c'est ce que j'ai vu dans les documents d'orientation de la FIA.
la source
Nous faisons une distinction entre les tests de vérification et les tests de validation. Disons que vous concevez un ventilateur qui refroidit certains équipements. Des tests de vérification sont effectués pour s'assurer que le ventilateur répond à toutes les exigences de conception. Vous pouvez donc tester le flux d'air, les cycles thermiques, les vibrations, etc.
Les tests de validation garantissent que les exigences de conception étaient les bonnes. Les entrées de conception que nous avions pour le ventilateur nous ont-elles réellement donné le ventilateur que nous voulions? Par exemple, vous vous assureriez que le ventilateur refroidit réellement l'équipement tel qu'il est prévu.
la source
ISO9000 parle de vérification et de validation. Dans le contexte de la vérification ISO9000, il s'agit de tester une conception de prototype pour prouver qu'elle répond aux attentes fonctionnelles et de performances. La validation signifie que le test du premier cycle de production répond également aux attentes de conception. Vérifier d'abord, valider plus tard est ma petite façon de me souvenir de l'ordre des choses.
Plusieurs normes logicielles inversent l'ordre de vérification et de validation et cela pourrait vraiment créer de la confusion, alors soyez conscient de cela.
L'essentiel est ... Pourquoi testez-vous quelque chose - est-ce une conception de prototype - si c'est le cas, alors les normes de qualité ont tendance à appeler cette vérification. Si vous testez un cycle de production pour la première fois, les spécialistes du matériel appellent cette validation.
Juste mes expériences personnelles.
la source
En lisant ces réponses, je me rends compte maintenant qu'il n'y a pas de définition fixe de la façon dont le "test" diffère de la "vérification" dans l'industrie.
Lorsque nous travaillons avec la conception HW (conception "réelle" HW, comme des trucs sur PCB, pas la programmation VHDL), nous passons par une phase de vérification et de validation, et une phase de test de production (en fait, il suffit de concevoir les tests de production eux-mêmes et de les livrer sur le site de production). - Vérification - (1) vérifier que le prototype / article produit en série satisfait aux exigences matérielles (2) valider les exigences matérielles par rapport aux exigences SYS. - Test de production - test de fumée et cas de test de vérification simplifiés et rapides adaptés pour éliminer les défauts de production de masse sans avoir à passer par l'ensemble du processus de vérification pour chacune des 500000 unités produites par an.
Donc, dans cette entreprise multinationale particulière, «testing» fait référence à des tests de production et rien de plus.
la source