ED03.- Diseño y realización de pruebas

Orientaciones para la tutoría

Esta es la tercera unidad del módulo. En ella el alumnado conocerá la importancia de la realización de pruebas, durante el proceso de desarrollo de software. El alumnado aprenderá los distintos tipos de pruebas, y los mecanismos para la elaboración de casos de prueba. Asimismo, conocerá las herramientas que incorporan los entornos de desarrollo actuales, para la depuración y realización de pruebas de software. Nos centraremos en la automatización de pruebas para Java, usando Junit.

Datos generales de la Unidad de Trabajo
Nombre completo del MP Entornos de desarrollo. Siglas MP ED
y título de la UT 3.- Diseño y realización de pruebas. Horas 15/90
Índice o tabla de contenidos
  1. Planificación de las pruebas.
  2. Tipos de prueba.
    1. Funcionales (pruebas de la caja negra).
    2. Estructurales (pruebas de la caja blanca).
    3. Pruebas de regresión.
  3. Procedimientos y casos de prueba.
  4. Herramientas de depuración.
    1. Puntos de ruptura.
    2. Tipos de ejecución.
    3. Examinadores de variables.
  5. Validaciones.
  6. Normas de calidad.
  7. Pruebas unitarias.
    1. Herramientas para java.
    2. Herramientas para otros lenguajes.
  8. Documentación de la prueba.

Anexo I.- Pruebas de la caja blanca

  1. Pasos a seguir
    1. Creación del grafo.
    2. Complejidad de McCabe o ciclomática.
    3. Caminos de prueba.
    4. Casos de uso, resultados esperados y análisis.
  2. Ejemplo 1. Fibonacci.
    1. Creación del grafo.
    2. Complejidad de McCabe o ciclomática.
    3. Caminos de prueba.
    4. Casos de uso, resultados esperados y análisis.
  3. Ejemplo 2. "Tablero para jugar al bingo".
    1. Creación del grafo.
    2. Complejidad de McCabe o ciclomática.
    3. Caminos de prueba.
    4. Casos de uso, resultados esperados y análisis.

Anexo II.- Pruebas de la caja negra.

  1. Pasos a seguir.
    1. Determinar las clases de equivalencia.
    2. Análisis de valores límites.
    3. Conjetura de errores.
    4. Casos de uso, resultados esperados y análisis.
  2. Ejemplo práctico.
    1. Determinar las clases de equivalencia.
    2. Casos de uso, resultados esperados y análisis.

Anexo III.- JUnit.

  1. Probando JUnit.
    1. Código propuesto.
    2. Etiquetas JUnit.
    3. Assertions (afirmaciones).

Anexo IV.- Depuración con Elipse.

  1. Puntos de ruptura.
  2. Examinadores de variables.
  3. Botones de depuración.

Anexo V.- Enlaces de Interés.

Anexo VI.- Licencias de recursos.

Objetivos
  • Gestionar entornos de desarrollo adaptando su configuración en cada caso para permitir el desarrollo y despliegue de aplicaciones.
  • Desarrollar interfaces gráficos de usuario interactivos y con la usabilidad adecuada, empleando componentes visuales estándar o implementando componentes visuales específicos.
  • Realizar planes de pruebas verificando el funcionamiento de los componentes software desarrollados, según las especificaciones.
  • Desplegar y distribuir aplicaciones en distintos ámbitos de implantación verificando su comportamiento y realizando las modificaciones necesarias.
Consejos y recomendaciones

En esta unidad, sería recomendable partir de aplicaciones previamente elaboradas por el alumnado, o suministradas por el profesor o profesora, para poder probarla, estableciendo sobre ella diferentes casos de prueba, y utilizando las herramientas de depuración (puntos de ruptura, examinadores de variables, etc.) propios del IDE. También es recomendable, utilizar el Junit, para automatizar las pruebas, sobre un software previamente elaborado.

Tarea Criterios de puntuación

Partiendo del proyecto Java "java-sw.rar", los criterios de puntuación serán los siguientes.

  • Pruebas de caja blanca. 2,5 puntos.
  • Pruebas de caja negra. 2,5 puntos.
  • Pruebas con JUnit. 2,5 puntos.
  • Depuración. 2,5 puntos.
Criterios de corrección

Se valorará le correcto diseño de los casos de prueba. Se recomienda la documentación dentro del código, tanto de la implementación llevada a cabo, como de los resultados esperados.

Solución propuesta
La solución completa y correcta a la tarea propuesta, desarrollada por el autor o la autora de la misma, la podrás encontrar como enlace en la página de inicio de la unidad de trabajo, justo debajo del enlace a las orientaciones para la tutoría.
Trabajo de investigación

Se pide un trabajo de investigación con el fin de conocer cuales son los IDE más usados actualmente (que sirvan para programar en Java). Elige uno de ellos y haz una guía para manejar el depurador. Comprueba cuales son todas las posibilidades que ofrece. No puede ser Eclipse.

 

Con lo cual, en esta unidad hay dos trabajos a entregar. Por ello, cada tarea supondrá un 50% de la nota en esta unidad en las tareas a entregar al profesor.

Temas de debate

Pruebas al software actuales: herramientas que las automatizan.