el TDD significa desarrollo guiado por pruebas. se trata de el desarrollo de aplicaciones pensando primero en las pruebas y implementando el codigo para que estas se cumplan. involucra principalmente 2 practicas el software testing y el refactoring.
- Elegir un requisito: Se elige de una lista el requerimiento que se cree que nos dará mayor conocimiento del problema y que a la vez sea fácilmente implementable.
- Escribir una prueba: Se comienza escribiendo una prueba para el requisito. Para ello el programador debe entender claramente las especificaciones y los requisitos de la funcionalidad que está por implementar.
- Verificar que la prueba falla: Si la prueba no falla es porque el requerimiento ya estaba implementado o porque la prueba es errónea.
- Escribir la implementación: Escribir el código más sencillo que haga que la prueba funcione. Se usa la metáfora "Déjelo simple" ("Keep It Simple, Stupid" (KISS)).
- Ejecutar las pruebas automatizadas: Verificar si todo el conjunto de pruebas funciona correctamente.
- Eliminación de duplicación: El paso final es la refactorización, que se utilizará principalmente para eliminar código duplicado. Se hacen de a una vez un pequeño cambio y luego se corren las pruebas hasta que funcionen.
- Actualización de la lista de requisitos: Se actualiza la lista de requisitos tachando el requisito implementado.
public void testSuma() {
assertEquals(5, Matematicas.suma(2,3));
}
assertEquals(5, Matematicas.suma(2,3));
}
el test fallara porque falta la libreria Matematicas por tanto se desarrolla de tal manera que la prueba se cumpla:
public class Matematicas {
public static int suma (int a, int b) {
return 5;
}
}
public static int suma (int a, int b) {
return 5;
}
}
este codigo cumple con la prueba pero se debe rehacer para que el codigo funcione para cualquier caso:
public class Matematicas {
public static int suma (int a, int b) {
return a+b;
}
}
public static int suma (int a, int b) {
return a+b;
}
}
luego se elige el siguiente requerimiento y repetir el ciclo.
TDD es parte de las metodologias agiles. permite dividir tareas por tanto se integra muy bien con kanban.
TDD es parte de las metodologias agiles. permite dividir tareas por tanto se integra muy bien con kanban.
No hay comentarios:
Publicar un comentario