2011-12-24 12 views
5

Quiero probar la unidad de un generador de señal, digamos que genera una onda sinusoidal simple, o la modulación de frecuencia de una señal en una onda sinusoidal. Es bastante fácil definir parámetros de prueba sensibles, y es bien sabido cómo debería "parecerse" la salida, pero esto es bastante difícil de probar.¿Cuál es una buena técnica para probar la unidad de generación de audio digital

Podría hacer (por ejemplo) un análisis de frecuencia en la salida y verificar que, verifique la amplitud máxima, etc., pero a) esto hará que el código de prueba sea significativamente más complicado que el código que está probando yb) no complete prueba la forma de la salida.

¿Existe alguna manera establecida de hacerlo?

Respuesta

2

Una forma de hacer esto sería capturar un resultado "bien conocido" y comparar bit a bit con eso. Siempre que su algoritmo sea determinista, debería obtener el mismo resultado cada vez. Es posible que tenga que recalibrarlo ocasionalmente si algo cambia, pero al menos sabrá si realmente cambia.

+0

Generar señales "bien conocidas" para cada combinación de parámetros que deseo probar podría ser bastante doloroso, pero probar las propiedades (por ejemplo, frecuencia) de muchas señales, más una comparación bit a bit de un par de señales podría funciona bastante bien – Draemon

0

Una posible forma de prueba semiautomatizada es codificar sus generadores de señal de la especificación por 3 algoritmos diferentes, o quizás por 3 programadores diferentes en 3 lenguajes de programación diferentes. Luego, genere aleatoriamente parámetros dentro del rango completo de valores de entrada de control legal y capture y compare las salidas de los 3 generadores para ver si están de acuerdo dentro de algún límite de error. También podría incluir algunos parámetros típicos y algunos sospechosos de peor caso. Si las salidas siempre concuerdan, entonces hay una probabilidad mucho más alta de que todo funcione por especificación que si no lo hacen.

2

Esta situación es un argumento sólido para una herramienta de modelado como Matlab, para generar y revisar automáticamente un conjunto de pruebas bien entendido, así como para proporcionar un entorno para la comparación automática y la puntuación. Especialmente en los casos en que se producen explosiones combinatorias de variaciones de prueba, la automatización hace posible y directo generar un gran conjunto de datos, localizar problemas y reducir si es necesario para un conjunto de prueba de calificación representativa.

A menudo infravalorado es el medio para generar pruebas extensas y extensas que cumplen tanto los requisitos como los límites de la implementación de su diseño. Pensar y diseñar esos casos por adelantado también es una gran ventaja al introducir un sistema limpio y sin problemas.

Cuestiones relacionadas