DigitalNext TechRetail

TDD: Todo lo que necesitas saber de esta metodología en 3 minutos

3 Mins de lectura

Cada cosa tiene su momento. Es por esto que en el mundo del desarrollo software existen diferentes metodologías de trabajo para definir la estrategia y el método a seguir para llevar a cabo un proyecto.

Existen diversas metodologías de desarrollo, cada una de ellas define una serie de prácticas con las cueles fortalecer ciertos aspectos en el proyecto. Existen prácticas que se pueden aplicar de forma combinada, al igual que hay algunas que simplemente no se puedan aplicar dada la naturaleza de un proyecto.

Para saber cuál (o cuáles) aplicar en un proyecto, es necesario conocer al menos las más habituales, en este artículo vas a leer sobre una de ellas, el Test Driven Development (TDD).

¿Qué es el TDD o Test Driven Development? 

El Test Driven Development (TDD) o “Desarrollo guiado por pruebas” se basa en traducir los requisitos del software en casos de testing, para poder primero escribir sus test, luego realizar la implementación necesaria para que estos test pasen, y finalmente refactorizar el código escrito.

De esta forma, se crea un ciclo llamado red, green, refactor.

 

En la fase red (roja), se escriben los test que cubren los casos de prueba (provenientes de un requisito). Estos test por norma general van fallar, ya que no existe todavía la implementación necesaria. Cuando un test falla, este se ve de color rojo, de allí esta fase.

En la fase green (verde), se escribe código con el único objetivo de pasar los test (pasar del color rojo del test fallido, al verde del test aprobado). Durante esta fase no se van a tener en cuenta las buenas prácticas a la hora de desarrollar código, lo importante (por ahora) en es pasar los test.

En la fase de refactor, se va a revisar el código escrito para que cumpla con las buenas prácticas del código. Se podría decir que es pasar a limpio el código realizado en la fase anterior. En esta fase se juega con la ventaja de que con cualquier modificación que se realice al código, se puede comprobar si se siguen pasando los test o no.

Evita malas prácticas 

Aplicar TDD implica un cambio de filosofía. De forma habitual los test se escriben una vez realizada la implementación con el objetivo de encontrar bugs. Sin embargo, con TDD los test se escriben antes, por lo que los test se escriben para prevenir bugs.

Cuando se escriben primero los test, posteriormente en la etapa de la implementación, el desarrollador tiene una mejor visión del problema, ya que tiene en mente los escenarios en los que se va a probar su código.

Si bien el TDD es un proceso que debe ser llevado a cabo por un desarrollador, la presencia de un analista QA es fundamental, con la idea de que se valide todo lo realizado hasta el momento. El TDD forma parte de los procesos de trabajo de Quality Assurance mediante sus testeos y diferentes pruebas.

Antes de aplicar TDD 

Para poder aplicar TDD, se deben describir correctamente las historias de usuario. Los requisitos deben quedar claros, y a partir de estos formar los casos de prueba que espera el cliente. Si no se realiza correctamente la traducción de requisito a caso de prueba, aplicar TDD va a ser un desastre.

Un punto importante y extensible a cualquier proyecto y metodología, es que los requisitos los debe definir el cliente. Es el cliente quien decide el comportamiento de su producto. Si corremos el riesgo de asumir requisitos, es muy probable que estos no estén en sintonía con los del cliente.

¿Por qué TDD? 

  1. Todo queda probado. Haciendo los test primero, se evita que se dejen para el final, se olviden casos de prueba, o se recorten por falta de tiempo.
  2. Cliente satisfecho. Los test a cumplir se basan en los casos de uso, extraídos de los requisitos acordados con el cliente.
  3. Mejor código. Tener definida una etapa de refactorización obliga a que el código escrito sea revisado y mejorado siempre.
  4. Evita desarrollo innecesario. El código que se escribe se hace con el objetivo de pasar un test, y este test ha sido escrito para comprobar un caso de uso, basado en un requisito del cliente. Por lo que siempre es necesario.

 

En Hiberus Tecnología contamos con un amplio equipo de expertos en QA Services & Testing. Sus más de ocho años de experiencia en el sector, junto a su certificación ISTQB hacen de este equipo una apuesta segura dentro de nuestras tecnologías diferenciales. Confía en nosotros. ¡Te ayudaremos en todo lo que necesites!

1 posts

Sobre el autor
Desarrollador de backend experto en microservicios.
Artículos

DESARROLLAMOS PROYECTOS EN LAS TECNOLOGÍAS MÁS AVANZADAS

Hoy en día el ritmo de avance tecnológico no tiene precedentes y la innovación tecnológica puede ser un valor diferencial a cualquier negocio.
La especialización forma parte de nuestro ADN y nos permite conocer la tecnología más innovadora y eficaz del mercado para dar el mejor servicio a nuestros clientes.

¿Te ayudamos?

Artículos relacionados
Digital

¿Qué es el lead scoring y cómo funciona?

4 Mins de lectura
Un error frecuente en los proyectos digitales es mantener una larga lista de contactos con el propósito de conseguir conversiones por igual….
DigitalNext Tech

Tipos de pruebas de software según la Pirámide de Cohn

4 Mins de lectura
Las pruebas son una parte integral del ciclo de vida del desarrollo de software (Software Development Lifecycle) y son la forma de…
Next Tech

Cómo aplicar las variables de ODI en el procesamiento de ficheros

6 Mins de lectura
Las variables de ODI (Oracle Data Integrator) se utilizan para manejar parámetros ETL (extracción, carga y transformación). Se trata de una característica muy…

Deja una respuesta

Tu dirección de correo electrónico no será publicada.