Mejorar la navegación en informe de pruebas
Un proyecto lo suficientemente grande puede tener cientos o incluso miles de pruebas. Al recopilar información sobre las pruebas, Allure puede organizar los resultados en estructuras de árbol fáciles de comprender. Con esta estructura, un lector del informe de pruebas puede navegar fácilmente hasta los resultados que necesita.
Allure genera diferentes árboles en las pestañas de Suites, Comportamientos o Paquetes del informe. Diferentes jerarquías pueden ser convenientes para diferentes roles dentro del mismo equipo: por ejemplo, un ingeniero de pruebas puede prestar más atención al árbol de Comportamientos, mientras que un desarrollador analiza el árbol de Suites.
Puedes elegir la que mejor se alinee con el flujo de trabajo de desarrollo en tu proyecto. Para cada jerarquía, Allure espera que los autores de las pruebas asignen campos específicos a las pruebas. Las funciones exactas que deben utilizarse para asignar los campos varían entre diferentes adaptadores de Allure.
INFO
Este artículo describe jerarquías que se construyen basándose en la información sobre las pruebas en sí. Para una jerarquía basada en los errores de las pruebas, consulta Categorías de defectos.
Jerarquía basada en comportamientos
Épicas, características e historias de usuario son términos ampliamente utilizados para describir las características de un software y organizar las pruebas de estas características. Por lo general, una épica es un conjunto grande de características que el equipo tiene como objetivo desarrollar y probar, y una característica se describe como un conjunto de historias de usuario que describen cómo se espera que el software se comporte en diferentes escenarios.
Los adaptadores de Allure para todos los frameworks proporcionan formas de indicar la épica, la característica y la historia de usuario de una prueba. Si un framework permite que el autor defina algunos de estos términos de manera nativa, por ejemplo, en su propio formato de archivo independiente del lenguaje, Allure intenta hacer todo lo posible por incorporar los datos proporcionados en la estructura del árbol generada. Consulta la documentación del adaptador específico de Allure para más detalles.
Jerarquía basada en suites
Una suite de pruebas es un término abstracto para cualquier grupo de pruebas, cuyo significado real depende de las especificaciones de tu proyecto.
Los adaptadores de Allure para todos los frameworks proporcionan formas de indicar la suite de una prueba, y la mayoría de ellos también proporcionan formas de indicar suites principales y sub-suites, para un total de hasta tres niveles de jerarquía. Sin embargo, ten en cuenta que la implementación puede variar en cómo se eligen los valores predeterminados para estos campos, según los datos proporcionados por el propio framework. Consulta la documentación del adaptador específico de Allure para más detalles.
Jerarquía basada en paquetes
En algunos proyectos, es conveniente organizar las pruebas por paquetes, siguiendo de cerca la estructura del código. Para colocar una prueba en el árbol de la pestaña Paquetes, Allure normalmente usa los nombres reales del módulo y la función en la que se implementa la prueba.
Algunos adaptadores de Allure permiten anular este comportamiento. Sin embargo, se recomienda seguir siempre la convención de nomenclatura jerárquica para los paquetes, con los nombres de los subpaquetes colocados después de los nombres de los paquetes, separados por puntos.
En el árbol, los prefijos comunes de los paquetes se muestran como sus paquetes principales.
Omitir niveles del árbol
En todas las jerarquías descritas anteriormente, ninguno de los campos es necesario.
Para determinar la ubicación de una prueba en la jerarquía de Suites o Comportamientos, Allure verifica los campos relevantes en el orden predefinido:
- para la jerarquía basada en comportamientos: épico, característica, historia de usuario,
- para la jerarquía basada en suites: suite principal, suite, sub-suite.
Para cada campo proporcionado, Allure crea un subárbol en el árbol de resultados de las pruebas. Si el campo no fue proporcionado, la creación del subárbol se omite.
En el ejemplo a continuación (escrito en Java usando Allure JUnit 5), la segunda prueba solo tiene el campo feature
. En el informe, su característica se muestra en el nivel superior, convirtiéndose esencialmente en el épico de esta prueba.
import io.qameta.allure.Epic;
import io.qameta.allure.Feature;
import io.qameta.allure.Story;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
public class AllureNavigationTest {
@Test
@Epic("Web interface")
@Feature("Essential features")
@Story("Authentication")
@DisplayName("Log in with username and password")
public void testLogInWithUsernameAndPassword() {
// ...
}
@Test
@Feature("Mobile API")
@DisplayName("API: Read user profile")
public void testReadUserProfile() {
// ...
}
}