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 acerca de cómo habilitar pruebas poco confiables, consulte Administración de pruebas ahumadas. 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.
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
- Access: sea miembro de un proyecto con al menos acceso básico .
- Permisos: de forma predeterminada, los miembros del proyecto tienen permiso para consultar Analytics y crear vistas.
- Para obtener más información sobre otros requisitos previos relacionados con las actividades de habilitación de servicios y características y seguimiento de datos generales, consulte Permisos y requisitos previos para acceder a Analytics.
Nota:
En este artículo se da por supuesto que lee Información general de los informes de ejemplo mediante consultas de OData y 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 .
Copie y pegue la siguiente consulta de Power BI directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Información general sobre 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 .
Copie y pegue la siguiente consulta de Power BI directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Información general sobre 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
aBranch.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.
Copie y pegue la siguiente consulta de Power BI directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Información general sobre 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
aTest.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.
Copie y pegue la siguiente consulta de Power BI directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Información general sobre 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
aTest.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.
Copie y pegue la siguiente consulta de Power BI directamente en la ventana Obtener consulta en blanco de datos>. Para obtener más información, consulte Información general sobre 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.
Expansión de la columna Prueba en Power BI
Expanda la Test
columna para mostrar la entidad Test.TestName
expandida . 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
En el Editor de Power Query, seleccione las
TotalCount
columnas ,PassedCount
,FailedCount
NotExecutedCount
, ,NotImpactedCount
, yFlakyCount
, seleccione Tipo de datos en el menú Transformar y, a continuación, elija Número entero.Seleccione la
FlakyRate
columna; seleccione Tipo de datos en el menú Transformar y, a continuación, elija Número decimal.
Para obtener 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.
Creación del informe de tabla
En Power BI, en Visualizaciones, elija Tabla y arrastre y coloque los campos en el área Columnas .
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.
Probar recursos de tareas
- Ejecutar pruebas en paralelo mediante la tarea Prueba de Visual Studio
- Ejecutar pruebas en paralelo para cualquier ejecutor de pruebas
- Aceleración de las pruebas mediante el Análisis de impacto en las pruebas (TIA)
- Administración de pruebas despaqueadas
- Consideraciones sobre las pruebas de IU
- Azure Load Testing
- Referencia de tareas de Azure Pipelines, Tareas de prueba