Documente Academic
Documente Profesional
Documente Cultură
Contenido
Automtica
Cobertura
Repetibles
Independiente
Frameworks
Ventajas
Dependiendo del framework empleado podemos
encontrar las siguientes ventajas:
Ventajas
Documenta el cdigo.
Desventajas y limitaciones
Prcticas recomendadas
Pruebas Unitarias
10
JUnit: Ejemplo
*@param
list
Un array de enteros
}
}
14/11/2011
11
14/11/2011
12
13
Cdigo de Prueba
package elementos;
import junit.framework.TestCase;
public class MayorNumeroTest extends TestCase {
public void testSimple() {
assertEquals(9, MayorNumero.mayorNumero(new int[] {3, 7, 9, 8}));
}
public void testOrden() {
assertEquals(9, MayorNumero.mayorNumero(new int[] {9, 7, 8}));
assertEquals(9, MayorNumero.mayorNumero(new int[] {7, 9, 8}));
assertEquals(9, MayorNumero.mayorNumero(new int[] {7, 8, 9}));
}
public void testDuplicados() {
assertEquals(9, MayorNumero.mayorNumero(new int[] {9, 7, 9, 8}));
}
assertEquals(-4, MayorNumero.mayorNumero(new
int[] {-4, -6, -7, 22}));}}
14/11/2011
14
Ejecutar Prueba
Qu est mal?
15
Errores
MIN_VALUE
Analizar los extremos: Lista.Length
14/11/2011
16
Pasos:
17
Comprobaciones
assertTrue (condicin_booleana)
assertFalse (condicin_booleana)
assertSame (Objeto esperado, Objeto real)
Comprueba que son la misma referencia
assertNull (Objeto)
Comprueba que el objeto es Null
18
Uso de Comprobaciones
En una funcin de prueba se pueden poner tantos
mtodos de comprobacin como sean necesarios
para implementar el caso de prueba concreto.
En general hay que comprobar que un mtodo lanza
todas las excepciones que se han declarado en el
mismo cuando debe. Y que no las lanza cuando no hay
motivo para ello. Esta es la utilidad del mtodo fail.
public void
testExcepcionOrdenarListaNula( ) {try
{ordena_lista(null);
fail(Debera haber lanzado una
excepcin);} catch (RuntimeException
e) { }}
14/11/2011
19
14/11/2011
20
14/11/2011
21
14/11/2011
22
23
Sample.vsmdi
14/11/2011
24
LocalTestRun.testrunconfig
activar el anlisis
de la cobertura de
cdigo
14/11/2011
25
Ejecutar Prueba
14/11/2011
26
% de Cobertura
14/11/2011
27
Otras Pruebas
Pruebas de Aislamiento mediante Mock
Objects: JMock y EasyMock.
Pruebas de Aplicaciones que acceden a
Bases de Datos: DBUnit.
Pruebas de Documentos: XMLUnit.
Pruebas de Aplicaciones Web :
HttpUnit
HtmlUnit
JWebUnit
14/11/2011
28