En ingeniería de software , el desarrollo guiado por pruebas , o desarrollo guiado por errores , es un antipatrón en el que los requisitos se determinan mediante informes de errores o resultados de pruebas , en lugar de, por ejemplo, el valor o el coste de una funcionalidad . Este concepto suele utilizarse de forma jocosa y conlleva la implicación de que los programadores escriben grandes volúmenes de código informático sin tener en cuenta las pruebas unitarias .
El término en sí es una referencia irónica al desarrollo guiado por pruebas ( TDD ), una metodología ampliamente utilizada en las prácticas de software ágil . En el DDD, las pruebas se utilizan para guiar la implementación hacia el cumplimiento de los requisitos. El desarrollo guiado por pruebas (TDD), en cambio, acorta el proceso al eliminar la determinación de los requisitos y permitir que los evaluadores (o el equipo de control de calidad ) guíen lo que creen que debería ser el software a través del proceso de pruebas (o control de calidad). [ 1 ]
Los proyectos que se desarrollan utilizando este antipatrón a menudo sufren de retrasos extremos. Otro problema común es la mala calidad del código .
Las causas comunes por las que los proyectos terminan gestionándose de esta manera suelen ser:
- La fase de pruebas comenzó demasiado pronto;
- Requisitos incompletos;
- Evaluadores sin experiencia;
- Desarrolladores sin experiencia;
- Mala gestión del proyecto .
La situación empeora cuando los evaluadores se dan cuenta de que desconocen los requisitos y, por lo tanto, no saben cómo probar los cambios de código específicos. La responsabilidad recae entonces en los desarrolladores de cada cambio, quienes deben escribir sus propios casos de prueba, algo que hacen con gusto, ya que sus pruebas suelen pasar y sus indicadores de rendimiento mejoran. Los líderes de proyecto también se alegran de la rápida reducción en el número de solicitudes de cambio pendientes.
Véase también
- Programación extrema
- Prácticas de programación extrema
- Crecimiento de funcionalidades
- Gestión de requisitos
- Prototipado de software : creación de prototipos de aplicaciones de software para obtener comentarios de los usuarios en las primeras etapas de un proyecto.
Referencias
- proceso de desarrollo de software
- Antipatrones
- Esbozos de ingeniería de software