Estrategias de testing aplicadas a negocio
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..
¿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'.
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..
Si tienes mucha experiencia implementando el Desarrollo Guiado por Pruebas (TDD), tu plan de aprendizaje debería centrarse en profundizar tu..
Para un desarrollador con un nivel intermedio en Desarrollo Guiado por Pruebas (TDD), el objetivo es profundizar en la comprensión de los..
Suscríbete a nuestra newsletter para que podamos hacerte llegar recomendaciones de expertos y casos prácticos inspiradores