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
Raporty dotyczące czasu trwania testu, podobne do tego przedstawionego na poniższym obrazku, zapewniają wgląd w liczbę uruchomień testu i średni czas potrzebny na wykonanie określonego testu podczas procesu potokowego.
Użyj zapytań podanych w tym artykule, aby wygenerować następujące raporty:
- Czas trwania testu dla przepływu kompilacji
- Czas trwania testu dla przepływu pracy związanego z wydaniem
- Czas trwania testu dla określonej gałęzi
- Czas trwania testu dla określonego pliku testowego
- Czas trwania 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 danych analizy OData. Podziel się swoją opinią.
| Kategoria | Wymagania |
|---|---|
| poziomy dostępu |
-
Członek projektu. — Co najmniej podstawowy dostęp. |
| 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
Użyj następujących zapytań TestResultsDaily zestawu jednostek, aby utworzyć różne, ale podobne raporty czasu trwania testu. Zestaw encji TestResultsDaily udostępnia dzienny zrzut zbiorczy wykonań TestResult, pogrupowanych według testu.
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.
Czas trwania testu dla przepływu pracy kompilacji
Użyj następujących zapytań, aby wyświetlić raport czasu trwania testu dla pipeline'u z przepływem kompilacji.
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 Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Czas trwania testu dla przepływu pracy release'u
Użyj następujących zapytań, aby wyświetlić raport czasu trwania testu dla potoku z przepływem Release.
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 Date/Date ge {startdate}"
&")/groupby("
&"(TestSK, Test/TestName, Workflow),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Czas trwania testu filtrowany według gałęzi
Aby wyświetlić czas trwania testów pipeline'u 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 Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName, Branch/BranchName),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Czas trwania testu filtrowany według pliku testowego
Aby wyświetlić czas trwania testu pipeline dla testów należących do konkretnego właściciela, używaj 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 plik testowy 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 Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName, Test/ContainerName),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Czas trwania testu filtrowany przez właściciela testu
Aby wyświetlić czas trwania testu pipeline dla testów należących do konkretnego właściciela, używaj 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 Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName, Test/TestOwner),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Ciągi podstawienia 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: RRRR-MM-DDZ. Przykład:2021-09-01Zreprezentuje 1 września 2021 r. Nie umieszczaj cudzysłowia ani nawiasów i używaj dwóch cyfr zarówno dla miesiąca, jak i dnia.
Podział zapytań
W poniższej tabeli opisano każdą część zapytania.
Część kwerendy
Opis
$apply=filter(
Rozpocznij klauzulę filter().
Pipeline/PipelineName eq '{pipelineName}'
Zwróć przebiegi testów dla nazwanego potoku.
And Date/Date ge {startdate}
Zwracany test jest uruchamiany w określonym dniu lub po określonej dacie.
and Workflow eq 'Build'
Zwracanie przebiegów testu dla Build przepływu pracy.
)
Zamknij filter() klauzulę.
/groupby(
Rozpocznij klauzulę groupby().
(TestSK, Test/TestName),
Grupuj według nazwy testu.
aggregate(
Klauzula Start aggregate , aby zsumować różne wyniki przebiegu testu zgodne z kryteriami filtrowania.
ResultCount with sum as TotalCount,
Zlicz łączną liczbę przebiegów testów jako TotalCount.
ResultDurationSeconds with sum as TotalDuration
Sumuj łączny czas trwania wszystkich przebiegów jako TotalDuration.
))
Zamknij aggregate() i groupby() klauzule.
/compute(
Rozpocznij klauzulę compute().
TotalDuration div TotalCount as AvgDuration
Dla wszystkich testów oblicz średni czas trwania, dzieląc łączny czas trwania przez łączną liczbę przebiegów.
)
Zamknij compute() klauzulę.
(Opcjonalnie) Zmienianie nazwy zapytania
Możesz zmienić nazwę domyślnej etykiety zapytania Query1 na bardziej zrozumiałą. Wprowadź nową nazwę w okienku Ustawienia zapytania .
Rozwiń kolumnę Test w Power BI
Rozwiń kolumnę, Test aby wyświetlić rozwiniętą jednostkę Test.TestName. Kiedy rozwijasz kolumnę, spłaszczasz rekord do określonych pól. Aby uzyskać więcej informacji, zobacz Transformuj dane analityczne, aby generować raporty Power BI, Rozszerz kolumny.
Zmienianie typu danych kolumny
W Edytor Power Query wybierz kolumnę
TotalCount. Wybierz pozycję Typ danych z menu Przekształć , a następnie wybierz pozycję Liczba całkowita.Wybierz kolumny
TotalDurationiAvgDuration. 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 Transform Analytics dane, aby generować raporty Power BI oraz Przekształć typ 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 . Ta akcja zapisuje zapytanie i zwraca cię do karty Report w Power BI.
Utwórz raport tabeli
W Power BI w obszarze Visualizations wybierz pozycję Table. Przeciągnij i upuść pola do obszaru Kolumny.
Dodaj następujące pola do sekcji Kolumny w podanej kolejności.
Test.TestNameTotalCountAvgDuration
Kliknij prawym przyciskiem na pole
AvgDurationi wybierz pozycję Średnia zamiast Suma.
Raport powinien wyglądać podobnie do poniższej ilustracji.