Saltar al contenido

Entrega de software mediante el desarrollo dirigido por pruebas (TDD)

En la figura 1 se muestra el proceso de elaboración de un programa informático que utiliza la TDD.

Paso 1: Escribir el caso de prueba de la unidad

Como se mencionó anteriormente en el post, la primera actividad que se hace en TDD es escribir un caso de prueba de la unidad. Para reiterar, el caso de prueba de la unidad debe ser lo más pequeño posible, y aún así poder ser probado independientemente.

Entrega de software mediante el desarrollo dirigido por pruebas (TDD)
Entrega de software mediante el desarrollo dirigido por pruebas (TDD)

Digamos que estoy desarrollando una página de acceso para una aplicación. La página de inicio de sesión tiene un logo en la sección de encabezado seguido de campos para el nombre de usuario y la contraseña. Finalmente, hay un botón de envío para introducir las credenciales.

En el paso 1, empiezo con el caso de prueba de la unidad para el logo que voy a colocar en la página web. Nada más, nada menos.

Paso 2: Ejecutar la prueba

Ahora, tengo un caso de prueba de la unidad y absolutamente ningún código. Sin embargo, voy a ejecutar el caso de prueba. ¿Por qué? En TDD, siempre se escribe código para un test fallido , y esta es la razón por la que ejecutamos el test case sabiendo perfectamente que no hay código para soportarlo.

La ejecución del caso de prueba sin código también proporciona la seguridad de que el desarrollador no se deja llevar por la necesidad de tener el código en su lugar antes de escribir el caso de prueba. Es una capa adicional de control que asegura que el TDD se siga fiel al espíritu del mismo.

Paso 3: Escribir el código

Después de que la prueba haya fallado, entonces escribes el código suficiente para ejecutar la prueba con éxito. Es una práctica común entre los desarrolladores escribir mucho código, más como una novela que como las viñetas que buscamos en TDD. No debes escribir más código del necesario.

Paso 4: Ejecutar la prueba

Ahora que tenemos el código necesario para pasar con éxito el caso de prueba de la unidad creado en el paso 1, ejecutamos la prueba de nuevo. Si la prueba falla, indica que el código desarrollado no es suficiente para ejecutar el caso de prueba. Vuelva al paso 3 para volver a trabajar en el código.

Si la prueba pasa, el código cumple con los controles de prueba de la unidad, y ahora puede proceder al paso 5 para la refactorización.

Paso 5: Código del Refactor

La refactorización es una actividad en la que se hace eficiente el código. No cambias la funcionalidad, sino que alteras la dinámica interna para mejorar el rendimiento. Algunos ejemplos incluyen la identificación y eliminación de piezas duplicadas y muertas de código, la simplificación de clases anidadas y la consolidación de expresiones condicionales.

El código que ha pasado la prueba de la unidad en el paso 4 se somete al proceso de refactorización donde el código se hace eficiente.

Después de la refactorización, el desarrollador recoge la siguiente pieza del caso de prueba de la unidad, posiblemente el campo de nombre de usuario en la página de inicio de sesión que están desarrollando. Escriben el caso de prueba de la unidad para el campo de nombre de usuario y repiten los pasos 1 a 5. El proceso se repite hasta que la característica o el software está completamente desarrollado.