Informe de ejemplo de pruebas con errores



Azure DevOps Services

En este artículo se muestra cómo crear un informe que muestra la lista de pruebas con errores de una canalización.

Un ejemplo se muestra en la imagen siguiente.

Sample - Test Summary - Report

En concreto, encontrará consultas de ejemplo para los informes siguientes:

  • Pruebas con errores para el flujo de trabajo de compilación
  • Pruebas con errores para el flujo de trabajo de versión
  • Pruebas con errores para una rama determinada
  • Pruebas con errores para un archivo de prueba determinado
  • Pruebas con errores para un propietario de prueba determinado

Importante

Power BI integración y el acceso a la fuente OData del servicio Analytics se encuentran en versión preliminar. Las consultas de ejemplo proporcionadas en este artículo solo son válidas en Azure DevOps Services y dependen de la versión 3.0-preview o posterior. Le recomendamos que use estas consultas y nos proporcione sus comentarios.

Requisitos previos

  • Debe ser miembro de un proyecto con acceso Básico o superior. Si no se ha agregado como miembro del proyecto, ahora se le agregará. Cualquier persona con acceso al proyecto, excepto las partes interesadas, puede ver las vistas de Analytics.
  • Para que los datos de Analytics estén disponibles, se debe habilitar el servicio correspondiente. Por ejemplo, para consultar los datos de seguimiento del trabajo, Boards debe estar habilitado. Si está deshabilitada, no se mostrarán las vistas de Analytics. Para volver a habilitar un servicio, consulte Activación o desactivación de Azure DevOps servicio de mantenimiento.
  • Para usar vistas de Analytics,habilite la característica vista previa vistas de Analytics para usuarios individuales o para la organización.
  • Además, debe tener el permiso *View Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.
  • Para usar Power BI para Azure DevOps o para ejecutar una consulta de OData para Analytics, debe tener el permiso de View Analytics establecido en Permitir. De forma predeterminada, se concede acceso a todos los colaboradores con acceso Básico. Para editar vistas compartidas de Analytics,debe tener el permiso Editar vistas compartidas de Analytics establecido en Permitir. Para más información, consulte Concesión de permisos para acceder al servicio Analytics.

Consultas de ejemplo

Nota

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

Puede pegar la consulta Power BI que se muestra a continuación directamente en la ventana Obtener datos: consulta en blanco. Para obtener más información, consulte Información general de 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Cadenas de sustitución

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

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

Desglose de consultas

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

Elemento de consulta

Descripción

$apply=filter(

Start filter()

Pipeline/PipelineName eq '{pipelineName}'

Devolución de ejecuciones de prueba para la canalización especificada

and CompletedOn/Date ge {startdate}

La prueba de devolución se ejecuta en o después de la fecha especificada

and Workflow eq 'Build'

Devolución de ejecuciones de prueba para el flujo de trabajo "Build"

)

Cerrar filter()

/groupby(

Iniciar groupby()

(TestSK, Test/TestName),

Agrupar por el nombre de la prueba

aggregate(

Iniciar agregado. Para todas las ejecuciones de prueba que coincidan con los criterios de filtro anteriores:

ResultCount with sum as TotalCount,

Contar el número total de ejecuciones de pruebas como TotalCount

ResultPassCount with sum as PassedCount,

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

ResultFailCount with sum as FailedCount,

Cuente el número total de ejecuciones de pruebas con error 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 prueba no afectadas como NotImpactedCount.

ResultFlakyCount with sum as FlakyCount

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

))

Cierre aggregate() y groupby()

/compute(

Iniciar proceso()

iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate

Para todas las pruebas, calcule la velocidad de paso.

)

Cerrar compute()

Power BI transformaciones

La consulta devuelve algunas columnas que necesita expandir y aplanar en sus campos para poder usarlas en Power BI. En este ejemplo, esta entidad es Test.

Después de cerrar el Editor avanzado mientras permanece en el Editor de Power Query, seleccione el botón expandir en Probar.

Expandir la columna Prueba

  1. Elija el botón Expandir.

    Power BI + OData - Choose expand button

  2. Active la casilla "(Seleccionar todas las columnas)" para expandir

    Power BI + OData - Select all columns

  3. La tabla contiene ahora la entidad expandida Test.TestName.

    Power BI + OData - Expanded entity

Cambiar el tipo de columna

