¿El TDD realmente ralentiza mi proceso de desarrollo?
El desarrollo de software es un mundo lleno de metodologías y enfoques, pero pocos han generado tanto debate como el Test Driven Development (TDD). ..
¿Alguna vez te has encontrado con un código en producción del que no tienes contexto alguno? Ya sea porque se trata de un proyecto legacy, carece de documentación o simplemente no se realizó ningún test sobre él. En situaciones como estas, los Characterisation Tests pueden ser la solución que necesitas.
En un encuentro reciente, Kristian Muñoz, Senior Software Craftsperson en Codurance, explica en qué consisten estos tests y cómo pueden ayudar a comprender y modificar código sin contexto.
Los test de caracterización o, también conocidos como tests de comportamiento, son pruebas diseñadas específicamente para verificar y comprender las características y el comportamiento real de un código. En este sentido, nos permiten profundizar y comprender en detalle cómo se comporta una base de código en diversas situaciones.
¿Esto qué significa? Que en aquellos momentos donde trabajamos a ciegas, los characterisation tests son capaces de proporcionarnos una visión objetiva del código y extraer información para poder realizar cambios, añadir nuevas características o realizar refactorizaciones sin temor de alterarlo indebidamente.
De manera resumida, los characterisation tests nos permiten abordar este problema de forma sistemática de la siguiente manera:
La idea es tomar estos pasos y repetirlos continuamente hasta lograr modificar el código de forma segura. Es decir, a través de este proceso iterativo, vas extrayendo información sobre el comportamiento del código y vas ajustando las pruebas hasta lograr una cobertura adecuada. Eso si, asegurate de dar a los tests un nombre representativo del comportamiento que verifica. De esta manera, los tests no solo te estarán ayudando a comprender el código existente, sino que también te serán útiles para documentarlo y respaldar las decisiones de cambio.
Para implementar estos tests, es posible que se necesite preparar el sistema, especialmente si no es fácilmente testeable. Sin embargo, su utilidad radica en su capacidad para proporcionar una red de seguridad al comprender el comportamiento del código, incluso en sistemas complejos o con limitaciones para exponer su estado interno.
Los tests de caracterización representan una técnica invaluable para comprender, modificar y validar código sin contexto. Si te encuentras trabajando en un proyecto legado o enfrentando código difícil de entender, considera utilizar esta técnica para obtener una mayor comprensión y confianza en tu trabajo. Aquí te invitamos a resolver algunos ejercicios que te permitirán poner en práctica esta teoría:
Para conocer cómo los resolveríamos en Codurance te recomendamos ver nuestro vídeo: 'Characterisation tests: Qué son y cómo utilizarlos'.
El desarrollo de software es un mundo lleno de metodologías y enfoques, pero pocos han generado tanto debate como el Test Driven Development (TDD). ..
En nuestro más reciente Codurance Talks, tuvimos la oportunidad de contar con un invitado exclusivo: Rubén Mejías, CTO de SCRM, el Hub Internacional..
Cuando se trata de desarrollar software, el testing es una pieza fundamental que garantiza la calidad y la confiabilidad de un producto y puede tener..
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores