Tendencia de velocidad de superación de un informe de ejemplo de prueba

Azure DevOps Services

En este artículo se muestra cómo crear un informe que muestra la tendencia diaria del número de veces que se ha superado una prueba y se ha producido un error, junto con su tasa de superación de cualquier prueba determinada de una canalización.

Un ejemplo se muestra en la imagen siguiente.

Sample - Test Summary - Report

Importante

Power BI integración y 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 v3.0-preview o posterior. Le recomendamos que use estas consultas y nos proporcione comentarios.

Requisitos previos

  • Debe ser miembro de un proyecto con acceso básico o superior. Si no se ha agregado como miembro del proyecto, se agrega ahora. Cualquier persona con acceso al proyecto, excepto las partes interesadas, puede ver las vistas de Análisis.
  • 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á deshabilitado, no se mostrarán las vistas de Analytics . Para volver a habilitar un servicio, consulte Activar o desactivar un servicio de Azure DevOps.
  • Para usar las vistas de Analytics, habilite la característica vista previa de vistas de Análisis para usuarios individuales o para la organización.
  • Además, debe tener el permiso *Ver 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 ejercer una consulta de OData para Analytics, debe tener el permiso View Analytics establecido en Permitir. De forma predeterminada, se concede acceso a todos los colaboradores con acceso básico. Para editar las vistas de Análisis compartidas, debe tener establecido el permiso Editar vistas de Análisis compartido 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 informes de ejemplo mediante consultas de OData y que tiene conocimientos básicos de 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 Test/TestName eq '{testName}' "
        &"And Workflow eq 'Build') "
            &"/groupby((Date/Date), "
                &"aggregate( "
                &"ResultCount with sum as TotalCount, "
            &"ResultPassCount with sum as ResultPassCount, "
                &"ResultFailCount with sum as ResultFailCount, "
            &"ResultAbortedCount with sum as ResultAbortedCount, "
        &"ResultErrorCount with sum as ResultErrorCount, "
    &"ResultInconclusiveCount with sum as ResultInconclusiveCount, "
    &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
    &"ResultNotImpactedCount with sum as ResultNotImpactedCount)) "
    &"/filter(ResultFailCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, 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 siguientes cadenas 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 Fabrikam, no {Fabrikam}por .  

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

Desglose de consultas

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

Elemento de consulta

Descripción

$apply=filter(

Iniciar filtro()

Pipeline/PipelineName eq '{pipelineName}'

Devolver ejecuciones de prueba para la canalización especificada

And Date/Date ge {startdate}

Devolver ejecuciones de pruebas en o después de la fecha especificada

And Test/TestName eq '{testName}'

Devolver ejecuciones de pruebas solo para el nombre de prueba especificado

and Workflow eq 'Build'

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

)

Cerrar filter()

/groupby(

Iniciar groupby()

(Date/Date),

Agrupar por la fecha de finalización de la ejecución de pruebas

aggregate(

Inicie el agregado. Para todas las ejecuciones de prueba que coinciden con los criterios de filtro anteriores:

ResultCount with sum as TotalCount,

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

ResultPassCount with sum as ResultPassCount,

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

ResultFailCount with sum as ResultFailCount,

Cuente el número total de ejecuciones de pruebas con error como ResultFailCount.

ResultAbortedCount with sum as ResultAbortedCount,

Cuente el número total de ejecuciones de pruebas anuladas como ResultAbortedCount.

ResultErrorCount with sum as ResultErrorCount,

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

ResultNotExecutedCount with sum as ResultNotExecutedCount,

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

ResultNotImpactedCount with sum as ResultNotImpactedCount

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

))

Cierre aggregate() y groupby()

/compute(

Iniciar proceso()

iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate)

Para todos los días, calcule la tasa de pases.

)

Cerrar compute()

Transformaciones de Power BI

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

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

Expandir la columna Fecha

  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 CompletedOn.Date.

    Power BI + OData - Expanded entity

Cambiar el tipo de columna

  1. Cambie el tipo de columna PassRate a Número decimal y TotalCount a Número entero.

    Power BI + OData - change column type

Cambie el nombre de los campos y la consulta y, a continuación, Cierre & aplicar

Cuando haya terminado, puede optar por 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 de la consulta predeterminada Query1 a algo más significativo.

    Power BI Rename Query

  3. Una vez hecho, 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 en los que puede informar.

Nota:

En el ejemplo siguiente se supone que nadie ha cambiado el nombre de ninguna columna.

Sample - Test Summary - Fields

Para un informe sencillo, siga estos pasos:

  1. Seleccione Power BI gráfico de líneas de visualización y columnas apiladas.
  2. Agregue el campo "Date.Date" al eje compartido.
    • Haga clic con el botón derecho en "Date.Date" y seleccione "Date.Date", en lugar de Jerarquía de fechas.
  3. Agregue el campo "ResultPassCount" a valores de columna.
  4. Agregue el campo "ResultFailCount" a valores de columna.
  5. Agregue el campo "PassRate" a los valores de línea.

El informe debe tener este aspecto.

Sample - Test Summary - Report

Lista completa de informes de ejemplo de Pipelines

Canalización

Canalización y prueba