EmergentesEstrategia DigitalQARetail

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

3 Mins de lectura

Conoce cómo podemos crear tu ecosistema de herramientas QA

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!

¿Quieres más información sobre nuestros servicios de QA?

Contacta con nuestro equipo de expertos en QA y Testing

    1 posts

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

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    ¡No te pierdas de nada!

    Te mantenemos al dia de tendencias y novedades sobre el futuro del trabajo, formas de hacer crecer tu negocio, liderazgo digital y muchas cosas más..

    Newsletter