Soy relativamente nuevo en los criterios de aceptación en formato GWT, y me cuesta escribirlos para las funciones que implican la revisión de contenido. Por ejemplo: el usuario está en la página de inicio del sitio web de comercio electrónico y revisa los artículos que se venden en ese sitio web.
Mi historia de usuario se ve así: Como usuario, quiero ver los productos disponibles para poder encontrar el que quiero comprar. Pero, ¿qué pasa con los criterios de aceptación? Se me ocurrió la parte "Dado" (Dado que he navegado a la página de inicio del sistema) y la parte "Entonces" (Entonces puedo ver los productos disponibles); sin embargo, "Cuándo" es un misterio para a mí. ¿Cuál es ese disparador que mueve al usuario de "Dado" a "Entonces"? ¿Quizás estoy totalmente equivocado con las partes "Dado"/"Entonces"?
Intenté buscar eso en Google, pero parece que mis solicitudes son torpes o no es un gran problema para todos los demás.
Gracias de antemano y disculpa si se ha publicado antes :)
Se topó con el principal problema del formato GWT: es demasiado detallado. Especialmente para requisitos simples. Si realmente quieres seguir con este formato, aquí tienes una posibilidad:
Given products are registered by administrator
When user navigates to home page
Then he sees recently added products
Si se le permite ser creativo, también puede tomar atajos y deshacerse del paso dado:
When user navigates to home page
Then he sees recently registered products
Given
es lo que los evaluadores llamarían una condición previa, no es obligatorio.
Deberíamos comenzar con esto: los criterios de aceptación no necesitan estar en el formato GWT.
GWT, como parte del desarrollo impulsado por el comportamiento, estaba destinado específicamente a describir el comportamiento esperado. Algunos ejemplos claros de dónde GWT encaja perfectamente podrían ser:
Given I am logged in as an authorized user
And I have a list of products
When I delete a product
Then the product is no longer in the list
Given I am not logged in as a permission-limited user
And I have a list of products
When I delete a product
Then the product is still in the list
And the operation fails with an error "X"
Sin embargo, si solo estamos hablando de algo como la presentación de datos, una lista con viñetas de los campos esperados o una imagen de un boceto de pizarra probablemente sea mucho mejor.
La idea con Given-When-Then es que divida sus criterios de aceptación en pequeñas partes que luego se pueden ejecutar. Eso significa una acción (cuando) y un resultado esperado (entonces). Estas acciones y controles se realizan en un contexto (dado). En su caso, en realidad le falta el contexto porque está cargando la página de inicio.
Su prueba de aceptación debe ser algo como:
CUANDO cargue la página de inicio
ENTONCES debería ver los artículos que se venden
Consulte las explicaciones sobre esta pregunta similar: Dado cuándo, luego, prueba: ¿NECESITO un "cuándo"?
Stanislav Bashkirtsev
Daniel
Daniel
Stanislav Bashkirtsev