Los criterios de aceptación son una descripción de lo que sería comprobado por una prueba. Dado un requisito como «Como usuario, quiero sacar un libro de la biblioteca», un criterio de aceptación podría ser, «verificar que el libro está marcado como sacado». Una prueba de aceptación para este requisito da los detalles para que la prueba se pueda ejecutar con el mismo efecto cada vez.
Formato de la pruebaEditar
Las pruebas de aceptación suelen seguir esta forma:
Dado (configuración)
Un estado especificado de un sistema
Cuando (desencadenante)
Se produce una acción o evento
Entonces (verificación)
El estado del sistema ha cambiado o se ha producido una salida
Además, es posible añadir Declaraciones que empiecen por Y en cualquiera de las secciones siguientes (Dado, Cuando, Entonces).
Para el requisito de ejemplo, los pasos podrían ser listados como:
Given Book that has not been checked outAnd User who is registered on the systemWhen User checks out a bookThen Book is marked as checked out
Completar la pruebaEditar
Los pasos anteriores no incluyen ningún dato específico de ejemplo, por lo que se añade para completar la prueba:
Dado:
Libro que no ha sido revisado
Libros | |
---|---|
Título | Revisado |
No |
Usuario que está registrado en el sistema
Usuarios | |
---|---|
Nombre | Sam |
Cuando:
El usuario saca un libro
Acción de salida | |||
---|---|---|---|
Usuario | Sam | Saca | Gran libro |
Entonces:
El libro está marcado como retirado
Libros | ||
---|---|---|
Título | Retirado | Usuario |
Grandioso libro | Sí | Sam |
Examen de la pruebaEditar
El examen de la prueba con datos concretos suele llevar a muchas preguntas. Para el ejemplo, éstas podrían ser:
- ¿Qué pasa si el libro ya está retirado?
- ¿Qué pasa si el libro no existe?
- ¿Qué pasa si el usuario no está registrado en el sistema?
- ¿Hay una fecha en la que el libro debe ser revisado?
- ¿Cuántos libros puede sacar un usuario?
Estas preguntas ayudan a iluminar los requisitos faltantes o ambiguos. Se pueden añadir detalles adicionales, como una fecha de vencimiento, al resultado esperado. Otras pruebas de aceptación pueden comprobar que condiciones como intentar sacar un libro que ya está sacado produce el error esperado.
Otro ejemplo de pruebaEditar
Supongamos que el cliente de negocio quería una regla de negocio que un usuario sólo pudiera sacar un libro a la vez. La siguiente prueba demostraría que:
Escenario:Comprobar que se cumple la regla de negocio de checkout
Dado:
Libro que se ha sacado
Libros | ||
---|---|---|
Título | Se ha sacado | Usuario |
Gran libro | Sí | Sam |
Otro gran libro | No |
Nombre
Sam
Cuando:
El usuario saca otro libro
Acción de compra | |||
---|---|---|---|
Usuario | Sam | Saca | Otro gran libro |
Entonces:
Se produce un error
Descripción
Violación de la regla de negocio del checkout
Pruebas de aceptación del proyectoEditar
Además de las pruebas de aceptación de los requisitos, las pruebas de aceptación se pueden utilizar en un proyecto en su conjunto. Por ejemplo, si este requisito formara parte de un proyecto de retirada de libros de la biblioteca, podría haber pruebas de aceptación para todo el proyecto. A menudo se denominan objetivos SMART. Un ejemplo de prueba es «Cuando el nuevo sistema de la biblioteca esté en producción, los usuarios podrán sacar y meter libros tres veces más rápido de lo que lo hacen hoy».