La consulta no devuelve todas las columnas en el formato en el que puede consumirlas directamente en Power BI informes. Puede cambiar el tipo de columna como se muestra.

  1. Cambie el tipo de columna TotalCount, PassedCount, FailedCount, NotExecutedCount, **NotImpactedCounty FlakyCount a Número entero.

    Power BI + OData - change column type

  2. Cambie el tipo de columna PassRate aDecimal Number.

    Change the type of column PassRate to Decimal Number.

Cambie el nombre de los campos y la consulta y, a continuación, cierre & Aplicar.

Cuando termine, puede cambiar el nombre de las columnas.

  1. Haga clic con el botón derecho en un encabezado de columna y seleccione Cambiar nombre...

    Power BI Rename Columns

  2. También puede cambiar el nombre de la consulta del valor predeterminado Query1a algo más significativo.

    Power BI Rename Query

  3. Una vez hecho esto, elija Cerrar aplicar para guardar la consulta y volver a Power BI.

    Power BI Close & Apply

Creación del informe

Power BI muestra los campos sobre los que puede informar.

Nota

En el ejemplo siguiente se da por supuesto que nadie ha cambiado el nombre de ninguna columna.

Sample - Test Summary - Fields

Para obtener un informe sencillo, realice los pasos siguientes:

  1. Seleccione Power BI de visualización.
  2. Agregue el campo "Test.TestName" a Valores.
  3. Agregue el campo "TotalCount" a Valores.
  4. Agregue el campo "PassedCount" a Valores.
  5. Agregue el campo "FailedCount" a Valores.
  6. Agregue el campo "NotImpactedCount" a Valores.
  7. Agregue el campo "NotExecutedCount" a Valores.
  8. Agregue el campo "FlakyCount" a Valores.
  9. Agregar el campo "PassRate" a Valores

El informe debe tener este aspecto.

Sample - Test Summary - Report

Puede usar las siguientes otras consultas para crear informes diferentes pero similares mediante los mismos pasos definidos anteriormente en este artículo.

Pruebas con errores para el flujo de trabajo de versión

Es posible que desee ver las pruebas con errores de una canalización para el flujo de trabajo de versión, en lugar del flujo de trabajo de compilación.

Puede pegar la consulta Power BI siguiente directamente en la ventana Obtener datos: consulta en blanco. Para obtener más información, consulte Información general de 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filtrar por rama

Es posible que desee ver las pruebas con errores de una canalización solo para una rama determinada. Para crear el informe, lleve a cabo los siguientes pasos adicionales junto con lo que se definió anteriormente en este artículo.

  • Expanda Branch en Branch.BranchName.
  • Seleccione Power BI segmentación de visualización y agregue el campo Branch.BranchName al campo de la segmentación.
  • Seleccione la canalización de la segmentación para la que necesita ver el resumen de resultados.

Puede pegar la consulta Power BI siguiente directamente en la ventana Obtener datos: consulta en blanco. Para obtener más información, consulte Información general de 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filtrar por archivo de prueba

Es posible que desee ver las pruebas con errores de una canalización solo para un archivo de prueba determinado. Para crear el informe, lleve a cabo los siguientes pasos adicionales junto con lo que se definió anteriormente en este artículo.

  • Expanda Branch en Test.ContainerName.
  • Seleccione Power BI segmentación de visualización y agregue el campo Test.ContainerName al campo de la segmentación.
  • Seleccione la canalización de la segmentación para la que necesita ver el resumen de resultados.

Puede pegar la consulta Power BI siguiente directamente en la ventana Obtener datos: consulta en blanco. Para obtener más información, consulte Información general de 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Filtrar por propietario de prueba

Es posible que desee ver las pruebas con errores de una canalización para las pruebas que pertenecen solo a un propietario de prueba determinado. Para crear el informe, lleve a cabo los siguientes pasos adicionales junto con lo que se definió anteriormente en este artículo.

  • Expanda Branch en Test.TestOwner.
  • Seleccione Power BI segmentación de visualización y agregue el campo Test.TestOwner al campo de la segmentación.
  • Seleccione la canalización de la segmentación para la que necesita ver el resumen de resultados.

Puede pegar la consulta Power BI siguiente directamente en la ventana Obtener datos: consulta en blanco. Para obtener más información, consulte Información general de 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(FailedCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Lista completa de informes Pipelines ejemplo

Canalización

Canalización y prueba