Proyecto Sintetizador Documentacion Version 1.0 - Miércoles 01 Julio 2009
Volver al indice

Tests de Pruebas

Se realizaron puebas unitarias para comprobar el correcto funcionamiento cada clase en cada iteración del modelo RUP. Se utilizó la constante 'DEBUG' como parámetro de dicho testeo.
Las pruebas funcionales se realizaron en base a los casos de uso, ya que fueron éstos nuestros referentes a la hora de verificar fallas de índole general a nivel de usuario.
Las pruebas de integración se realizaron cada vez que una clase había superado las pruebas unitarias y se realizaron con la finalidad de probar el flujo de datos entre una clase y otra. Estas pruebas fueron parte del mismo desarrollo, por lo que no las mencionaremos con detalle. Como un ejemplo general que grafique dicha situación podemos mencionar el llamado a métodos(funciones) desde una clase a otra, donde el argumento recibido y la acción realizada son los elementos que "integran" dichas clases.

1. Primer caso: Generación de un sonido con amplitud modulada por un LFO.

Pruebas Unitarias:

· Se comprueba el correcto funcionamiento de los 'Listener' de la clase SintePanel.
En este caso verificamos que se halla presionado una tecla del piano virtual.
>> if(DEBUG) System.out.println("Key pressed");
Lo mismo se hace para verificar el control de los sliders y botones.

· Se verifica el funcionamiento de los selectores de onda de la clase SignalManager.
Para este caso particular, vemos cómo se selecciona un tipo de onda Sinusoidal.
>> if(DEBUG) System.out.println("Sine seleccionado.");
Esta prueba tambien la utilizamos para verificar las ondas Cuadradas, Triangulares y Dientes de Sierra.

Pruebas Funcionales:

· Verificar que el sintetizador responde positivamente al presionar dos teclas al mismo tiempo.
Se generará sólo un sonido, específicamente el de la primera tecla que llegue como requerimiento al programa. Al soltar una de ellas continuará sonando la tecla que se mantenga presionada

2. Segundo caso: Generación de una onda cuadrada filtrada.

Pruebas Unitarias:

· Se comprueba el correcto funcionamiento de los 'Listener' de la clase SintePanel
En este caso verificamos que se halla seleccionado un Tipo de Filtro (Radiobutton).
>> if(DEBUG) System.out.println("BotonHandler actionPerformed");
Luego debe identificarse el origen de dicho evento.

· Para identificar el origen del evento se muestra en pantalla el resultado de un "getSource" a dicho evento
En este caso verificamos que se halla seleccionado el Radiobutton corespondiente al Tipo de Filtro LP.
>> if(DEBUG)if(e.getSource().equals(EnvLPBut))System.out.println("BotonHandler Filtro LP");
El mismo procedimiento se debe seguir para los otros RadioButtons del panel general.

· Se verifica el funcionamiento de los selectores de onda de la clase SignalManager.
Para este caso particular, vemos cómo se selecciona un tipo de onda Cuadrada.
>> if(DEBUG) System.out.println("Square seleccionado.");
Esta prueba tambien se realiza al utilizar ondas Sinunsoudales, Triangulares y Dientes de Sierra.

· Se revisa si el filtro de la clase SignalManager está efectivamente filtrando
Para este caso utilizaremos el filtro pasa bajos, o tambien llamado LowPassFilter (Filtro LP)
>> if(DEBUG) System.out.println("Filter LP seleccionado");
De igual forma se utiliza para los fltros HP, BP y BS.

Pruebas Funcionales:

· Verificar la respuesta de los filtros al tocar una nota, generada por una onda cuadrada y filtrada posteriormente por un filtro pasa bajos.
Se generará un sonido idéntico al producido por un generador sinusoidal, ya que sus componentes armónicas de alta frecuencia han sido removidos

3. Tercer caso: Modificación del volumen de un sonido.

Pruebas Unitarias:

· Verificamos que el 'Listener' de la clase SintePanel asociada al volumen general esté funcionando correctamente
En este caso verificamos que se halla deslizado el control de Amplitud.
>> if(DEBUG) System.out.println("Valor en slider cambiado");
Luego debemos identificar el origen del evento.

· Identificar el origen del evento.
Se muestra en pantalla el resultado de haber aplicado el método 'getSource' a dicho evento.
>> if(DEBUG)if(e.getSource().equals(SldAmp))System.out.println("SliderHandler Amplitud");
El mismo procedimiento se debe seguir para los otros Sliders.

Pruebas Funcionales:

· Presionar una tecla del piano virtual, mantenerla en dicho estado y deslizar el control Amplitud del panel.
Se generará una nota, según los seteos correspondientes que variará de amplitud a medida que el control de Amplitud se deslice hacia arriba y abajo.


Volver al indice