Sdílet prostřednictvím


Ukázková sestava trendu testu

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Kanály, které obsahují testovací úlohy, se dají dotazovat na sestavení sestavy souhrnného trendu testů. Například následující sestava zobrazuje počet neúspěšných testovacích běhů v jednotlivých sloupcích za období 24 dnů a spojnicový graf znázorňující trend úspěšnosti testů. Informace o přidávání testů do kanálu najdete v části Zdroje úloh testování dále v tomto článku.

Snímek obrazovky se sestavou skládaného sloupcového spojnicového grafu souhrnu testu

Konkrétně tento článek obsahuje ukázkové dotazy pro generování následujících sestav:

  • Trend souhrnu testů pro pracovní postup sestavení
  • Trend souhrnu testů pro pracovní postup vydání
  • Trend souhrnu testů pro určitou větev
  • Trend souhrnu testů pro konkrétní testovací soubor
  • Souhrnný trend testu 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 TestRuns sestav souhrnných trendů testů kanálu. TestRuns Sada entit pro následující dotazy je k dispozici pouze v případě, že do definice kanálu zahrnete testovací úlohy.

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

Trend souhrnu testů pro pracovní postup sestavení

Pomocí následujících dotazů můžete zobrazit souhrnný trend testu kanálu pro pracovní postup sestavení .

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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby( "
          &"(CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend souhrnu testů pro pracovní postup vydání

Pomocí následujících dotazů můžete zobrazit souhrnný trend testu kanálu definovaného pro pracovní postup vydání .

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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Release' "
            &") "
        &"/groupby( "
          &"(CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend souhrnu testů filtrovaný podle větve

Pokud chcete zobrazit souhrnný trend testu 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 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>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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Branch/BranchName, CompletedOn/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend souhrnu testů filtrovaný podle testovacího souboru

Pokud chcete zobrazit souhrnný trend testu kanálu pro konkrétní testovací soubor, 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>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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Test/ContainerName, Date/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Trend souhrnu testů filtrovaný podle vlastníka testu

Pokud chcete zobrazit souhrnný trend testu 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 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>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/TestRuns?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"and CompletedOn/Date ge {startdate} "
                &"and Workflow eq 'Build' "
            &") "
        &"/groupby((Test/TestOwner, Date/Date), "
          &"aggregate( "
            &"ResultCount with sum as ResultCount, "
            &"ResultPassCount with sum as ResultPassCount, "
            &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
            &"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
            &"ResultFailCount with sum as ResultFailCount "
         &")) "
       &"/compute( "
       &"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, 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: Kanál buildu Fabrikam po hodinách
  • {startdate} Datum zahájení sestavy Formát: RRRR-MM-DDZ. Příklad: 2023-01-01Z představuje 1. ledna 2023 v 12:50:54. Nepoužívejte uvozovky ani hranaté závorky.

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'

Vrácení testovacích spuštění pro kanál pomocí Build pracovního postupu

)

Klauzule Close filter()

/groupby(

Klauzule Start groupby() .

(CompletedOn/Date),

Seskupte podle data dokončení testovacího běhu.

aggregate(

Klauzule Start aggregate . U všech testovacích běhů odpovídajících kritériím filtru sečtěte řadu počtů.

ResultCount with sum as ResultCount,

Spočítejte celkový počet testovacích běhů jako ResultCount.

ResultPassCount with sum as ResultPassCount,

Spočítejte celkový počet úspěšných testovacích běhů jako ResultPassCount.

ResultNotExecutedCount with sum as ResultNotExecutedCount,

Spočítejte celkový počet nespouštět testovacích běhů jako ResultNotExecutedCount.

ResultNotImpactedCount with sum as ResultNotImpactedCount

Spočítejte celkový počet ovlivněných testovacích běhů jako ResultNotImpactedCount.

ResultFailCount with sum as ResultFailCount

Spočítejte celkový počet neúspěšných testovacích spuštění jako ResultFailCount.

))

Uzavření aggregate() a groupby() klauzule

/compute(

Klauzule Start compute() .

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

Pro všechny dny 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.

Snímek obrazovky s možnostmi nabídky dotazu Power BI a přejmenování dotazu

Rozbalení sloupce CompletedOn v Power BI

CompletedOn Rozbalte sloupec. 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 PassRate 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.

Snímek obrazovky s možností Zavřít a Použít Editor Power Query

Vytvoření sestavy spojnicového a skládaného sloupcového grafu

  1. V Power BI v části Vizualizace zvolte spojnicový a skládaný sloupcový graf a přetáhněte pole do oblastí grafu.

    Snímek obrazovky s výběrem polí vizualizace pro sestavu skládaného sloupcového spojnicového grafu souhrnu testů

  2. Přidejte CompletedOn.Date na osu X, klikněte pravým tlačítkem myši na pole a vyberte Date.Date místo hierarchie kalendářních dat.

  3. Přidat ResultFailCount na osu y sloupce

  4. Přidat PassRate na osu y čáry

Sestava by měla vypadat podobně jako na následujícím obrázku.

Snímek obrazovky se sestavou skládaného sloupcového spojnicového grafu se skládaným skládaným trendem ukázkového testu

Testovací zdroje úkolů