Тенденция скорости передачи тестового примера отчета

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

Отчеты о трендах передачи предоставляют аналитические сведения о среднем времени выполнения определенного теста во время выполнения конвейера.

Пример показан на следующем рисунке.

Снимок экрана: отчет о тренде передачи.

Внимание

Интеграция Power BI и доступ к веб-каналуOData службы Аналитики общедоступны для Azure DevOps Services и Azure DevOps Server 2020 и более поздних версий. Примеры запросов, указанные в этой статье, допустимы только для Azure DevOps Server 2020 и более поздних версий, и зависят от версии 3.0-preview или более поздней версии. Мы рекомендуем вам использовать эти запросы и предоставлять нам отзывы.

Необходимые компоненты

  • Чтобы просмотреть данные аналитики и запросить службу, необходимо быть членом проекта с базовым доступом или большим доступом. По умолчанию все члены проекта предоставляют разрешения для запроса аналитики и определения представлений Аналитики.
  • Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий по отслеживанию данных см. в статье "Разрешения и предварительные требования для доступа к аналитике".

Примечание.

В этой статье предполагается, что вы прочитали обзор примеров отчетов с помощью запросов OData и имеют базовое представление о Power BI.

Примеры запросов

Примечание.

В этой статье предполагается, что вы прочитали обзор примеров отчетов с помощью запросов OData и имеют базовое представление о Power BI.

Запрос Power BI, указанный ниже, можно вставить непосредственно в окно получения пустого запроса.> Дополнительные сведения см. в обзоре примеров отчетов с помощью запросов 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 Test/TestName eq '{testName}' "
        &"And Workflow eq 'Build') "
            &"/groupby((Date/Date), "
                &"aggregate( "
                &"ResultCount with sum as TotalCount, "
            &"ResultPassCount with sum as ResultPassCount, "
                &"ResultFailCount with sum as ResultFailCount, "
            &"ResultAbortedCount with sum as ResultAbortedCount, "
        &"ResultErrorCount with sum as ResultErrorCount, "
    &"ResultInconclusiveCount with sum as ResultInconclusiveCount, "
    &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
    &"ResultNotImpactedCount with sum as ResultNotImpactedCount)) "
    &"/filter(ResultFailCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Строки подстановки и разбивка запросов

Замените следующие строки значениями. Не включайте скобки в подстановку {} . Например, если вашей организации присвоено имя Fabrikam, замените {organization} на Fabrikam, а не {Fabrikam}.

 

  • {organization} — Название организации
  • {project} — Имя проекта группы
  • {pipelinename} — Имя конвейера. Пример: Fabrikam hourly build pipeline
  • {testName} — Имя теста
  • {startdate} — Дата начала отчета. Формат: ГГГГ-ММ-ДДЗ. Пример: 2021-09-01Z представляет 1 сентября 2021 г. Не заключайте в кавычки или скобки и используйте две цифры как для месяца, так и для даты.

Разбивка запросов

В следующей таблице описана каждая часть запроса.

Часть запроса

Description


$apply=filter(

Предложение Start filter() .

Pipeline/PipelineName eq '{pipelineName}'

Возврат тестов для указанного конвейера

And Date/Date ge {startdate}

Возврат тестов выполняется в указанной дате или после нее.

And Test/TestName eq '{testName}'

Возврат тестов выполняется только для указанного имени теста.

and Workflow eq 'Build'

Возврат тестов для Build рабочего процесса.

)

Закрыть filter() предложение.

/groupby(

Предложение Start groupby() .

(Date/Date),

Группируйте по дате завершения тестового выполнения.

aggregate(

Предложение start aggregate , чтобы суммировать различные результаты тестового выполнения, соответствующие критериям фильтра.

ResultCount with sum as TotalCount,

Подсчитывает общее число тестовых запусков в качестве TotalCount.

ResultPassCount with sum as ResultPassCount,

Подсчитывать общее количество пройденных тестовых запусков в качестве ResultPassCount.

ResultFailCount with sum as ResultFailCount,

Подсчитывать общее количество неудачных тестов.ResultFailCount

ResultAbortedCount with sum as ResultAbortedCount,

Подсчитывать общее число прерванных тестов в качестве ResultAbortedCount.

ResultErrorCount with sum as ResultErrorCount,

Подсчитывайте общее количество тестов, помеченных как ошибка ResultErrorCount.

ResultNotExecutedCount with sum as ResultNotExecutedCount,

Подсчитывать общее число неисполнимых тестов, выполняемых как ResultNotExecutedCount.

ResultNotImpactedCount with sum as ResultNotImpactedCount

Подсчет общего числа не затронутых тестов выполняется как ResultNotImpactedCount.

))

Закройте aggregate() и groupby() предложения.

/compute(

Предложение Start compute() .

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

В течение всех дней вычислите PassRate .

)

Закрыть compute() предложение.

(Необязательно) Переименование запроса

Вы можете переименовать метку запроса по умолчанию, query1, в что-то более понятное. Просто введите новое имя из области Параметры запроса.

Снимок экрана: параметры меню запроса Power BI, переименование запроса.

Разверните столбец Date в Power BI

Date Разверните столбец, чтобы отобразить развернутую сущностьCompletedOn.Date. Расширение столбца сглаживает запись в определенные поля. Сведения о том, как можно узнать, как создавать отчеты Power BI, см. в статье "Преобразование аналитических данных" для создания отчетов Power BI, разверните столбцы.

Изменение типа данных столбца

  1. В Редактор Power Query выберите TotalCount столбец; выберите тип данных в меню "Преобразование", а затем выберите Кто le Number.

  2. PassRateВыберите столбец, выберите тип данных в меню "Преобразование", а затем — десятичное число.

Дополнительные сведения об изменении типа данных см. в статье "Преобразование аналитических данных" для создания отчетов Power BI, преобразования типа данных столбца.

Закройте запрос и примените изменения

Завершив все преобразования данных, нажмите кнопку "Закрыть" и "Применить " из меню "Главная ", чтобы сохранить запрос и вернуться на вкладку "Отчет " в Power BI.

Снимок экрана: параметр Редактор Power Query Закрыть и применить.

Создание отчета о графике и стеке диаграммы

  1. В Power BI в разделе "Визуализации" выберите диаграмму линии и стека и перетащите поля на области диаграммы.

    Снимок экрана: выбор полей визуализации для отчета о табличной таблице скорости скорости передачи.

  2. Добавьте Date.Date в ось X правой кнопкой мыши поле и выберите Date.Date, а не Иерархия дат.

  3. Добавьте ResultPassCount и ResultFailCount в ось y столбца.

  4. Добавьте PassRate в ось y линии.

Отчет должен выглядеть примерно так, как показано на следующем рисунке.

Снимок экрана: отчет о тренде скорости передачи образца.

Тестирование ресурсов задачи