Przykładowy raport trendu podsumowania testów
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Potoki zawierające zadania testowe można wykonywać w celu utworzenia raportu trendu podsumowania testu. Na przykład poniższy raport przedstawia liczbę przebiegów testów zakończonych niepowodzeniem w każdej kolumnie w okresie 24 dni wraz z wykresem liniowym przedstawiającym trend współczynnika przebiegu testu. Aby uzyskać informacje na temat dodawania testów do potoku, zobacz sekcję Testowanie zasobów zadań w dalszej części tego artykułu.
W szczególności ten artykuł zawiera przykładowe zapytania dotyczące generowania następujących raportów:
- Trend podsumowania testów dla przepływu pracy kompilacji
- Trend podsumowania testów dla przepływu pracy wydania
- Trend podsumowania testów dla określonej gałęzi
- Trend podsumowania testu dla określonego pliku testowego
- Trend podsumowania testu dla określonego właściciela testu.
Ważne
Integracja usługi Power BI i dostęp do źródła danych OData usługi Analytics są ogólnie dostępne dla usług Azure DevOps Services i Azure DevOps Server 2020 i nowszych wersji. Przykładowe zapytania podane w tym artykule są prawidłowe tylko w przypadku usługi Azure DevOps Server 2020 i nowszych wersji oraz zależą od wersji 3.0 w wersji zapoznawczej lub nowszej. Zachęcamy do korzystania z tych zapytań i przekazywania opinii.
Wymagania wstępne
- Dostęp: być członkiem projektu z co najmniej dostępem podstawowym.
- Uprawnienia: 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 zapoznasz się z omówieniem przykładowych raportów przy użyciu zapytań OData i masz podstawową wiedzę na temat usługi Power BI.
Przykładowe zapytania
Następujące zapytania TestRuns
zestawu jednostek umożliwiają tworzenie różnych, ale podobnych raportów trendów podsumowania testów potoku. Zestaw TestRuns
jednostek dla następujących zapytań jest dostępny tylko wtedy, gdy uwzględniasz zadania testowe w ramach definicji potoku.
Uwaga
Aby określić dostępne właściwości dla celów filtru lub raportu, zobacz Dokumentacja metadanych dla planów testów i dokumentacja metadanych dla usługi Azure Pipelines. Możesz filtrować zapytania lub zwracać właściwości przy użyciu dowolnej z Property
wartości dostępnych EntityType
w elemecie EntitySet
lub NavigationPropertyBinding Path
. Każda z nich EntitySet
odpowiada elementowi EntityType
. Aby uzyskać więcej informacji na temat typu danych każdej wartości, zapoznaj się z metadanymi podanymi dla odpowiedniego EntityType
elementu .
Trend podsumowania testów dla przepływu pracy kompilacji
Użyj następujących zapytań, aby wyświetlić trend podsumowania testu potoku dla przepływu pracy kompilacji.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/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 podsumowania testów dla przepływu pracy wydania
Użyj następujących zapytań, aby wyświetlić trend podsumowania testu potoku zdefiniowanego dla przepływu pracy wydania .
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/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 podsumowania testu filtrowany według gałęzi
Aby wyświetlić trend podsumowania 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ń
Branch
doBranch.BranchName
- Wybierz fragmentator wizualizacji usługi Power BI i dodaj pole do pola
Branch.BranchName
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 Fragmentatory w usłudze Power BI.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/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 podsumowania testu filtrowany według pliku testowego
Aby wyświetlić trend podsumowania 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ń
Test
doTest.ContainerName
- Wybierz fragmentator wizualizacji usługi Power BI i dodaj pole do pola
Test.ContainerName
fragmentatora - Wybierz nazwę kontenera z fragmentatora, dla którego chcesz wyświetlić podsumowanie wyników.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/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 podsumowania testu filtrowany przez właściciela testu
Aby wyświetlić trend podsumowania 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ń
Test
doTest.TestOwner
- Wybierz fragmentator wizualizacji usługi Power BI i dodaj pole do pola
Test.TestOwner
fragmentatora - Wybierz właściciela testu z fragmentatora, dla którego musisz wyświetlić podsumowanie wyników.
Skopiuj i wklej następujące zapytanie usługi Power BI bezpośrednio w oknie Pobieranie pustego >zapytania. 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/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
Ciągi podstawienia i podział zapytań
Zastąp następujące ciągi wartościami. Nie dołączaj nawiasów {} do podstawienia. Na przykład jeśli nazwa organizacji to "Fabrikam", zastąp Fabrikam
ciąg {organization}
, a nie {Fabrikam}
.
{organization}
— Nazwa organizacji{project}
— Nazwa projektu zespołowego{pipelinename}
— Nazwa potoku. Przykład: potok kompilacji godzinowej firmy Fabrikam{startdate}
Data rozpoczęcia raportu. Format: RRRR-MM-DDZ. Przykład: 2023-01-01Z reprezentuje 1 stycznia 2023 r. o godzinie 12:50:54. Nie umieszczaj cudzysłowów ani nawiasów kwadratowych.
Podział zapytań
W poniższej tabeli opisano każdą część zapytania.
Część kwerendy
Opis
$apply=filter(
Klauzula Start filter()
.
Pipeline/PipelineName eq '{pipelineName}'
Zwracanie przebiegów testów dla określonego potoku.
and CompletedOn/Date ge {startdate}
Zwracany test jest uruchamiany w określonym dniu lub po określonej dacie.
and Workflow eq 'Build'
Zwracanie przebiegów testów dla potoku z przepływem Build
pracy
)
Close, klauzula filter()
/groupby(
Klauzula Start groupby()
.
(CompletedOn/Date),
Grupuj według daty ukończenia przebiegu testu.
aggregate(
Klauzula Start aggregate
. Dla wszystkich przebiegów testów spełniających kryteria filtrowania zsumuj serię liczb.
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
.
ResultNotExecutedCount with sum as ResultNotExecutedCount,
Zlicz łączną liczbę nie wykonanych przebiegów testu jako ResultNotExecutedCount
.
ResultNotImpactedCount with sum as ResultNotImpactedCount
Zlicz łączną liczbę przebiegów testów, których nie dotyczy problem, jako ResultNotImpactedCount
.
ResultFailCount with sum as ResultFailCount
Zlicz łączną liczbę przebiegów testu zakończonych niepowodzeniem jako ResultFailCount
.
))
Zamknij aggregate()
i groupby()
klauzule.
/compute(
Klauzula Start compute()
.
iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate
Dla wszystkich dni oblicz wartość PassRate
.
)
Zamknij compute()
klauzulę.
(Opcjonalnie) Zmienianie nazwy zapytania
Możesz zmienić nazwę domyślnej etykiety zapytania Query1 na bardziej zrozumiałą. Po prostu wprowadź nową nazwę w okienku Ustawienia zapytania.
Rozwiń kolumnę CompletedOn w usłudze Power BI
Rozwiń kolumnę CompletedOn
. Rozszerzanie kolumny spłaszcza rekord do określonych pól. Aby dowiedzieć się, jak to zrobić, zobacz Przekształcanie danych analizy w celu generowania raportów usługi Power BI, Rozwiń kolumny.
Zmienianie typu danych kolumny
W Edytor Power Query wybierz kolumnęPassRate
; wybierz pozycję Typ danych z menu Przekształć, a następnie wybierz pozycję Liczba dziesiętna.
Aby uzyskać więcej informacji na temat zmiany typu danych, zobacz Przekształcanie danych analizy w celu generowania raportów usługi Power BI, Przekształcanie typu danych kolumny.
Zamknij zapytanie i zastosuj zmiany
Po zakończeniu wszystkich przekształceń danych wybierz pozycję Zamknij i zastosuj z menu Narzędzia główne , aby zapisać zapytanie i wrócić do karty Raport w usłudze Power BI.
Tworzenie raportu wykresu liniowego i kolumnowego stosu
W usłudze Power BI w obszarze Wizualizacje wybierz wykres kolumnowy Liniowy i skumulowany oraz przeciągnij i upuść pola na obszary wykresu.
Dodaj
CompletedOn.Date
do osi X, kliknij prawym przyciskiem myszy pole i wybierz pozycję Date.Date , a nie Hierarchia dat.Dodaj
ResultFailCount
do osi y kolumny.Dodaj
PassRate
do osi y linii.
Raport powinien wyglądać podobnie do poniższej ilustracji.
Testowanie zasobów zadań
- Równoległe uruchamianie testów przy użyciu zadania testowego programu Visual Studio
- Uruchamianie testów równolegle dla dowolnego modułu uruchamiającego testy
- Przyspieszanie testowania przy użyciu analizy wpływu testów (TIA)
- Zarządzanie niestabilnymi testami
- Zagadnienia dotyczące testowania interfejsu użytkownika
- Testowanie obciążenia platformy Azure
- Dokumentacja zadań usługi Azure Pipelines, Zadania testowe