Empezando con Test Impact Analysis

Esta función se conocía anteriormente como Intelligent Test Runner, y algunas etiquetas (tags) todavía contienen "itr".

Información general

Test Impact Analysis permite omitir tests irrelevantes no afectados por un cambio de código.

Con la optimización de test, los equipos de desarrollo pueden configurar Test Impact Analysis para sus servicios de test, establecer ramas a excluir (como la rama por defecto), y definir archivos para ser rastreados (lo que desencadena ejecuciones completas de todos los tests cuando cualquier archivo rastreado cambia).

Un diagrama de Venn de los componentes de Test Impact Analysis: archivos rastreados, ramas excluidas y tests omitidos
Un diagrama de Venn que muestra cómo Test Impact Analysis define un test excluido al utilizar archivos rastreados, ramas excluidas y tests exitosos.

Configura y habilita Test Impact Analysis para tus servicios de test con el fin de reducir el tiempo de test innecesario, mejorar la eficiencia de los tests de CI y reducir los costes, manteniendo al mismo tiempo la fiabilidad y el rendimiento a través de tus entornos de CI

Test Impact Analysis utiliza datos de cobertura de código para determinar si los tests deben omitirse o no. Para más información, consulte Cómo funciona Test Impact Analysis en Datadog.

Configuración de Test Impact Analysis

Para configurar Test Impact Analysis, consulta la siguiente documentación para tu lenguaje de programación:

.net
java
javascript
python
swift
ruby
go

Activar Test Impact Analysis

Para activar Test Impact Analysis:

  1. Ve a Software Delivery > Test Optimization > Settings (Entrega de software > Optimización de test > Configuración).
  2. En la pestaña Test Services (Servicios de test), haz clic en Configure (Configurar) en la columna Test Impact Analysis de un servicio.
Habilitar Test Impact Analysis para un servicio de test en una página de configuración del Servicio de test

Debes tener el permiso Test Impact Analysis Activation Write. Para obtener más información, consulta la documentación de permisos de rol de Datadog.

Desactivar Test Impact Analysis en las ramas críticas (como la rama predeterminada) asegura una cobertura completa de los tests, mientras que activarlo para que se ejecute en las ramas de características o desarrollo ayuda a maximizar la eficacia de los tests.

Configuración de Test Impact Analysis

Puedes configurar Test Impact Analysis para evitar que se omitan tests específicos. Estos tests se conocen como tests no omitibles, y se ejecutan independientemente de los datos de cobertura de código.

Para configurar Test Impact Analysis:

  1. Para el test en el que desea activarlo, haz clic en Configure (Configurar).
  2. Haz clic en el conmutador Status (Estado) para activar Test Impact Analysis.
  3. Especifica las ramas que deseas excluir (normalmente la rama por defecto de un repositorio). Test Impact Analysis no omite los tests de estas ramas.
  4. Especifica los directorios de archivos y los archivos que deben rastrearse (por ejemplo, documentation/content/** o domains/shopist/apps/api/BUILD.bazel). Test Impact Analysis ejecuta todos los tests CI cuando cambia alguno de estos archivos rastreados.
  5. Haz clic en Save Settings (Guardad ajustes).
Habilitar Test Impact Analysis, proporcionar ramas para Test Impact Analysis a excluir y añadir archivos para Test Impact Analysis a fin de rastrear y ejecutar tests cuando suceda cualquier cambio

Una vez que hayas configurado el Test Impact Analysis en un servicio de test, ejecuta un conjunto de tests en tu rama por defecto. Esto establece una línea base para que Test Impact Analysis omita con precisión tests irrelevantes en futuras confirmaciones.

Utilizar los datos de Test Impact Analysis

Explora los datos recopilados al activar Test Impact Analysis, como el ahorro de tiempo logrado al omitir tests, así como el uso que hace tu organización de Test Impact Analysis, para mejorar tu eficiencia de CI.

Dashboard predefinido que muestra información sobre el tiempo que ahorran los tests omitidos por Test Impact Analysis y el uso de tu organización de Test Impact Analysis

Puedes crear dashboards para visualizar tus métricas de tests, o utilizar un dashboard predefinido que contenga widgets poblados con datos recopilados por Test Impact Analysis para ayudar a identificar áreas de mejora con patrones de uso y tendencias.

Examinar los resultados en Test Optimization Explorer

Test Optimization Explorer permite crear visualizaciones y filtrar tramos (spans) de tests a partir de los datos recopilados en Test Optimization y Test Impact Analysis. Cuando Test Impact Analysis está activo, muestra la cantidad de tiempo ahorrado en cada sesión de test o confirmación. Las barras de duración se vuelven de color morado para indicar la omisión de tests activos.

Ve a Software Delivery > Test Optimization > Test Runs (Entrega de software > Test Optimization > Ejecuciones de tests) y selecciona Session para empezar a filtrar los resultados de tu tramo de sesión de test.

Resultados de sesión de test en Test Optimization Explorer filtrados en tests omitidos por Test Impact Analysis

Ve a Software Delivery > Test Optimization > Test Runs (Entrega de software > Test Optimization > Ejecuciones de tests) y selecciona Module para empezar a filtrar los resultados de tu tramo de módulo de test.

Resultados de módulo de test en Test Optimization Explorer filtrados en tests omitidos por Test Impact Analysis

Ve a Software Delivery > Test Optimization > Test Runs (Entrega de software > Test Optimization > Ejecuciones de tests) y selecciona Suite para empezar a filtrar los resultados de tu tramo de conjunto de tests.

Resultados de conjunto de tests en Test Optimization Explorer filtrados en tests omitidos por Test Impact Analysis

Ve a Software Delivery > Test Optimization > Test Runs (Entrega de software > Test Optimization > Ejecuciones de tests) y selecciona Test para empezar a filtrar los resultados de tu tramo de tests.

Resultados de tests en Test Optimization Explorer filtrados en tests omitidos por Test Impact Analysis

Utiliza las siguientes facetas predefinidas de Test Impact Analysis para personalizar la consulta de búsqueda:

Cobertura de código activada
indica si el rastreo de la cobertura de código estaba activo durante la sesión de test.
Omitido por ITR
búmero de tests omitidos durante la sesión por Test Impact Analysis.
Salto de tests activado
indica si se ha activado Test Impact Analysis para la sesión de test.
Tipo de omisión de test
el método o criterio utilizado por el Test Impact Analysis para determinar qué tests omitir.
Tests omitidos
recuento total de tests que no se ejecutaron durante la sesión de test, que puede incluir tests que se configuraron para omitirse o que se establecieron como exclusiones manuales.
Tiempo ahorrado
el tiempo ahorrado para la sesión por el uso de Test Impact Analysis.

Por ejemplo, para filtrar las ejecuciones de sesiones de test que tienen Test Skipping Enabled, puedes utilizar @test.itr.tests_skipping.enabled:true en la consulta de búsqueda.

Un panel lateral que muestra la primera sesión de test en el que la característica de omisión de test para Test Impact Analysis

A continuación, haz clic en la ejecución de una sesión de test y ve la cantidad de tiempo que ha ahorrado Test Impact Analysis en la sección Test Session Details (Detalles de la sesión de test) del panel lateral de la sesión de test.

Referencias adicionales