Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Můžete vytvořit zprávu se seznamem neúspěšných testů, podobně jako na následujícím obrázku, pro běhy v kanálu, které obsahují testovací úlohy. Informace o přidávání testů do procesu najdete v části o zdrojích úkolu Test dále v tomto článku.
Pomocí dotazů uvedených v tomto článku vygenerujte následující reporty.
- Neúspěšné testy sestavovacího pracovního postupu
- Neúspěšné testy v rámci pracovního postupu 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 zdroji 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.
Kategorie | Požadavky |
---|---|
úrovně přístupu |
-
Člen projektu. - Alespoň základní přístup. |
Oprávnění | Ve výchozím nastavení mají členové projektu oprávnění dotazovat se na Analytics a vytvářet 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 jste si přečetli Přehled ukázkových sestav pomocí OData dotazů a máte základní znalost práce s 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 neúspěšných testů kanálů. Sada entit TestResultsDaily
poskytuje denní souhrnný pohled na TestResult
vykonávání, seskupené podle Testu.
Poznámka:
Informace o dostupných vlastnostech pro účely filtrování nebo vytváření sestav najdete v referenčním materiálu o metadatech pro Test Plans Analytics a v referenčním materiálu o metadatech pro Azure Pipelines. Dotazy můžete filtrovat nebo vracet vlastnosti pomocí libovolné hodnoty Property
z hodnot pod EntityType
nebo NavigationPropertyBinding Path
hodnot dostupných s EntitySet
. 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 data>prázdného dotazu. 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ů v kanálu vydání pracovního postupu použijte následující dotazy.
Zkopírujte a vložte následující dotaz Power BI přímo do Get Data okna>Prázdný dotaz. 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í dodatečné kroky 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 data>Prázdný dotaz. 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 data>Prázdný dotaz. Další informace najdete v sekci 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 v pipeline 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 data>Prázdný dotaz. 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 analýza dotazů
Nahraďte následující řetězce hodnotami. Nezahrnujte závorky {} se svou náhradou. Pokud je například název vaší organizace "Fabrikam", nahraďte {organization}
Fabrikam
, nikoli {Fabrikam}
.
-
{organization}
– Název vaší organizace -
{project}
- Název projektu vašeho týmu -
{pipelinename}
– Název vašeho pipeline. Příklad:Fabrikam hourly build pipeline
-
{startdate}
- Datum zahájení vaší zprávy. 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(
Začněte filter()
klauzuli.
Pipeline/PipelineName eq '{pipelineName}'
Vrátit testovací běhy pro zadanou pipeline.
and CompletedOn/Date ge {startdate}
Vrátit testovací spuštění k zadanému datu nebo po něm.
and Workflow eq 'Build'
Návratová testovací spuštění pro Build
kanál pracovního postupu
)
Uzavřít filter()
klauzuli.
/groupby(
Začněte klauzuli 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 neprovedených testovacích běhů jako NotExecutedCount
.
ResultNotImpactedCount with sum as NotImpactedCount,
Spočítejte celkový počet neovlivněných testovacích běhů jako NotImpactedCount
.
ResultFlakyCount with sum as FlakyCount
Spočítejte celkový počet nestabilních testovacích běhů FlakyCount
.
))
Uzavřete klauzule aggregate()
a groupby()
.
/compute(
Zahájit compute()
klauzuli.
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
.
)
Uzavřít klauzuli 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 Editoru Power Query vyberte sloupce
TotalCount
,PassedCount
,FailedCount
,NotExecutedCount
,NotImpactedCount
aFlakyCount
; v nabídce Transformovat 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, zvolte Zavřít a použítv nabídce Domů pro uložení dotazu a vraťte se na kartu Sestava v Power BI.
Vytvořte sestavu 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
Vaše zpráva by měla být podobná následujícímu obrázku.
Testovací úkolové zdroje
- Paralelní spouštění testů pomocí úlohy Visual Studio Test
- Paralelní spouštění testů s jakýmkoli spouštěčem testů
- Zrychlení testování pomocí analýzy dopadu testu (TIA)
- Správa nespolehlivých testů
- Aspekty testování uživatelského rozhraní
- Zátěžové testování Azure
- Referenční informace k úlohám Azure Pipelines, testovací úlohy