Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
W przypadku potoków obejmujących zadania testowe można utworzyć raport pokazujący liczbę przebiegów testów według wyniku: zakończony powodzeniem, niepowodzeniem, nieprzeprowadzonym i bez wpływu.
Na poniższej ilustracji przedstawiono przykład raportu podsumowania testu.
Użyj zapytań w tym artykule, aby wygenerować następujące raporty:
- Podsumowanie testu dla procesu budowania
- Podsumowanie testu przepływu pracy związanego z wydaniem
- Podsumowanie testu dla określonej gałęzi
- Podsumowanie testu dla określonego pliku testowego
- Podsumowanie testu dla określonego właściciela testu
Uwaga
Przykładowe zapytania w tym artykule wymagają wersji 3.0-preview lub nowszej źródła OData Analytics. Podziel się swoją opinią.
| Kategoria | Wymagania |
|---|---|
| poziomy dostępu |
-
Członek projektu. — Co najmniej dostęp w warstwie podstawowej. |
| Uprawnienia użytkownika | Domyślnie członkowie projektu mają uprawnienia do wykonywania zapytań w usłudze Analytics i tworzenia widoków. Aby uzyskać więcej informacji na temat innych wymagań wstępnych dotyczących włączania usługi i funkcji oraz ogólnych działań śledzenia danych, zobacz Uprawnienia i wymagania wstępne dotyczące dostępu do analizy. |
Uwaga
W tym artykule założono, że przeczytasz Przegląd przykładowych raportów przy użyciu zapytań OData i masz podstawową wiedzę na temat Power BI.
Przykładowe zapytania
Aby utworzyć różnorodne, ale podobne podsumowania raportów z testów potoków TestResultsDaily, użyj następujących zapytań zestawu jednostek. Ten zbiór encji udostępnia codzienną zbiorczą migawkę wykonań pogrupowanych według testów.
Uwaga
Aby znaleźć dostępne właściwości filtrowania lub raportowania, zobacz dokumentację Metadata dla analizy planów testów i Metadata dla Azure Pipelines. Zapytania lub właściwości zwracane można filtrować przy użyciu dowolnej Property wartości zdefiniowanej pod EntityType, lub dowolnej NavigationPropertyBinding Path wartości wymienionej dla EntitySet. Każda EntitySet mapuje na EntityType, który dokumentuje typ danych dla każdej właściwości.
Podsumowanie testu dla procesu build
Aby wyświetlić podsumowanie testu pipeline'u dla przepływu pracy kompilacji, użyj następujących zapytań.
Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań OData.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and DateSK ge {startdate} "
&"and Workflow eq 'Build' "
&")/aggregate("
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultFailCount with sum as ResultFailCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Podsumowanie testów przebiegu publikacji
Aby wyświetlić podsumowanie testu potoku dla przepływu pracy Release, użyj następujących zapytań.
Uwaga
Aby znaleźć dostępne właściwości filtrowania lub raportowania, zobacz dokumentację metadanych dla analizy planów testów. Zapytania lub właściwości zwracane można filtrować przy użyciu dowolnej Property wartości zdefiniowanej pod EntityType, lub dowolnej NavigationPropertyBinding Path wartości wymienionej dla EntitySet. Każda EntitySet mapuje na EntityType, który dokumentuje typ danych dla każdej właściwości.
Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań OData.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and DateSK ge {startdate} "
&"and Workflow eq 'Release'"
&")/aggregate("
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultFailCount with sum as ResultFailCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Podsumowanie testu filtrowane według gałęzi
Aby wyświetlić podsumowanie testu potoku dla określonej gałęzi, użyj następujących zapytań. Aby utworzyć raport, wykonaj następujące dodatkowe kroki wraz z elementami określonymi w dalszej części tego artykułu.
- Rozwiń
BranchnaBranch.BranchName. - Wybierz wizualizację fragmentatora Power BI i dodaj pole
Branch.BranchNamedo fragmentatora. - Wybierz nazwę gałęzi z fragmentatora, dla którego chcesz wyświetlić podsumowanie wyników.
Aby uzyskać więcej informacji na temat używania fragmentatorów, zobacz Slicers w Power BI.
Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań OData.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and DateSK ge {startdate} "
&"and Workflow eq 'Build'"
&")/groupby("
&"(Branch/BranchName),"
&"aggregate("
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultFailCount with sum as ResultFailCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Podsumowanie testu filtrowane według pliku testowego
Aby wyświetlić podsumowanie testu potoku dla określonego pliku testowego, użyj następujących zapytań. Aby utworzyć raport, wykonaj następujące dodatkowe kroki wraz z definicją w dalszej części tego artykułu.
- Rozwiń
TestnaTest.ContainerName. - Wybierz wizualizację fragmentatora Power BI i dodaj pole
Test.ContainerNamedo fragmentatora. - Wybierz nazwę kontenera z fragmentatora, dla którego chcesz wyświetlić podsumowanie wyników.
Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań OData.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and DateSK ge {startdate} "
&"and Workflow eq 'Build'"
&")/groupby("
&"(Test/ContainerName),"
&"aggregate("
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultFailCount with sum as ResultFailCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Podsumowanie testu filtrowane według właściciela testu
Aby wyświetlić podsumowanie testu potoku dla testów należących do określonego właściciela testu, użyj następujących zapytań. Aby utworzyć raport, wykonaj następujące dodatkowe kroki wraz z definicją w dalszej części tego artykułu.
- Rozwiń
TestnaTest.TestOwner. - Wybierz wizualizację fragmentatora Power BI i dodaj pole
Test.TestOwnerdo fragmentatora. - Wybierz właściciela testu z fragmentatora, dla którego musisz wyświetlić podsumowanie wyników.
Skopiuj i wklej następujące zapytanie Power BI bezpośrednio do okna Pobierz dane>Blnk Query. Aby uzyskać więcej informacji, zobacz Omówienie przykładowych raportów przy użyciu zapytań OData.
let
Source = OData.Feed (
"https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and DateSK ge {startdate} "
&"and Workflow eq 'Build'"
&")/groupby("
&"(Test/TestOwner),"
&"aggregate("
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultFailCount with sum as ResultFailCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Łańcuchy zamienników i podział zapytań
Zastąp następujące ciągi swoimi wartościami. Nie uwzględniaj nawiasów klamrowych {} w podstawieniu. Jeśli na przykład nazwa organizacji to "Fabrikam", zastąp ciąg {organization}Fabrikam, a nie {Fabrikam}.
-
{organization}— Nazwa organizacji. -
{project}— Nazwa projektu zespołowego. -
{pipelineName}— Nazwa potoku. Przykład:Fabrikam hourly build pipeline. -
{startdate}— Data rozpoczęcia raportu. Format: RRRRMMDD. Przykład:20220815dla 15 sierpnia 2022 r.
Podział zapytań
W poniższej tabeli opisano każdą część zapytania.
Część kwerendy
Opis
$apply=filter(
Rozpocznij filter() klauzulę.
Pipeline/PipelineName eq '{pipelineName}'
Zwracanie przebiegów testów dla określonego potoku.
and DateSK ge {startdate}
Zwracany test jest uruchamiany w określonym dniu lub po określonej dacie.
and Workflow eq 'Build' lub and Workflow eq 'Release'
Zwracanie przebiegów testu tylko dla potoków wyznaczonych dla przepływu pracy Build lub Release.
)
Zamknij filter() klauzulę.
aggregate(
Uruchom klauzulę aggregate dla wszystkich testów spełniających kryteria filtrowania.
ResultCount with sum as ResultCount,
Zlicz łączną liczbę przebiegów testów jako ResultCount.
ResultPassCount with sum as ResultPassCount,
Zlicz łączną liczbę przebiegów testów zakończonych powodzeniem jako ResultPassCount.
ResultFailCount with sum as ResultFailCount
Zlicz łączną liczbę przebiegów testu zakończonych niepowodzeniem jako ResultFailCount.
ResultNotExecutedCount with sum as ResultNotExecutedCount,
Zlicz łączną liczbę niewykonanych testów jako ResultNotExecutedCount.
ResultNotImpactedCount with sum as ResultNotImpactedCount
Zlicz łączną liczbę przebiegów testów, których nie dotyczy problem, jako ResultNotImpactedCount.
)
Zamknij klauzulę aggregate() .
(Opcjonalnie) Zmienianie nazwy zapytania
Możesz zmienić nazwę domyślnej etykiety zapytania Query1 na bardziej zrozumiałą. Wprowadź nową nazwę w okienku Ustawienia zapytania .
(Opcjonalnie) Zmienianie nazwy pól kolumn
Możesz zmienić nazwy pól kolumn na bardziej przyjazne dla użytkownika. Aby dowiedzieć się, jak to zrobić, zobacz Zmienianie nazwy pól kolumn.
Zamknij zapytanie i zastosuj zmiany
Po zakończeniu wszystkich przekształceń danych wybierz pozycję Zamknij i zastosuj z menu Narzędzia główne . Ta akcja zapisuje zapytanie i zwraca cię do karty Report w Power BI.
Utwórz raport w formie wykresu pierścieniowego
W Power BI w obszarze Visualizations wybierz raport Donut.
Dodaj następujące pola do wartości w pokazanej kolejności. Kliknij prawym przyciskiem myszy każde pole i upewnij się, że wybrano pozycję Suma .
ResultPassCountResultFailCountResultNotExecutedCount-
ResultNotImpactedCountRaport powinien wyglądać podobnie do poniższej ilustracji.