Ingeniero
Página 1
UNIVERSIDAD CATÓLICA DE SANTA MARÍA
PROGRAMA PROFESIONAL DE INGENIERÍA DE SISTEMAS
SESIÓN 06:
Testing de Unidad: JUnit
I
OBJETIVOS
•
•
•
Conocer la importancia de Testing de Unidad
Aprender a utilizar la herramienta JUnit
Aplicar las técnicas de testing de unidad a un proyecto real
II
TEMAS A TRATAR
JUnit
Pruebas deregresión
III
MARCO TEORICO
1. JUnit
JUnit es un conjunto de bibliotecas creadas por Erich Gamma y Kent Beck que son utilizadas en
programación para hacer pruebas unitarias de aplicaciones Java.
JUnit es un conjunto de clases (frameworks) 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 secomporta como se espera. Es decir, en función de algún valor de entrada se evalúa el
valor de retorno esperado; si la clase cumple con la especificación, entonces JUnit devolverá que
el método de la clase pasó exitosamente la prueba; en caso de que el valor esperado sea diferente
al que regresó el método durante la ejecución, JUnit devolverá un fallo en el método
correspondiente.
Sesión06
Laboratorio de Testing de SW
Página 2
JUnit es también un medio de controlar las pruebas de regresión, necesarias cuando una parte del
código ha sido modificado y se desea ver que el nuevo código cumple con los requerimientos
anteriores y que no se ha alterado su funcionalidad después de la nueva modificación.
El propio framework incluye formas de ver los resultados (runners) quepueden ser en modo
texto, gráfico (AWT o Swing) o como tarea en Ant.
En la actualidad las herramientas de desarrollo como NetBeans y Eclipse cuentan con plug-ins
que permiten que la generación de las plantillas necesarias para la creación de las pruebas de una
clase Java se realice de manera automática, facilitando al programador enfocarse en la prueba y
el resultado esperado, y dejando a laherramienta la creación de las clases que permiten
coordinar las pruebas.
2. Pruebas de Regresión
Se denominan pruebas de regresión a cualquier tipo de pruebas de software que intentan
descubrir errores (bugs), carencias de funcionalidad, o divergencias funcionales con respecto al
comportamiento esperado del software, causados por la realización de un cambio en el
programa.
Este tipo decambio puede ser debido a prácticas no adecuadas de control de versiones, falta de
consideración acerca del ámbito o contexto de producción final y extensibilidad del error que fue
corregido (fragilidad de la corrección), o simplemente una consecuencia del rediseño de la
aplicación.
Por lo tanto, en la mayoría de las situaciones del desarrollo de software se considera una buena
práctica quecuando se localiza y corrige un bug, se grabe una prueba que exponga el bug y se
vuelvan a probar regularmente después de los cambios subsiguientes que experimente el
programa.
Existen herramientas de software que permiten detectar este tipo de errores de manera parcial o
totalmente automatizada, la práctica habitual en programación extrema es que este tipo de
pruebas se ejecuten en cada uno delos pasos del ciclo de vida del desarrollo del software.
IV
(La práctica tiene una duración de 6 horas)
ACTIVIDADES
1. Aprender a utilizar y valorar la herramienta Junit para testing de unidad. Pagina oficial
de JUnit: http://junit.org/
2. Revisar los siguientes tutoriales:
- 1er Tutorial: http://www.inf-cr.uclm.es/www/mpolo/tutorial/
- 2do Tutorial:http://www.vogella.com/articles/JUnit/article.html
Adjuntar un resumen de los mismos en el informe final del laboratorio.
Sesión 06
Laboratorio de Testing de SW
Página 3
3. Instalar la herramienta Junit y probarla con códigos en Java. Mostrar los resultados en el
informe final. Utilizar pantallazos de las pruebas realizadas.
V
EJERCICIOS
1. Formar 4 grupos de 4 integrantes cada uno, los grupos A, B, C y D...
Regístrate para leer el documento completo.