Empezando con Test Optimization
Test Optimization te permite comprender mejor tu postura ante los tests, identificar confirmaciones que introducen tests defectuosos, identificar regresiones de rendimiento y solucionar fallos de tests complejos.
Puedes visualizar el rendimiento de tus ejecuciones de test como trazas (traces), donde los tramos (spans) representan la ejecución de diferentes partes del test.
Test Optimization permite a los equipos de desarrollo depurar, optimizar y acelerar los tests de software en entornos de CI, al proporcionar información sobre el rendimiento de los tests, los fallos y los errores. Test Optimization instrumenta automáticamente cada test e integra la selección inteligente de tests mediante el Test Impact Analysis, lo que mejora la eficacia de los tests y reduce la redundancia.
Con los datos históricos de los tests, los equipos pueden comprender las regresiones de rendimiento, comparar el resultado de los tests de las ramas de características con las ramas predeterminadas y establecer puntos de referencia de rendimiento. Gracias a la optimización de tests, los equipos pueden mejorar sus flujos de trabajo de desarrollo y mantener la calidad del código resultante.
Configurar un test de servicio
Test Optimization realiza un seguimiento del rendimiento y los resultados de tus tests CI, y muestra los resultados de las ejecuciones de los tests.
Para empezar a instrumentar y ejecutar tests, consulta la documentación de uno de los siguientes idiomas.
Test Optimization es compatible con cualquier proveedor de CI y no se limita a los compatibles con CI Visibility. Para obtener más información sobre las funciones compatibles, consulta Test Optimization.
Utilizar datos de tests CI
Accede a métricas de tus tests (como ejecuciones, duración, distribución de la duración, tasa global de éxito, tasa de fracaso y más) para empezar a identificar tendencias y patrones importantes utilizando los datos recopilados de tus tests a través de los pipelines de CI.
Puedes crear dashboards para la monitorización de tests defectuosos, regresiones de rendimiento y fallos de tests que ocurran dentro de tus tests. Alternativamente, puedes utilizar un dashboard predefinido que contiene widgets rellenados con datos recopilados en Test Optimization para visualizar el estado y el rendimiento de tus sesiones de test CI, módulos, conjuntos y tests.
Gestión de tests defectuosos
Un test defectuoso es un test que muestra tanto un estado de aprobado como de suspenso en varias ejecuciones de la misma confirmación. Si confirmas un código y lo ejecutas a través de CI, y un test falla, y lo ejecuta a través de CI de nuevo y el mismo test ahora pasa, ese test no es fiable y está marcado como defectuoso.
Puedes acceder a la información de los tests defectuosos en la sección Tests defectuosos de la página de resumen de una ejecución de test, o como una columna en tu lista de los servicios de test en la página Lista de tests.
Para cada rama, la lista muestra el número de tests nuevos, el número de confirmaciones realizadas por los tests, el tiempo total de los tests y los detalles de la última confirmación de la rama.
- Duración media
- El tiempo medio de ejecución del test.
- Primer error y Último error
- la fecha y el SHA de confirmación de la primera y la última vez que el test mostró un comportamiento defectuoso.
- Confirmación defectuosa
- número de confirmaciones en las que el test ha mostrado un comportamiento defectuoso.
- Tasa de fallos
- el porcentaje de ejecuciones de tests que han fallado para este test desde que se desconfiguró por primera vez.
- Tendencia
- visualización que indica si un test defectuoso se ha solucionado o si sigue defectuoso.
Test Optimization muestra los siguientes gráficos para que comprendas las tendencias de tus test defectuosos y el impacto de las mismas en la sección Test defectuosos de una confirmación:
- Nuevas ejecuciones de test defectuosos
- frecuencia con la que se detectan nuevos tests defectuosos.
- Test defectuosos conocidos
- todos los fallos de test asociados con los tests defectuosos que se están rastreando. Se muestra cada vez que un test defectuoso “falla”.
Para ignorar nuevos tests defectuosos para una confirmación en la que has determinado que los tests defectuosos se detectaron por error, haz clic en un test que contenga un valor Nuevo test defectuoso con una opción desplegable y haz clic en Ignore flaky tests (Ignorar tests defectuosos). Para obtener más información, consulta Gestión de tests defectuosos.
Examina los resultados en el Test Optimization Explorer
Test Optimization Explorer te permite crear visualizaciones y filtrar los tramos de test utilizando los datos recopilados de tus tests. Cada ejecución de test se notifica como una traza, que incluye tramos adicionales generados por la solicitud de test.
Utiliza facetas para personalizar la consulta de búsqueda e identificar los cambios en el tiempo empleado en cada nivel de tu ejecución de test.
Una vez que hagas clic en un test en la página Test List (Lista de tests), podrás ver una gráfica de llamas o una lista de tramos en la pestaña Trace (Traza).
Puedes identificar cuellos de botella en tus ejecuciones de test y examinar niveles individuales ordenados de mayor a menor porcentaje de tiempo de ejecución.
Añadir medidas personalizadas a los tests
Puede buscar y gestionar los eventos de test mediante programación utilizando el endpoint de la API de CI Visibility Tests. Para obtener más información, consulta la documentación de la API.
Para mejorar los datos recopilados de tus tests de CI, puedes añadir mediante programación etiquetas (tags) o medidas (como el uso de memoria) directamente a tramos creados durante la ejecución del test. Para obtener más información, consulta Añadir medidas personalizadas a tus tests.
Crear un monitor de CI
Alerta a los equipos pertinentes de tu organización sobre las regresiones en el rendimiento de los tests cuando se produzcan fallos o aparezcan nuevos tests defectuosos.
Para configurar un monitor que alerte cuando la cantidad de fallos en laos tests supere un umbral de 1 fallo:
- Ve a Monitors > New Monitor (Monitores > Nuevo monitor) y selecciona CI.
- Selecciona un tipo de monitor común para los tests de CI para empezar, por ejemplo:
New Flaky Test
para activar alertas cuando se añaden nuevos tests defectuosos a tu base de código, Test Failures
para activar alertas de fallos de test, o Test Performance
para activar alertas de regresiones de rendimiento de test, o personaliza tu propia consulta de búsqueda. En este ejemplo, selecciona la faceta Branch (@git.branch)
para filtrar los tests realizados en la rama main
. - En la sección
Evaluate the query over the
, selecciona los últimos 15 minutos. - Configura las condiciones de alerta para que se activen cuando el valor evaluado supere el umbral y especifique valores para los umbrales de alerta o advertencia, como
Alert threshold > 1
. - Define la notificación del monitor.
- Establece permisos para el monitor.
- Haz clic en Create (Crear).
Para más información, consulta la documentación del monitor de CI.
Referencias adicionales
Más enlaces, artículos y documentación útiles: