Ukázková sestava neúspěšných testů
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Můžete vytvořit sestavu se seznamem neúspěšných testů, podobně jako na následujícím obrázku, pro spuštění kanálu, která obsahují testovací úlohy. Informace o přidávání testů do kanálu najdete v části Zdroje úloh testování dále v tomto článku.
Pomocí dotazů uvedených v tomto článku vygenerujte následující sestavy:
- Neúspěšné testy pro pracovní postup sestavení
- Neúspěšné testy pro pracovní postup vydání
- Neúspěšné testy pro určitou větev
- Neúspěšné testy pro konkrétní testovací soubor
- Neúspěšné testy pro konkrétního vlastníka testu
Důležité
Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné pro Azure DevOps Services a Azure DevOps Server 2020 a novější verze. Ukázkové dotazy uvedené v tomto článku jsou platné pouze pro Azure DevOps Server 2020 a novější verze a závisí na verzi v3.0-Preview nebo novější. Doporučujeme, abyste tyto dotazy používali a poskytli nám zpětnou vazbu.
Požadavky
- Přístup: Buďte členem projektu s alespoň základním přístupem.
- Oprávnění: Ve výchozím nastavení mají členové projektu oprávnění k dotazování na Analýzy a vytváření zobrazení.
- Další informace o dalších požadavcích týkajících se povolení služeb a funkcí a obecných aktivit sledování dat najdete v tématu Oprávnění a požadavky pro přístup k Analýzám.
Poznámka:
Tento článek předpokládá, že si přečtete přehled ukázkových sestav pomocí dotazů OData a máte základní znalosti o Power BI.
Vzorové dotazy
Následující dotazy sady entit můžete použít k vytvoření různých, ale podobných TestResultsDaily
sestav testů neúspěšných kanálů. Sada TestResultsDaily
entit poskytuje denní agregaci TestResult
snímků spuštění seskupených podle testu.
Poznámka:
Informace o dostupných vlastnostech pro účely filtru nebo sestavy najdete v referenčních informacích k metadatům pro analýzu testovacích plánů a metadata pro Azure Pipelines. Dotazy můžete filtrovat nebo vracet vlastnosti pomocí libovolné hodnoty Property
pod hodnotami nebo NavigationPropertyBinding Path
hodnotami dostupnými v objektu EntitySet
EntityType
. Každý EntitySet
odpovídá hodnotě EntityType
. Další informace o datovém typu každé hodnoty najdete v metadatech zadaných pro odpovídající EntityType
hodnotu .
Neúspěšné testy pracovního postupu sestavení
K zobrazení neúspěšných testů kanálu pracovního postupu sestavení použijte následující dotazy.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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
Neúspěšné testy pracovního postupu vydání
K zobrazení neúspěšných testů kanálu pracovního postupu vydané verze použijte následující dotazy.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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
Neúspěšné testy filtrované podle větve
Pokud chcete zobrazit neúspěšné testy kanálu pro určitou větev, použijte následující dotazy. Pokud chcete vytvořit sestavu, proveďte následující kroky navíc spolu s tím, co je uvedeno dále v tomto článku.
- Rozbalit
Branch
doBranch.BranchName
- Vyberte průřez vizualizace Power BI a přidejte pole
Branch.BranchName
do pole průřezu . - Vyberte název větve z průřezu, pro který potřebujete zobrazit souhrn výsledků.
Další informace o používání průřezů najdete v tématu Průřezy v Power BI.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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
Neúspěšné testy filtrované podle testovacího souboru
Pokud chcete zobrazit neúspěšné testy kanálu a konkrétního testovacího souboru, použijte následující dotazy. Pokud chcete vytvořit sestavu, proveďte následující dodatečné kroky spolu s tím, co je definováno dále v tomto článku.
- Rozbalit
Test
doTest.ContainerName
- Vyberte průřez vizualizace Power BI a přidejte pole
Test.ContainerName
do pole průřezu . - V průřezu vyberte název kontejneru, pro který potřebujete zobrazit souhrn výsledků.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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
Neúspěšné testy filtrované podle vlastníka testu
Pokud chcete zobrazit neúspěšný test kanálu pro testy vlastněné konkrétním vlastníkem testu, použijte následující dotazy. Pokud chcete vytvořit sestavu, proveďte následující dodatečné kroky spolu s tím, co je definováno dále v tomto článku.
- Rozbalit
Test
doTest.TestOwner
- Vyberte průřez vizualizace Power BI a přidejte pole
Test.TestOwner
do pole průřezu . - Vyberte vlastníka testu z průřezu, pro který potřebujete zobrazit souhrn výsledků.
Zkopírujte a vložte následující dotaz Power BI přímo do okna Získat>prázdné dotazy . Další informace najdete v tématu Přehled ukázkových sestav pomocí dotazů 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
Náhradní řetězce a rozpis dotazů
Nahraďte následující řetězce hodnotami. Nezahrnujte do náhradních závorek {} . Pokud je například název vaší organizace "Fabrikam", nahraďte {organization}
ho Fabrikam
, nikoli {Fabrikam}
.
{organization}
– Název vaší organizace{project}
- Název projektu vašeho týmu{pipelinename}
– Název vašeho kanálu. Příklad:Fabrikam hourly build pipeline
{startdate}
- Datum zahájení sestavy. Formát: RRRR-MM-DDZ. Příklad:2021-09-01Z
představuje 1. září 2021. Nepoužívejte uvozovky ani hranaté závorky a pro oba měsíce a datum použijte dvě číslice.
Rozpis dotazů
Následující tabulka popisuje jednotlivé části dotazu.
Část dotazování
Popis
$apply=filter(
Klauzule Start filter()
.
Pipeline/PipelineName eq '{pipelineName}'
Návratová testovací spuštění pro zadaný kanál.
and CompletedOn/Date ge {startdate}
Návratová testovací spuštění k zadanému datu nebo po tomto datu.
and Workflow eq 'Build'
Návratová testovací spuštění pro Build
kanál pracovního postupu
)
Klauzule Close filter()
/groupby(
Klauzule Start groupby()
.
(TestSK, Test/TestName),
Seskupte podle názvu testu.
aggregate(
Počáteční aggregate
klauzule pro součet testovacích běhů odpovídajících kritériím filtru.
ResultCount with sum as TotalCount,
Spočítejte celkový počet testovacích běhů jako TotalCount
.
ResultPassCount with sum as PassedCount,
Spočítejte celkový počet úspěšných testovacích běhů jako PassedCount
.
ResultFailCount with sum as FailedCount,
Spočítejte celkový počet neúspěšných testovacích spuštění jako FailedCount
.
ResultNotExecutedCount with sum as NotExecutedCount
Spočítejte celkový počet nespouštět testovacích běhů jako NotExecutedCount
.
ResultNotImpactedCount with sum as NotImpactedCount,
Spočítejte celkový počet ovlivněných testovacích běhů jako NotImpactedCount
.
ResultFlakyCount with sum as FlakyCount
Spočítejte celkový počet záležných testovacích běhů jako FlakyCount
.
))
Uzavření aggregate()
a groupby()
klauzule
/compute(
Klauzule Start compute()
.
iif(TotalCount gt NotExecutedCount, ((PassedCount add NotImpactedCount) div cast(TotalCount sub NotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate
Pro všechny testy vypočítejte PassRate
.
)
Klauzule Close compute()
(Volitelné) Přejmenování dotazu
Výchozí popisek dotazu , Query1, můžete přejmenovat na něco smysluplnějšího. Jednoduše zadejte nový název z podokna Nastavení dotazu.
Rozbalení sloupce Test v Power BI
Test
Rozbalením sloupce zobrazíte rozbalenou entitu Test.TestName
. Rozbalení sloupce zplošťuje záznam do konkrétních polí. Postup najdete v tématu Transformace analytických dat pro generování sestav Power BI a rozbalení sloupců.
Změna datového typu sloupce
V Editor Power Query vyberte
TotalCount
položku , ,PassedCount
FailedCount
,NotExecutedCount
,NotImpactedCount
aFlakyCount
sloupce; v nabídce Transformace vyberte Datový typ a pak zvolte Celé číslo.PassRate
Vyberte sloupec, v nabídce Transformace vyberte datový typ a pak zvolte Desetinné číslo.
Další informace o změně datového typu najdete v tématu Transformace analytických dat pro generování sestav Power BI a transformace datového typu sloupce.
Zavřete dotaz a použijte změny.
Jakmile dokončíte všechny transformace dat, v nabídce Domů zvolte Zavřít a použít dotaz a vraťte se na kartu Sestava v Power BI.
Vytvoření sestavy tabulky
V Power BI v části Vizualizace zvolte Tabulka a přetáhněte pole do oblasti Sloupce .
Do oddílu Sloupce v uvedeném pořadí přidejte následující pole.
Test.TestName
TotalCount
PassedCount
FailedCount
NotImpactedCount
NotExecutedCount
FlakyCount
PassRate
Sestava by měla vypadat podobně jako na následujícím obrázku.
Testovací zdroje úkolů
- Paralelní spouštění testů pomocí úlohy Visual Studio Test
- Paralelní spouštění testů pro všechny spouštěče testů
- Zrychlení testování pomocí analýzy dopadu testu (TIA)
- Správa nespolehlivého testování
- Aspekty testování uživatelského rozhraní
- Zátěžové testování Azure
- Referenční informace k úlohám Azure Pipelines, testovací úlohy