Tarea: Construir las pruebas unitarias
Disciplinas: ConstruccionConstrucción
Relaciones
Descripción principal

Las pruebas unitarias (o de componentes) son diferentes de otras formas de prueba. Las pruebas unitarias se basa en el comportamiento esperado de las unidades/componentes de código en lugar de basarse directamente en los requerimientos del sistema.

Lo mejor es realizar estas pruebas a pequeña escala, mucho más pequeña que el código que un desarrollador genera en el transcurso de una iteración. Esto se puede hacer para un método, una clase, un campo agregado a una interfaz de usuario, un procedimiento, etc. A medida que el código se construye de forma incremental, se crearán nuevas pruebas unitarias y las pruebas existentes podrían revisarse para probar o bien un comportamiento adicional, o bien que nada "se rompió" de lo que antes funcionaba correctamente.

Pasos
Refinar el alcance e identificar los casos de prueba
Seleccionar el incremento o ítem de trabajo que se probará. Identificar las pruebas unitarias para verificar que la implementación que se va a desarrollar (se desarrolló o se está desarrollando) se comporte correctamente. Un buen oráculo del comportamiento esperado para un componente de software es el diseño. Al identificar las pruebas, es bueno trabajar en colaboración con un probador de software que tenga experiencia en la realización de pruebas, para apoyarse en cómo derivar casos de prueba interesantes y efectivos.
Implementar la configuración del ambiente para las pruebas

Para ejecutar con éxito las pruebas unitarias, el sistema (o porción del sistema a probar) debe estar en un estado conocido para que se pueda definir el comportamiento esperado. Se debe implementar la lógica de configuración que debe realizarse como parte la construcción de las pruebas unitarias.

Definir los resultados y la respuesta esperada

Definir el resultado esperado de cada una de las pruebas para que puedan verificarse al momento de su ejecución. Definir la información que las pruebas deben dar como resultado para indicar el éxito o fallo de las mismas. La prueba resultará exitosa (pasará las pruebas) cuando los resultados reales coinciden con los resultados esperados, de lo contrario fallará (no pasará las pruebas).

Para la documentación de los resultados de las pruebas indicar si una respuesta de Verdadero o Falso es suficiente, o si también se debe registrar un mensaje detallado.

Detallar los pasos de prueba
Detallar los pasos a seguir para ejecutar cada una de las pruebas.
Verificar las pruebas

Verificar que cada prueba unitaria funcione correctamente. Para hacer esto:

  • Ejecute las pruebas, observe su comportamiento y corrija cualquier defecto en las mismas.
  • Asegurarse de que los resultados esperados se definan correctamente y que se verifiquen correctamente.
  • Asegurarse de que cada prueba unitaria funcione adecuadamente dentro del su conjunto de pruebas.
Factores clave
  1. Automatizar las pruebas a través de alguna herramienta de prueba que permita la regresión unitaria (por ejemplo, xUnit, JUnit, GxUnit, NUnit o similar) para que los desarrolladores puedan ejecutar las pruebas cada vez que se realicen cambios en el código.
  2. Probar de acuerdo al riesgo de cada componente. Por ejemplo, cuanto más crítico es un componente, más importante es probarlo en profundidad.
  3. Colaborar en conjunto con el probador de software en todos los pasos de esta actividad para obtener información sobre la especificación y ejecución de las pruebas y posibles consideraciones de calidad.

Competencias necesarias para realizar esta actividad: