Fue ingeniero de verificación de diseño de ASIC en Qualcomm. De la manera más simple puedo explicarlo:
Prueba: Asegurarse de que un producto funciona, después de haberlo creado (piense en el control de calidad).
Verificación: Asegurarse de que un producto funcione ANTES de haberlo creado.
Ambos están probando, solo que la verificación es más complicada porque tienes que encontrar una forma de probar el producto antes de que exista y debes poder asegurarte de que funcione según lo diseñado y especificar cuándo sale realmente.
Por ejemplo, Intel está diseñando su próximo procesador, tienen las especificaciones, tienen los esquemas y las simulaciones. Gastan $ 1 mil millones de dólares para la fabricación y fabricación. Luego el chip regresa y lo prueban y descubren que no funciona. Simplemente arrojaron mucho dinero por la ventana.
Agregue la verificación. Los ingenieros de verificación crean modelos que simulan el comportamiento del chip, crean el banco de pruebas que probará esos modelos en particular. Obtienen los resultados de estos modelos y luego lo comparan con los resultados RTL (modelo de escritura de circuito en un lenguaje de diseño de hardware). Si coinciden, las cosas están (generalmente) bien.
Existen varias metodologías diferentes para el proceso de verificación, una popular es la Metodología de Verificación Universal (UVM) .
Hay mucha profundidad en el campo y las personas pueden pasar toda su carrera en él.
Otro dato aleatorio de información: por lo general, necesita 3 ingenieros de verificación para 1 ingeniero de diseño. Eso es lo que todos en el campo dicen de todos modos.
EDITAR: Mucha gente piensa en la verificación como un rol de prueba, pero no lo es; es un rol de diseño en sí mismo porque debe comprender todas las complejidades de su IC como lo hace un diseñador, y luego debe saber cómo diseñar modelos, bancos de pruebas y todos los casos de prueba que cubrirán todas las funciones de su IC , así como intentar alcanzar cada línea de código RTL para todas las combinaciones de bits posibles. Recuerde que un procesador hoy en día tiene miles de millones de transistores debido al proceso de fabricación que permite cada vez más pequeños (ahora 14nm).
Además, en grandes corporaciones como Intel, AMD, Qualcomm, etc., los diseñadores en realidad no diseñan el chip. Por lo general, el arquitecto definirá todas las especificaciones, diseñará los tipos de piezas que deben unirse para obtener una función particular con un requisito específico (es decir, velocidad, resolución, etc.), y luego el diseñador codificará eso en RTL. De ninguna manera es un trabajo fácil, simplemente no es tanto el diseño como piensan muchos ingenieros que salen de la escuela. Lo que todos quieren ser es arquitectos, pero se necesita mucha educación y experiencia para llegar a ese punto. Muchos arquitectos tienen doctorados y tienen entre 15 y 20 años de experiencia en el campo como diseñador. Estas son personas brillantes (y a veces locas) que merecen estar haciendo lo que están haciendo, y son buenos en eso. El arquitecto en el primer chip en el que trabajé era un poco incómodo y realmente no seguía algunas normas sociales, pero podía resolver cualquier cosa que tuvieras en relación con el chip, y a veces lo solucionaba en tu cabeza y te decía mirar una señal y dirías, "¿cómo demonios hizo eso?". Luego le pides que te explique y él lo hace y se te pasa por la cabeza. En realidad me inspiró a leer libros de texto a pesar de que ya me gradué.
En mi libro, Verificación es asegurar que lo que ha diseñado "hace el trabajo", es decir, tiene un conjunto de cosas que el "dispositivo" debe realizar, y la verificación marca las que están en la lista.
Sin embargo, las pruebas se aseguran de que las cosas que hace el "dispositivo" se hagan correctamente. Tiene un conjunto de funciones y prueba cada función asegurándose de que la función se realice correctamente.
En pocas palabras, Verification está verificando el diseño, y Testing está verificando el producto.
fuente
Viniendo de un fondo de diseño ASIC (hardware), hay tres términos importantes: validación , verificación y prueba . Las respuestas anteriores generalmente hablan de uno o dos de estos términos, pero no contrastan claramente los tres de la manera en que lo haría. Así es como los entiendo:
fuente
Una prueba está diseñada para ver si se cumple una especificación. La verificación es para ver si el dispositivo cumple con las entradas de diseño, es decir, todas las especificaciones. Supongo que hay muchas más interpretaciones, pero esto es lo que he visto en los documentos de orientación de la FIA.
fuente
Hacemos una distinción entre pruebas de verificación y pruebas de validación. Digamos que está diseñando un ventilador que enfría algunos equipos. Las pruebas de verificación se realizan para asegurarse de que el ventilador cumpla con todos los requisitos de diseño. Por lo tanto, puede probar el flujo de aire, el ciclo térmico, la vibración, etc.
Las pruebas de validación aseguran que los requisitos de diseño sean los correctos. ¿Las entradas de diseño que teníamos para el ventilador realmente nos dieron el ventilador que queríamos? Por ejemplo, se aseguraría de que el ventilador realmente enfríe el equipo según lo previsto.
fuente
ISO9000 habla sobre verificación y validación. En el contexto de la verificación ISO9000, significa probar un diseño de prototipo para demostrar que cumple con las expectativas funcionales y de rendimiento. La validación significa que probar la primera ejecución de producción también cumple con las expectativas de diseño. Verificar primero, validar después es mi pequeña forma de recordar el orden de las cosas.
Varios estándares de software invierten el orden de verificación y validación y esto realmente podría causar confusión, así que tenga en cuenta esto.
La conclusión es ... ¿Por qué está probando algo? ¿Es un diseño prototipo? Si es así, los estándares de calidad tienden a llamar a esta verificación. Si está probando una ejecución de producción por primera vez, los técnicos de hardware llaman a esto validación.
Solo mis experiencias personales.
fuente
Al leer estas respuestas, ahora me doy cuenta de que no existe una definición establecida de cómo la "prueba" difiere de la "verificación" en la industria.
Cuando trabajamos con diseño HW (diseño HW "real", como material en PCB, no programación VHDL) pasamos por una fase de verificación y validación, y una fase de prueba de producción (en realidad solo diseñamos las pruebas de producción y las entregamos al sitio de producción). - Verificación: (1) verifique que el prototipo / artículo producido en masa cumpla con los requisitos de HW (2) valide los requisitos de HW contra los requisitos de SYS. - Pruebas de producción: prueba de humo y casos de prueba de verificación simplificados y rápidos adaptados para detectar defectos de producción en masa sin tener que pasar por un proceso de verificación completo para cada una de las 500000 unidades producidas al año.
Entonces, en esa empresa multinacional en particular, "pruebas" se refiere a pruebas de producción y nada más.
fuente