Mejorar la legibilidad de informes
El objetivo de Allure es ayudarte a entender los informes de prueba lo más fácilmente. Idealmente, cuando tu colega vea una falla de prueba en el informe, queremos que entienda rápidamente el contexto: cuán grave puede ser el problema, qué características se ven afectadas por él y quién puede ayudarles a investigarlo más a fondo y eventualmente solucionarlo.
Aunque a veces la existencia de la falla en sí misma es suficiente para hacer algunas conclusiones, no siempre es el caso. Y aunque el contexto parezca obvio en el momento de escribir la prueba, los detalles pueden olvidarse cuando falle después de algunos años de trabajo estable.
Por esa razón, es una buena práctica llenar las pruebas con información adicional, describiendo todo lo que un futuro lector pueda necesitar.
Con el adaptador de Allure para tu framework de prueba, puedes:
- proporcionar descripción, enlaces y otros metadatos;
- describir parámetros utilizados al ejecutar pruebas parametrizadas;
- proporcionar información ambiental para todo el informe de prueba.
Algunos adaptadores de Allure pueden soportar características adicionales, consulta su documentación respectiva.
Descripción, enlaces y otros metadatos
Puedes asignar algunos campos que ayudarán al lector de informe a entender lo que hace una prueba.
Título
Un título legible por humanos de la prueba.
Si no se proporciona, se usa el nombre de la función en su lugar.
Descripción
Un texto arbitrario que describe la prueba con más detalles de lo que el título podría contener.
Si no se proporciona, algunos adaptadores de Allure pueden extraer automáticamente la descripción de los comentarios de documentación nativos del lenguaje de programación. Consulta la documentación específica del adaptador de Allure para más detalles.
La descripción se tratará como un texto en Markdown, por lo que puedes usar algo de formato básico en ella. No se permiten etiquetas HTML en este tipo de texto y se eliminarán al generar el informe.
INFO
Allure Report tiene soporte interno para descripciones en formato HTML, y algunos adaptadores pueden proporcionar funciones para usarlo. Pero hay que recordar que hacerlo no es seguro y puede romper el diseño del informe de prueba o incluso crear un vector de ataque XSS para tu organización.
Tags
Cualquier número de términos cortos relacionados con la prueba. Por lo general, es una buena idea enumerar las características relevantes que se están probando.
Severidad
Un valor que indica cuán importante es la prueba. Esto puede dar una idea al futuro lector sobre cómo priorizar las investigaciones de diferentes fallos de prueba.
Los valores permitidos son: “trivial”, “minor”, “normal”, “critical”, y “blocker”.
Propietario
El miembro del equipo responsable de la estabilidad de la prueba. Por ejemplo, esto puede ser el autor de la prueba, el desarrollador principal de la característica que se está probando.
Enlaces
Lista de enlaces a páginas web que pueden ser útiles para un lector que investigue un fallo en la prueba. Puedes proporcionar tantos enlaces como sea necesario.
Existen tres tipos de enlaces:
- un enlace web estándar, por ejemplo, un enlace a la descripción de la característica que se está probando;
- un enlace a un problema en el rastreador de problemas del producto;
- un enlace a la descripción de la prueba en un sistema de gestión de pruebas (TMS).
Se recomienda configurar el adaptador Allure de manera que acepte identificadores cortos de problemas y enlaces de TMS, y use plantillas de URL para generar URLs completas. Por ejemplo, un identificador BUG-123
puede convertirse automáticamente en https://bugs.example.com/BUG-123
. Puedes definir tus propios tipos de enlaces con sus propias plantillas de URL. Consulta la documentación específica del adaptador Allure para más detalles.
ID
Identificador único de la prueba.
El ID puede ser utilizado por herramientas adicionales como Allure TestOps.
Otros metadatos
Adicionales pares clave-valor que pueden ser utilizadas por herramientas externos como Allure TestOps.
Pruebas parametrizadas
A veces quieres ejecutar la misma prueba múltiples veces, cada una con un conjunto diferente de valores. Por ejemplo, puedes querer asegurarte de que el comportamiento del sistema no cambie si una cadena de caracteres está vacía o no. El patrón para escribir pruebas con lógica común pero valores diferentes se llama pruebas parametrizadas.
La forma recomendada de implementar este patrón depende del framework.
Allure recopila y muestra datos sobre los parámetros cuando es posible, y también proporciona funciones para que puedas sobrescribir manualmente los nombres y valores de los parámetros para el informe. Esto tiene múltiples beneficios para la legibilidad del informe:
Puedes personalizar cómo Allure muestra los parámetros en el informe — por ejemplo, hacer que uno de los parámetros esté oculto.
Si un parámetro de prueba es un objeto complejo que no se muestra correctamente, puedes personalizar el valor para el informe específicamente.
Si dos pruebas son muy similares entre sí, aunque sus implementaciones sean independientes, puedes asignarles títulos idénticos y diferentes parámetros para ayudar al lector a comprender tanto las similitudes como las diferencias de los dos casos.
Sin embargo, ten en cuenta que cuando las implementaciones de las pruebas difieren significativamente, generalmente es mejor organizarlas en conjuntos, comportamientos o paquetes en su lugar.
Información del entorno
Para la página principal del informe, puedes recopilar diversas informaciones sobre el entorno en el que se ejecutaron las pruebas.
Por ejemplo, es una buena idea usar esto para recordar la versión del sistema operativo, la versión del lenguaje de programación, etc. Esto puede ayudar al lector futuro a investigar errores que solo se reproducen en algunos entornos.
Para proporcionar esta información, coloca un archivo de entorno en el directorio de resultados de la prueba después de ejecutar las pruebas. El archivo será utilizado al construir el informe por el comando allure
. Algunos adaptadores de Allure pueden generar este archivo automáticamente según su configuración. Consulta la documentación del adaptador específico para más detalles.
Ten en cuenta que esta función debe ser utilizada para propiedades que no cambian para todas las pruebas en el informe. Si tienes propiedades que pueden ser diferentes para distintas pruebas, considera usar Pruebas parametrizadas.