Cuál es el razonamiento o el requerimiento que lleva a alguien a usar Cucumber?
--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rubysur+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.
Para anular tu suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje a rubysur+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Cuál es el razonamiento o el requerimiento que lleva a alguien a usar Cucumber?
Cuál es el razonamiento o el requerimiento que lleva a alguien a usar Cucumber?
--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rubysur+u...@googlegroups.com.Para obtener más opciones, visita https://groups.google.com/d/optout.
Cuál es el razonamiento o el requerimiento que lleva a alguien a usar Cucumber?
--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rubysur+u...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.
Ojo que creo que nos estamos escapando un poco del scope de la pregunta.
Matias: no estas exactamente defendiendo cucumber sino defendiendo BDD en general - con lo que estoy de acuerdo, pero BDD (y TDD) son independientes del framework de testing que uses, se puede hacer con rspec o cutest o lo que venga en gana.
En mi experiencia personal cucumber como framework no agrega nada a lo que me da cualquier otro framework de testing y en el afan de querer ser usable por gente no tecnica arma todo un DSL que agrega tremenda complejidad al stack de tests. Dado que nadie no tecnico lo termina usando el tradeoff termina siendo siempre uno muy malo: mucha complejidad agregada cuando la gente que termina leyendo los tests se siente mas comoda leyendo codigo.
El motivo para introducirlo ha sido invariablemente la colaboracion con los clientes. No conozco casos de exito sobre esto.
Para anular tu suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje a rubysur+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Para anular tu suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje a rubysur+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Gracias por las respuestas, les contesto a todos.
El tema de que el cliente nunca escribe tests lo sospechaba.
Creo que hay dos aspectos para destacar:
- Las ventajas de contar con cierta estructura (Given, When, Then)
- Las ventajas del lenguaje natural
Lo del lenguaje natural tiene algunas contras, como dijo Ernesto.
Sobre todo para programadores, porque llevado al extremo es como
tener que escribir "Add two to the variable foo" en vez de foo +=
2.
Es decir, por lo general esa economía es bienvenida (mientras
sea clara la intención).
Entonces me parece que lo que más valor aporta es la estructura,
el hecho de estar obligado a describir las condiciones en cierto
orden. Es así?
--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
La facilidad para mantener en un mismo archivo la historia de usuario (narrativa) y sus escenarios (criterios de aceptación).
--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular tu suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje a rubysur+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Me parece que salvo la posibilidad de traducir el behaviour a varios idiomas, cucumber no ofrece nada distinto a otros frameworks para hacer testing.
No conozco casos de users/clientes/gente afuera del equipo de desarrollo en un proyecto que escriban tests, ni de developers que capitalicen tener la suite escrita en Gherkin.
Si alguien puede compartir casos en los que usen el output que produce Cucumber de una manera que genere más beneficios que el formato ‘doc’ de rspec por ejemplo, me gustaría leerlos. Programar tests usando expresiones regulares esta mal. Mal.
<troll-ish>
Después, leo que muchos destacan el lenguaje natural, o que Cucumber es un shortcut para documentar la aplicación. Me parece que Cucumber es mediocre para documentar, y que el tiempo que se pasa escribiendo en cucumber, se puede invertir mejor en una wiki. Escribiendo lenguaje natural. Que cuente cómo funciona el negocio, y qué partes del código llevan eso adelante.
También se puede usar lenguaje natural en la herramienta que elijan para trackear user stories. O en un cuaderno, o una presentación para el cliente. O charlando. Incluso en un pizarrón. El código es código.
</troll-ish>
--
L
> Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a rubysur+u...@googlegroups.com (mailto:rubysur+u...@googlegroups.com).
On Tuesday, March 18, 2014 at 6:41 PM, Michel Martens wrote:
> Cuál es el razonamiento o el requerimiento que lleva a alguien a usar Cucumber?
>
> --
> Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un mensaje de correo a rubysur+u...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
Has recibido este mensaje porque estás suscrito al grupo "rubysur" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a rubysur+u...@googlegroups.com.
Hola gente,Muy interesante la discusion. Hoy me encontré con un post que habla de Cucumber como ejemplo de cargo cult programming, un aspecto a evaluar a la hora de decidir si usarlo en nuestro proyecto o no.
--