jump to navigation

Pruebas Unitarias-JUnit (I). 13 / julio / 2007

Posted by jgutgil in Proceso de Pruebas.
trackback

El proceso de pruebas consiste, básicamente, en la realización de una serie de pruebas al código que tengamos para observar con que frecuencia podría fallar ese código, encontrar esos errores y solucionarlos.

Estas pruebas hay que realizarlas al comienzo del ciclo de vida del software ya que, cuando avanzamos en el ciclo de vida, más costoso sería solucionar el fallo encontrado.

Podemos dividir las pruebas de dos formas:

  1. Pruebas Unitarias, probamos el funcionamiento de cada módulo por separado.
  2. Pruebas de Integración, probamos el funcionamiento del sistema.

Pruebas Unitarias

Para este tipo de pruebas utilizaremos JUnit, un entorno de pruebas para JAVA.

Cuando consideramos que cierto módulo está acabado, realizamos una serie de pruebas en busca de fallos a través de unos criterios que llamaremos pruebas de caja negra y/o de caja blanca, no son excluyentes, sino complementarias, hay que procurar usar las dos.

Si nos fijamos en las devoluciones de cada una de las funciones de la CUT (Class Under Test), estaremos ante lo que llamamos pruebas funcionales o de caja negra.

El proceso de una prueba de caja negra es simple, ejecutamos la unidad de prueba con datos y se observa la salida, la comparamos con el resulado esperado. En caso de que la prueba se supere, es decir, el resultado obtenido y el esperado son iguales, lo llamamos “oráculo”.

Conforme vamos pasando las pruebas de caja negra podemos determinar que “cantidad” de código hemos cubierto, es decir, cuanto procentaje de código hemos ejecutado. Esto son las pruebas de caja blanca.

Con las pruebas de caja blanca lo que buscamos es encontrar fragmentos del programa que no son ejecutados por los casos de pruebas.

Si encontramos que el resultado de estas pruebas es menor al 100%, debemos ejecutar otros casos para intentar llegar al 100%. Si aun así no conseguimos ese 100%, deberíamos preguntarnos si sirve de algo ese trozo de código.

El proceso de realizar estas pruebas es simple, como podemos observar en el diagrama:

  1. Como realizar las pruebas.

Mutante: un mutante es una copia de la CUT con un pequeño fallo, un cambio sintáctico, por lo tanto, un mutante no es más que una versión defectuosa de la CUT.

Como he dicho anteriormente voy a usar JAVA, aunque creo que también sirve para .NET.

Para cada clase ‘C’ escribimos una clase Ctest con casos de prueba para ‘C’ con JUnit.

JUnit es un conjunto de clases (framework) que permite realizar la ejecución de clases Java de manera controlada, para poder evaluar si el funcionamiento de cada uno de los métodos de la clase se comporta como se espera.

Para generar mutantes podemos usar la aplicación MuJava, genera mutantes, ejecuta los casos de pruebas contra ellos y muestra los resultados obtenidos.

Con estos dos programas podemos crear los casos de pruebas de una forma simple, aunque en la actualidad, entornos de desarrollo cono NetBeans y Eclipse cuentan con plug-in los cuales se encargan de generar los casos de prueba, permitiendo que nos centremos en el resultado obtenido y no en la creación del caso.

About these ads

Comentarios»

1. jgutgil - 13 / julio / 2007

Probando akismet.

2. steph - 4 / octubre / 2007

Buenos dias,

Quiero saber si tengo una aplicacion que recoge datos de una List. Como realizar pruebas unitarias a esta List. Gracias

3. jgutgil - 4 / octubre / 2007

Muy buenas, no entiendo muy bien que estás preguntando, se un poco más explícito.

Un saludo.

¡¡¡ATENCIÓN!!!

Este blog ha cambiado de ubicación, la nueva dirección es la siguiente:

http://www.informatizando.es


Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: