Agustín Ventura
agustinventura.bsky.social
Agustín Ventura
@agustinventura.bsky.social
Mostly here for Java and Cloud related things.
Sometimes I write things (in spanish!!) in www.agustinventura.dev
Y en Movistar+ para el que no tenga filmin :)
November 3, 2025 at 8:55 PM
Y donarlos a alguna asociación? (De la que tengas buenas referencias)
November 3, 2025 at 1:45 PM
Dejamos de tener documentación _sobre_ el sistema para tener documentación _que es_ el sistema.
¿Qué te parece este uso de BDD? https://go.agustinventura.dev/cucumber-living-docs

#Java #SpringBoot #Cucumber #Gherkin #Gradle #BDD #Testing #SoftwareDevelopment
De la Historia de Usuario a la Documentación Viva con Cucumber | Agustín Ventura
Ya hemos visto en otro post mi propuesta para tener una documentación ligera del proyecto que se mantenga actualizada y sea realmente útil (spoiler: reduciéndola al máximo), sin embargo era documentación más bien técnica, dirigida al equipo o a posibles colaboradores. Es cierto que tenemos un README en el que especificamos que hace la aplicación (o servicio o como queramos decirle), pero… ¿cómo podemos mantener viva la documentación sobre QUÉ es lo que hace el proyecto detalladamente? ¿No sería genial si esta documentación fuera ejecutable y verificable? De esa manera nos podríamos asegurar siempre de que no rompemos nada y que la funcionalidad más importante de la aplicación sigue funcionando. De la misma manera que para la documentación técnica trato de mantener un enfoque práctico y minimalista, creo que para esta documentación de funcionalidad (o comportamiento) debemos hacer lo mismo. Cuántos más artefactos superfluos tengamos (larguísimos documentos de requisitos, especificaciones de usuarios…) peor, mayor sería la entropía acumulada. Entonces, ¿cómo podemos recoger esta información? Una aproximación son las historias de usuario.
go.agustinventura.dev
November 2, 2025 at 8:30 AM
En el post lo monto en un proyecto Spring Boot:
- Creamos un módulo `:acceptance-tests` en Gradle.
- Configuramos JUnit, Cucumber y Spring.
- Implementamos los 'Steps' en Java para que prueben una API REST.
Y listo, las historias de usuario pasan a estar sincronizadas con la aplicación.
November 2, 2025 at 8:30 AM
Una historia de usuario pasa de ser texto en un ticket a ser ESTO.
Legible por un humano, ejecutable por una máquina. Acabamos de crear Documentación Viva 🤯.
November 2, 2025 at 8:30 AM
Pero... tenemos BDD (Behavior Driven Development)!!!
Podemos definir el comportamiento del sistema con un lenguaje (Gherkin) que es casi natural y que también es código (ejecutable).
Colaboras con negocio para escribirlas (están vivas) y se ejecutan como tests.
November 2, 2025 at 8:30 AM
Usamos historias de usuario, pero tienen un problema: son estáticas. Cuando los requisitos (y el código) cambian, la historia original en se queda atrás.
Dependemos de mantenerlas actualizadas manualmente y nunca estamos seguros de si reflejan el estado actual de la aplicación.
November 2, 2025 at 8:30 AM
Yo creo que esto da una idea de lo mal que está la profesión, porque los métodos formales son aún más antiguos
October 20, 2025 at 7:51 PM
Nos la vimos de una sentada el domingo 🤣
October 14, 2025 at 3:20 PM
Yo de cuaderno llevo como diez años usando Leuchturm 1917 y de pluma Parker Sonnet.
October 11, 2025 at 8:10 PM
Masterpiece crafted from masterpieces in their own as the OST, script, mechanics and graphics
October 11, 2025 at 7:02 AM
Me lo apunto, que precisamente ahora estoy escribiendo sobre Cucumber, más desde un punto de vista técnico, pero haré hincapié en lo que comentas. Y ya que estamos lo enlazaré.
September 22, 2025 at 1:34 PM
A ver Mario que no eres rico porque no quieres ;P
September 19, 2025 at 7:57 AM
Me han encantado las diapositivas, llevo años intuyéndolo y diciéndolo pero nunca lo había visto tan bien razonado y justificado.
Mil gracias ❤️
September 19, 2025 at 6:42 AM
Y turrón de suchard en el CashFresh
September 18, 2025 at 4:23 PM
En mi época de EM de un equipo de sistemas clasificábamos entre producción externa (usuario final, numero potencial de usuarios desconocidos) y producción interna (equipos de producto). Me alegra saber que tenía sentido.
September 15, 2025 at 11:32 AM