Todos hablan de desarrollo impulsado por pruebas Alguien realmente lo está haciendo

El desarrollo guiado por pruebas (TDD) ha sido adoptado por la clase de desarrolladores en redes sociales y paneles de conferencias de tecnología durante varios años como una "mejor práctica" del desarrollo ágil. Pero, en una conversación con Mathew Lodge, CEO de Diffblue, antiguo SVP de la empresa Anaconda, comencé a preguntarme si todo ese parloteo se está convirtiendo en acción.

Diffblue utiliza inteligencia artificial para automatizar la escritura de pruebas unitarias en Java. En un mundo perfecto, Diffblue’s Cover, disponible para probar de forma gratuita, se usaría para complementar el TDD, pero no vivimos en este mundo perfecto. Permíteme explicar por qué.

Teoría y práctica de las pruebas

El TDD suena genial: En teoría. En su forma más pura, los desarrolladores escriben primero una prueba diseñada para fallar y luego escriben el código. La idea es que las pruebas sean la expresión de lo que el código debe hacer y luego escribir el código para que pase las pruebas.

Esto generalmente será un proceso iterativo, comenzando con requisitos mínimos, escribiendo pruebas, escribiendo código y luego expandiendo y refinando gradualmente los requisitos en las pruebas y el código en pequeños pasos, refactorizando el código a medida que se descubren nuevos modos de falla o se requieren nuevas características.

En el mundo real, nadie escribe una descripción completa y detallada de lo que el código debe hacer, según Lodge. Por definición, la informática ágil se trata de la iteración, mejoras incrementales y frecuentes al código para lograr un resultado deseado. Debido a que, en general, nadie sabe exactamente cómo quiere que se comporte el código de antemano, los desarrolladores astutos escriben pruebas antes de comprometerse con la integración continua y los flujos de entrega continua como CircleCI, GoCD o Travis CI.

Además, el desarrollador no sabe cuál es la API de esa cosa porque aún no la ha escrito. La implementación informa a la API y todos los desarrolladores saben lo difícil que es conseguir la API correcta la primera vez. ¿Entonces cómo escribe el desarrollador las pruebas primero?

Los 5 mejores paquetes de entrenamiento en lenguajes de programación

No es muy diferente de las herramientas emergentes de generación de código con IA como Co-Pilot. Al principio, las personas se asombran al ver cómo escribe código utilizable, casi mágicamente. Pero cuando se trata de producción, los mejores practicantes podrían obtener el 30% del código creado por Co-Pilot, mientras que la mayoría aún debe ser escrito manualmente. ¿Por qué? Nadie puede describir completamente y precisamente cualquier software complicado que quiera de antemano.

Pero, en este caso, eso es una mejora para los desarrolladores, y una sustancial. Solo porque Co-Pilot no puede generar el 100% del código final no significa que haya fallado. Es progreso: Cualquier cosa que libere más tiempo de los desarrolladores es algo bueno.

Pero, nuevamente, al hablar con Lodge, parece que el TDD no se mantiene en esta prueba básica. Para el código inicial, a veces puede tener sentido. Pero es muy difícil de abrazar como una mejor práctica universal en entornos reales de producción.

Diffblue descubrió este pequeño secreto sucio en una encuesta no relacionada a los desarrolladores empresariales en 2020, según Lodge.

Aunque el TDD es popular, pocos equipos lo practican: Una encuesta realizada a desarrolladores y publicada en septiembre de 2020 encontró que, aunque el 41% de los encuestados afirmó que sus organizaciones han adoptado completamente el TDD, solo el 8% dijo que escribe pruebas antes del código al menos el 80% del tiempo, que es la definición de TDD.

Dada la opción de escribir pruebas o código primero, parece que los desarrolladores casi siempre se inclinarán hacia este último, sin importar lo que digan los mejores practicantes. Los desarrolladores son personas encantadoras a las que les gusta discutir y defender sus propias causas favoritas, pero al final, los mejores desarrolladores son prácticos. Prefieren terminar las cosas. El TDD no está muerto, pero quizás no está tan "vivo" como a veces pensamos.

Python: El lenguaje de programación más popular y versátil

Divulgación: Trabajo para MongoDB, pero las opiniones expresadas aquí son mías.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Todos hablan de desarrollo impulsado por pruebas Alguien realmente lo está haciendo , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.