Prácticamente se crean y prueban casos de prueba para cada característica antes de lanzar el software, y si la prueba falla, se escribe (o se reescribe o se repara) un nuevo código para pasar la prueba y hacer que el código sea simple y sin errores.
Test Driven Development (TDD) comienza con el diseño y desarrollo de pruebas para cada pequeña característica de una aplicación. El marco TDD indica a los desarrolladores que escriban código nuevo solo si una prueba automatizada ha fallado. Este enfoque evita la duplicación de código. El módulo TDD completo es un desarrollo basado en pruebas.
Test Driven Development (TDD) se originó como parte de un paradigma de diseño de software más amplio conocido como Programación Extrema (XP), que es parte de la metodología de desarrollo de software Agile.
El concepto simple de TDD es escribir y corregir pruebas fallidas antes de escribir código nuevo (antes del desarrollo). Esto ayuda a evitar la duplicación de código ya que escribimos una pequeña cantidad de código a la vez para pasar las pruebas. (Las pruebas no son más que condiciones de requisitos que tenemos que probar para satisfacerlas).
El desarrollo basado en pruebas es un proceso de desarrollo y ejecución de pruebas automatizadas antes del desarrollo real de la aplicación. Por lo tanto, TDD también se llama a veces Test First Development.
Antes de escribir cualquier código nuevo, el programador primero debe crear una prueba de unidad fallida. Luego, el programador, o la pareja, o la mafia, crea el código suficiente para satisfacer ese requisito. Una vez que pasa la prueba, el programador puede refactorizar el proyecto, realizando mejoras sin cambiar el comportamiento.
Si bien TDD se enfoca en las interacciones del programador a nivel de unidad, existen otros métodos populares, como el desarrollo basado en pruebas de aceptación (ATDD) o el desarrollo basado en el comportamiento (BDD), que se enfocan en pruebas que los clientes pueden entender.
Estos métodos implican la creación de ejemplos del mundo real como pruebas colaborativas entre el personal de ingeniería y el cliente antes de la codificación, y luego ejecutar las pruebas después de la codificación para demostrar que se implementa el código. Tener las pruebas conocidas de antemano mejora la calidad de la primera vez. ATDD y BDD requieren que los desarrolladores, evaluadores y el lado comercial trabajen juntos para imaginar y discutir el software y sus implicaciones antes de crear el código.
El desarrollo basado en pruebas puede producir aplicaciones de alta calidad en menos tiempo que con los métodos más antiguos. La implementación exitosa de TDD requiere que los desarrolladores y evaluadores anticipen con precisión cómo se usará la aplicación y su funcionalidad en el mundo real.
TDD construye un conjunto de pruebas de regresión como un efecto secundario que puede minimizar las pruebas manuales humanas, encontrando problemas antes, lo que lleva a soluciones más rápidas. La naturaleza metódica de TDD garantiza una cobertura y una calidad mucho más altas a la primera que los clásicos ciclos de código en fases > probar > corregir > volver a probar. Debido a que las pruebas se realizan al principio del ciclo de diseño, se minimiza el tiempo y el dinero gastados en la depuración posterior.
Beneficios esperados:
TDD requiere una habilidad considerable para tener éxito, especialmente a nivel de unidad. Muchos sistemas heredados simplemente no se construyen teniendo en cuenta las pruebas unitarias, lo que hace imposible aislar los componentes para las pruebas.
Además, muchos programadores carecen de las habilidades para aislar y crear código limpio. Todos los miembros del equipo deben crear y mantener pruebas unitarias o se volverán obsoletas rápidamente. Y una organización que busca TDD tendrá que invertir tiempo, disminuir un poco la velocidad ahora para ir más rápido más adelante.
Finalmente, como con cualquier método, los resultados finales de TDD son tan buenos como las pruebas que se utilizaron, la precisión con la que se realizaron y la medida en que imitan las condiciones encontradas por los usuarios del producto final.
Errores comunes:
TDD permite al programador dar pequeños pasos al escribir software. La prueba se escribe antes de probar la funcionalidad y garantiza que la aplicación sea adecuada para la comprobación. Se realizan pruebas en una pequeña cantidad de código para detectar errores que ocurren en el código probado. Luego se implementa la funcionalidad. Esto se conoce como un "refactor rojo verde", donde el rojo significa falla y el verde muestra aprobación. Luego se repiten estos pasos. El primer objetivo de un programador es concentrarse en la tarea en cuestión y superarla.
Ercole Palmeri
Microsoft Excel es la herramienta de referencia para el análisis de datos, porque ofrece muchas funciones para organizar conjuntos de datos,…
Walliance, SIM y plataforma líder en Europa en el campo del Crowdfunding Inmobiliario desde 2017, anuncia la finalización…
Filament es un marco de desarrollo "acelerado" de Laravel que proporciona varios componentes completos. Está diseñado para simplificar el proceso de...
«Debo volver para completar mi evolución: me proyectaré dentro del ordenador y me convertiré en energía pura. Una vez instalado…
Google DeepMind presenta una versión mejorada de su modelo de inteligencia artificial. El nuevo modelo mejorado proporciona no sólo...
Laravel, famoso por su sintaxis elegante y potentes funciones, también proporciona una base sólida para la arquitectura modular. Allá…
Cisco y Splunk están ayudando a los clientes a acelerar su viaje hacia el Centro de Operaciones de Seguridad (SOC) del futuro con...
El ransomware ha dominado las noticias durante los últimos dos años. La mayoría de la gente sabe muy bien que los ataques...