Desarrollar probando

Cycle
Cycle. Imagen de: James Suraj Barwa

El desarrollo orientado a pruebas es un proceso de desarrollo de software que se basa en la repetición de ciclos cortos de desarrollo. Los requerimientos son convertidos en casos de prueba, después el software es mejorado conforme pasan las pruebas.

La persona a quien se le identifica como el descubridor de esta tecnica es Kent Beck, quien lo hizo en 2003.

By Xarawn – Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=44782343

El ciclo de desarrollo es el siguiente:

  • Añadir una prueba – Cada nueva característica comienza escribiendo una prueba. Para escribir una prueba correctamente, el desarrollador debe entender claramente lo que se especifica y requiere para cada función, esto se puede lograr con la ayuda de los casos de usuario y con las historias de usuario.
  • Realizar todas las pruebas y revisar si la prueba más reciente falla – Esto sirve para validar si los instrumentos de prueba funcionan correctamente, muestra que la nueva prueba no sea exitosa ya si no se ha escrito nuevo código, la prueba debe fallar por las razones esperadas.
  • Escribir código – Escribir el código para que la prueba sea exitosa, el código aquí no debe ser perfecto.
  • Realizar prueba – Revisa si el código funciona y no rompe el proyecto.
  • Limpieza de código – Se revisa el código para mejorarlo y hacerlo cumplir con ciertos estándares de calidad; por ejemplo, se debe eliminar duplicación, los objetos, clases, módulos, variables y métodos deben ser claros, etc…
  • Repetir – Empezar una nueva prueba.

Existen una serie de recomendaciones para hacer un desarrollo correcto.

Establecer una estructura definida, la más común es:

  • Iniciación – Poner la unidad de prueba en el estado para realizar la prueba.
  • Ejecución – Realizar la prueba de la unidad y obtener los resultados.
  • Validación – Asegurarse que los resultados son los correctos.
  • Limpieza – Restaurar la unidad y las pruebas, para realizar una nueva.

Este sistema no es unicamente para simplemente validar si el programa es correcto, sino que intenta manejar el diseño entero del programa.

El desarrollo orientado a pruebas hace que los programadores que lo utilicen tiendan a ser más eficaces y productivos. Existen hipótesis que sugieren que existe una relación lineal entre el número de pruebas y la calidad final del software. Los programadores que hacen uso de este tipo de desarrollo hacen menos uso de los debuggers que quienes no.

Referencias

WikiWikiWeb. (2014). Test Driven Development. Recuperado de: http://wiki.c2.com/?TestDrivenDevelopment

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s