Pruebas de aceptación

Una prueba de aceptación es una descripción formal del comportamiento de un producto de software, generalmente expresado como un ejemplo o un escenario de uso. Se han propuesto varias notaciones y enfoques diferentes para tales ejemplos o escenarios. En muchos casos, el objetivo es que sea posible automatizar la ejecución de dichas pruebas mediante una herramienta de software, ya sea ad-hoc para el equipo de desarrollo o disponible en el mercado.

Similar a una prueba unitaria, una prueba de aceptación generalmente tiene un resultado binario, pasa o falla. Una falla sugiere, aunque no prueba, la presencia de un defecto en el producto.

Los equipos maduran en su práctica de pruebas de aceptación de uso ágil como la forma principal de especificación funcional y la única expresión formal de los requisitos del negocio. Otros equipos utilizan las pruebas de aceptación como complemento a los documentos de especificación que contienen casos de uso o más texto narrativo.

También conocido como

Los términos “test funcional”, “test de aceptación” y “test del cliente” se utilizan de forma más o menos intercambiable. También se utiliza un término más específico “prueba de historia”, que se refiere a las historias de los usuarios, como en la frase “desarrollo impulsado por pruebas de historia”.

Beneficios Esperados

Las pruebas de aceptación tienen los siguientes beneficios, que complementan los que se pueden obtener de las pruebas unitarias:

  • fomentar una colaboración más estrecha entre los desarrolladores, por una parte, y los clientes, usuarios o expertos en dominios, por otra, ya que conllevan que se expresen las necesidades de las empresas
  • proporcionar un “contrato” claro e inequívoco entre clientes y desarrolladores; un producto que supere las pruebas de aceptación se considerará adecuado (aunque los clientes y desarrolladores puedan perfeccionar las pruebas existentes o sugerir otras nuevas según sea necesario)
  • Disminuir la posibilidad y la gravedad tanto de nuevos defectos como de regresiones (defectos que afectan a la funcionalidad previamente revisados y declarados aceptables).

Obstáculos comunes

Expresar las pruebas de aceptación de forma excesivamente técnica

Los clientes y los expertos en dominios, la audiencia principal de las pruebas de aceptación, encuentran que las pruebas de aceptación que contienen detalles de implementación son difíciles de revisar y entender. Para evitar que las pruebas de aceptación se preocupen demasiado por la implementación técnica, involucre a los clientes y/o expertos en el dominio en la creación y discusión de las pruebas de aceptación. Vea Desarrollo Impulsado por el Comportamiento para más información.

Las pruebas de aceptación que se centran indebidamente en la implementación técnica también corren el riesgo de fracasar debido a cambios menores o cosméticos que en realidad no tienen ningún impacto en el comportamiento del producto. Por ejemplo, si una prueba de aceptación hace referencia a la etiqueta para un campo de texto, y esa etiqueta cambia, la prueba de aceptación falla aunque el funcionamiento real del producto no se vea afectado.

Costes potenciales

A diferencia de las pruebas unitarias automatizadas, las pruebas de aceptación automatizadas no se consideran universalmente como un beneficio neto y ha surgido cierta controversia después de que expertos como Jim Shore o Brian Marick cuestionaran si los siguientes costos fueron superados por los beneficios de la práctica:

  • muchos equipos informan de que la creación de pruebas de aceptación automatizadas requiere un esfuerzo significativo
    a veces debido al problema de la “fragilidad” de las pruebas, los equipos consideran oneroso el mantenimiento de las pruebas de aceptación automatizadas
  • la primera generación de herramientas de la tradición Fit/FitNesse dio lugar a pruebas de aceptación que los clientes o los expertos en la materia no pudieron comprender.

El enfoque del BDD puede ser prometedor para la resolución de esta controversia.

Deja un comentario

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar