Sdílet prostřednictvím


Ukázková sestava neúspěšných testů

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.

Snímek obrazovky se sestavou tabulky neúspěšných testů

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í EntityTypehodnotu .

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 do Branch.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 do Test.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 do Test.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.

Snímek obrazovky s možnostmi nabídky dotazu v Power BI, včetně přejmenování 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

  1. V Editoru Power Query vyberte sloupce TotalCount, PassedCount, FailedCount, NotExecutedCount, NotImpactedCount a FlakyCount; v nabídce Transformovat vyberte Datový typ a pak zvolte Celé číslo.

  2. 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.

Snímek obrazovky možnosti Zavřít a Použít v Editoru Power Query.

Vytvořte sestavu tabulky

  1. V Power BI v části Vizualizace zvolte Tabulka a přetáhněte pole do oblasti Sloupce .

    Snímek obrazovky s výběrem polí vizualizace pro sestavu tabulky neúspěšných testů

  2. 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.

Snímek obrazovky se sestavou ukázkové tabulky neúspěšných testů

Testovací úkolové zdroje