Cómo hacer que tus tests te mantengan enfocado

Al comenzar la charla, destacaré la importancia de tener una test suite rápida apoyándome en lo que nos dice la psicología al respecto, especialmente en cómo afectan a nuestro cerebro las distintas escalas de tiempo para obtener el resultado de algo que hemos hecho (feedback), siendo un feedback-loop corto el adecuado para seguir en el mood y un feedback-loop largo contraproducente para nuestro enfoque.

La charla se centrará en qué malas prácticas debemos evitar, y posteriormente en cómo obtener una test suite sana, haciendo especial hincapié en los tests de aceptación. Para ello, introduciré la arquitectura “Puertos y Adaptadores” y enseñaré cómo aprovecharla para sacarle el máximo partido para nuestra test suite.

Detalles de la propuesta:

Todos lo hemos visto, parece que a la hora de hablar de diseño de software todo se centra en la parte de código de producción. Nombres de métodos que revelan intención, clases cohesivas, poco acoplamiento… pero poco se habla de la aplicación de buenas prácticas y principios en nuestra otra “gran parte del proyecto”: nuestra test suite.

Parece que por alguna razón, cuando de hablar de tests se trata, relajamos todas esas buenas prácticas, principios y búsqueda continua de que todo funcione de forma óptima, algo que con el paso del tiempo, conduce hacía tests de baja calidad (slow feedback-loop, flakiness y fragility).

A diferencia de código de producción, ningún Product Owner se quejará de que los tests van lentos, y tampoco saltará una alerta en slack para indicarnos de que nuestros tests van más lentos de lo debido.

Es a los propios desarrolladores a quienes más influye una test suite en mal estado, siendo la causa principal un feedback-loop lento, que hace que nuestro enfoque sobre lo importante empeore, afectando así en gran medida a nuestra overall Developer Experience por ser algo tan importante de nuestro día a día.

Por todo esto podemos decir que tener una test suite sana es de vital importancia para cualquier proyecto, por ello, en esta charla quiero mostrar:

Cualquier interesado en mantener una test suite sana. Developers, QAs, DevOps

Ponente:

Passionate software developer for building high-quality and human-centred tech. Very interested in testing as a living documentation tool for developers.

Info personal:

Condiciones aceptadas



Volver al índice