Informe de ejemplo de pruebas flaky

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Puede crear un informe, como se muestra en la imagen siguiente, que muestra las pruebas poco confiables que se producen en las ejecuciones de canalización que incluyen tareas de prueba. Una prueba no confiable es aquella que proporciona resultados diferentes, como correcta o incorrecta, incluso cuando no hay cambios en el código fuente o el entorno de ejecución. Para obtener más información sobre cómo habilitar las pruebas despejas, consulte Administración de pruebas poco confiables. Para obtener información sobre cómo agregar pruebas a una canalización, consulte la sección Recursos de tareas de prueba más adelante en este artículo.

Captura de pantalla del informe Tabla de pruebas flaky.

Use las consultas proporcionadas en este artículo para generar los informes siguientes:

  • Pruebas poco confiables para el flujo de trabajo de compilación
  • Pruebas poco confiables para el flujo de trabajo de versión
  • Pruebas de flaky para una rama determinada
  • Pruebas flaky para un archivo de prueba determinado
  • Pruebas flaky para un propietario de prueba determinado.

Importante

La integración y el acceso de Power BI a la fuente OData del servicio Analytics están disponibles con carácter general para Azure DevOps Services y Azure DevOps Server 2020 y versiones posteriores. Las consultas de ejemplo proporcionadas en este artículo solo son válidas en Azure DevOps Server 2020 y versiones posteriores, y dependen de la versión v3.0-preview o posterior. Le recomendamos que use estas consultas y nos proporcione sus comentarios.

Requisitos previos

  • Para ver los datos de Analytics y consultar el servicio, debe ser miembro de un proyecto con acceso básico o superior. De forma predeterminada, a todos los miembros del proyecto se les conceden permisos para consultar Analytics y definir vistas de Analytics.
  • Para obtener información sobre otros requisitos previos relacionados con la habilitación de servicios y características y las actividades generales de seguimiento de datos, consulte Permisos y requisitos previos para acceder a Analytics.

Nota:

En este artículo se supone que ha leído Información general de informes de ejemplo mediante consultas de OData y que tiene conocimientos básicos de Power BI.

Consultas de ejemplo

Puede usar las siguientes consultas del TestResultsDaily conjunto de entidades para crear informes de prueba de canalización diferentes pero similares. El TestResultsDaily conjunto de entidades proporciona un agregado diario de instantáneas de TestResult ejecuciones agrupadas por prueba.

Nota:

Para determinar las propiedades disponibles con fines de filtro o informe, consulte Referencia de metadatos para análisis de planes de prueba y referencia de metadatos para Azure Pipelines. Puede filtrar las consultas o devolver propiedades mediante cualquiera de los Property valores de un EntityType valor o NavigationPropertyBinding Path disponible con .EntitySet Cada EntitySet uno corresponde a un objeto EntityType. Para obtener más información sobre el tipo de datos de cada valor, revise los metadatos proporcionados para el correspondiente EntityType.

Pruebas poco confiables para un flujo de trabajo de compilación

Use las siguientes consultas para ver las pruebas poco frecuentes de una canalización de flujo de trabajo de compilación .

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName} "
                &"And Date/Date ge {startdate} "
                &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
    &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlaykRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pruebas poco confiables para el flujo de trabajo de versión

Use las siguientes consultas para ver las pruebas poco frecuentes de una canalización de flujo de trabajo de versión .

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Workflow), "
        &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pruebas de flaky filtradas por Branch

Para ver las pruebas con errores de una canalización para una rama determinada, use las siguientes consultas. Para crear el informe, lleve a cabo los siguientes pasos adicionales junto con lo que se especifica más adelante en este artículo.

  • Expandir Branch a Branch.BranchName
  • Seleccione Segmentación de visualización de Power BI y agregue el campo al campo Branch.BranchName de la segmentación de datos.
  • Seleccione el nombre de la rama en la segmentación para la que necesita ver el resumen de resultados.

Para más información sobre el uso de segmentaciones de datos, consulte Segmentaciones de datos en Power BI.

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
                &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName, Branch/BranchName), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
    &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pruebas poco confiables filtradas por el archivo de prueba

Para ver las pruebas poco confiables de una canalización y un archivo de prueba determinado, use las siguientes consultas. Para crear el informe, lleve a cabo los siguientes pasos adicionales junto con lo que se define más adelante en este artículo.

  • Expandir Test a Test.ContainerName
  • Seleccione Segmentación de visualización de Power BI y agregue el campo al campo Test.ContainerName de la segmentación de datos.
  • Seleccione el nombre del contenedor en la segmentación de datos para la que debe ver el resumen de resultados.

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Test/ContainerName), "
        &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Pruebas de flaky filtradas por el propietario de la prueba

Para ver las pruebas de Flaky para una canalización y pruebas que pertenecen a un propietario de prueba determinado, use las siguientes consultas. Para crear el informe, lleve a cabo los siguientes pasos adicionales junto con lo que se define más adelante en este artículo.

  • Expandir Test a Test.TestOwner
  • Seleccione Segmentación de visualización de Power BI y agregue el campo al campo Test.TestOwner de la segmentación de datos.
  • Seleccione el propietario de la prueba en la segmentación de datos para la que necesita ver el resumen de resultados.

