Поделиться через


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

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 непосредственно в окно Get Data>Blank Query. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов 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(

Начать filter() предложение.

Pipeline/PipelineName eq '{pipelineName}'

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

And Date/Date ge {startdate}

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

And Test/TestName eq '{testName}'

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

and Workflow eq 'Build'

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

)

Закрыть filter() условие.

/groupby(

Начало groupby() условия.

(Date/Date),

Группировать по дате завершения тестового запуска.

aggregate(

Начните 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(

Начать 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, разверните столбцы, см. "Преобразование аналитических данных".

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

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

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

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

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

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

Снимок экрана с опцией «Закрыть и применить» в редакторе Power Query.

Создание отчета на основе линейной и столбчатой диаграммы с накоплением

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

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

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

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

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

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

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

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