El objetivo de esta práctica es aprender a realizar pruebas unitarias usando el framework JUnit. Para programar la prueba unitaria, seguramente necesitarás de la Javadoc de JUnit:
Sigue el tutorial a continuación par aprender a hacer pruebas unitarias dentro de Eclipse
Para ejercitarte en la realización de prueba unitaria, intenta crear una lista ligada con una interfaz similar a la siguiente:
| ListaLigada |
|---|
| inicial:Nodo |
| agregaNodo(Nodo) |
| remueveNodo(Nodo) |
| primerNodo():Nodo |
| dameSiguiente():Nodo |
Nota: Intencionalmente no se especifica la interfaz de la lista de manera detalla, tu debes definir claramente la interfaz considerando:
Diseña al menos un caso de prueba para cada método de tu clase considerando para cada uno de ellos:
De acuerdo a lo visto en clase y en el tutorial, crea casos de prueba (sub-clases de TestCase) con JUnit
Ejecuta las pruebas como se muestra en el tutorial. Corrije tu programa en caso de que encuentres defectos.
Realizar una archivo zip con el código de la lista y las clases de prueba y enviarlo por correo a la cuenta ingsoft.uami@gmail.com:
Para la siguiente iteración deberás documentar (ver templete en portal de pruebas) y realizar al menos un caso de prueba relacionado con un módulo del sistema que tu hayas realizado.
| Propósito | Guiar a un desarrollador en la actividad de implementar una parte del sistema | |
|---|---|---|
| Criterios de entrada | - Documento de diseño de la arquitectura que presenta la estructuración del sistema en módulos así como el detalle de su mapeo a la tecnología específica - Plan de iteración - Entorno de desarrollo puesto en pie - Copia local ctualizada del código del repositorio |
|
| Paso | Actividades | Descripción |
| 1 | Escoger módulo | - Escoger el módulo a implementar de acuerdo a lo definido en el plan de iteración |
| 2 | Revisar especificación externa de módulo | - Revisar que la información en el documento de arquitectura relativa a responsabilidad y comunicación del módulo así como su mapeo a la tecnología de implementación estén completos y sean comprendidos en su totalidad |
| 3 | Realizar el diseño detallado del módulo | - Diseñar la estructura interna del módulo (atributos, lógica de métodos (por ejemplo usando pseudocódigo), invocaciones a otros modulos (por ejemplo con diagramas de secuencia) |
| 4 | Codificar el módulo | - Escribir el código del módulo siguiendo las reglas definidas en la sección 4.2 del documento de arquitectura - Documentar el código siguiendo algún estándar (por ejemplo Javadoc) |
| 5 | Probar el módulo | - Definir uno o más casos de prueba (ver templete en el portal) buscando verificar que el módulo satisface la especificación externa y los requerimientos - Crear un código de prueba que ejecute los casos de prueba |
| 6 | Incorporar módulo a estructura del proyecto | - De acuerdo a la información definida en la sección 4.3 del documento de arquitectura |
| 7 | Subir módulo al repositorio | - Realizar un “commit” del código (módulo y pruebas) al repositorio |
| Criterios de salida | - Se tiene el código documentado de un módulo y un código de prueba del módulo en el repositorio. - El módulo ha pasado las pruebas exitosamente |
|