Puede pegar la consulta de Power BI que se muestra a continuación directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Introducción a los informes de ejemplo mediante consultas de OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Test/TestOwner), "
        &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cadenas de sustitución y desglose de consultas

Sustituya las cadenas siguientes por sus valores. No incluya corchetes {} con la sustitución. Por ejemplo, si el nombre de la organización es "Fabrikam", reemplace por {organization}Fabrikam, no {Fabrikam}por .

 

  • {organization} - El nombre de la organización
  • {project} - El nombre del proyecto de equipo
  • {pipelinename} : el nombre de la canalización. Ejemplo: Fabrikam hourly build pipeline
  • {startdate} - La fecha de inicio del informe. Formato: AAAA-MM-DDZ. Ejemplo: 2021-09-01Z representa el 1 de septiembre de 2021. No incluya entre comillas o corchetes y use dos dígitos tanto para el mes como para la fecha.

Desglose de consultas

En la tabla siguiente se describe cada parte de la consulta.

Elemento de consulta

Descripción

$apply=filter(

Cláusula Start filter() .

Pipeline/PipelineName eq '{pipelineName}'

Devuelve ejecuciones de pruebas para la canalización especificada.

and CompletedOn/Date ge {startdate}

Devuelve las ejecuciones de pruebas en o después de la fecha especificada.

and Workflow eq 'Build'

Devuelve ejecuciones de pruebas para un Build flujo de trabajo.

)

Cláusula Close filter() .

/groupby(

Cláusula Start groupby() .

(TestSK, Test/TestName),

Agrupe por el nombre de la prueba.

aggregate(

Cláusula Start aggregate para calcular las ejecuciones de prueba que coinciden con los criterios de filtro.

ResultCount with sum as TotalCount,

Cuente el número total de ejecuciones de pruebas como TotalCount.

ResultPassCount with sum as PassedCount,

Cuente el número total de ejecuciones de pruebas superdas como PassedCount.

ResultFailCount with sum as FailedCount,

Cuente el número total de ejecuciones de pruebas con errores como FailedCount.

ResultNotExecutedCount with sum as NotExecutedCount

Cuente el número total de ejecuciones de pruebas no ejecutadas como NotExecutedCount.

ResultNotImpactedCount with sum as NotImpactedCount,

Cuente el número total de ejecuciones de pruebas no afectadas como NotImpactedCount.

ResultFlakyCount with sum as FlakyCount

Cuente el número total de ejecuciones de pruebas esquejuelas como FlakyCount.

))

Cerrar aggregate() y groupby() cláusulas.

/filter(FlakyCount gt 0)

Filtre solo las pruebas que estaban ahumadas al menos una vez.

/compute(

Cláusula Start compute() .

(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate

Para todas las pruebas despaqueadas, calcule .FlakyRate

)

Cláusula Close compute() .

(Opcional) Cambiar el nombre de la consulta

Puede cambiar el nombre de la etiqueta de consulta predeterminada, Query1, a algo más significativo. Simplemente escriba un nuevo nombre en el panel Configuración de consulta.

Captura de pantalla de las opciones del menú de consulta de Power BI, cambiar el nombre de la consulta.

Expansión de la columna Prueba en Power BI

Expanda la Test columna para mostrar la entidad Test.TestNameexpandida . Al expandir la columna se aplana el registro en campos específicos. Para obtener información sobre cómo hacerlo, consulte Transformación de datos de Análisis para generar informes de Power BI, Expandir columnas.

Cambio del tipo de datos de columna

  1. En el Editor de Power Query, seleccione las TotalCountcolumnas , PassedCount, FailedCountNotExecutedCount, , NotImpactedCount, y FlakyCount , seleccione Tipo de datos en el menú Transformar y, a continuación, elija Quién le Number.

  2. Seleccione la FlakyRate columna; seleccione Tipo de datos en el menú Transformar y, a continuación, elija Número decimal.

Para más información sobre cómo cambiar el tipo de datos, consulte Transformación de datos de Análisis para generar informes de Power BI, Transformación de un tipo de datos de columna.

Cierre la consulta y aplique los cambios

Una vez que haya completado todas las transformaciones de datos, elija Cerrar y aplicar en el menú Inicio para guardar la consulta y volver a la pestaña Informe en Power BI.

Captura de pantalla de Editor de Power Query opción Cerrar y aplicar.

Creación del informe de tabla

  1. En Power BI, en Visualizaciones, elija Tabla y arrastre y coloque los campos en el área Columnas .

    Captura de pantalla de las selecciones de campos de visualización para el informe de tabla de pruebas de Flaky.

  2. Agregue los siguientes campos a la sección Columnas en el orden indicado.

    • Test.TestName
    • TotalCount
    • PassedCount
    • FailedCount
    • FlakyCount
    • FlakyRate

El informe debe tener un aspecto similar al de la imagen siguiente.

Captura de pantalla del informe Tabla de pruebas flaky de ejemplo.

Probar recursos de tareas