Tarea: Construir las pruebas unitarias |
| |
Relaciones
Categorías |
|
Roles | Realizador principal:
| Otras actividades adicionales que realiza:
|
Entradas | Obligatoria:
| Opcional:
|
Salidas |
|
Uso del proceso |
|
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
-
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.
-
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.
-
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:
|
|