Пример отчета об агрегированном представлении наборов тестов вручную

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

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

Снимок экрана: сводное представление наборов тестов Power BI — отчет.

Как показано на следующем рисунке, наборы тестов можно упорядочить в иерархической организации. Как показано ниже, есть три набора тестов с одинаковыми именами в двух тестовых наборах, помеченных Австралией и Азии. В этой статье описывается, как агрегировать данные для определенного уровня набора тестов.

Снимок экрана: структура плана тестирования Power BI для агрегированного представления.

Внимание

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

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

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

Примечание.

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

Чтобы отчет создавал полезные данные, команда должна выполнять следующие действия для управления планами тестирования:

  • Определите планы тестирования, наборы тестов и тестовые случаи. Укажите их состояние. Для запуска набора тестов он должен находиться в состоянии "Ход выполнения". Для запуска тестового случая он должен находиться в состоянии готовности. Дополнительные сведения см. в разделе "Создание планов тестирования" и наборов тестов и создание тестовых вариантов вручную.

  • Запустите тесты вручную и проверьте результаты. Пометьте результаты каждого шага проверки в тестовом случае как переданные или неудачные. Дополнительные сведения см. в разделе "Выполнение ручных тестов".

    Примечание.

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

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

Для создания агрегированных отчетов набора тестов можно использовать следующие запросы набора сущностей TestPoints .

Примечание.

Сведения о доступных свойствах для фильтрации или отчета см . в справочнике по метаданным для аналитики планов тестирования. Вы можете отфильтровать запросы или возвращать свойства с помощью любого из Property значенийEntityType, доступных в разделе EntitySetили NavigationPropertyBinding Path значениях. Каждое EntitySet соответствует .EntityType Чтобы узнать больше о типе данных каждого значения, просмотрите метаданные, предоставленные для соответствующего EntityTypeзначения.

Запрос Power BI, указанный ниже, можно вставить непосредственно в окно получения пустого запроса.> Дополнительные сведения см. в обзоре примеров отчетов с помощью запросов OData.

let 
    Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/TestPoints?" 
        &"$apply=filter((TestSuite/TestPlanTitle eq '{testPlanTitle}' and TestSuite/IdLevel3 ne null))" 
            &"/groupby(" 
                &"(TestSuite/TitleLevel3)," 
                &"aggregate(" 
                    &"$count as TotalCount," 
                    &"cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as PassedCount," 
                    &"cast(LastResultOutcome eq 'Failed', Edm.Int32) with sum as FailedCount," 
                    &"cast(LastResultOutcome eq 'None', Edm.Int32) with sum as  NotRunCount," 
                    &"cast(LastResultOutcome ne 'None', Edm.Int32) with sum as RunCount" 
            &")" 
        &")" 
        &"/compute(" 
            &"RunCount mul 100 div TotalCount as RunPercentage," 
            &"NotRunCount mul 100 div TotalCount as NotRunPercentage," 
            &"iif(TotalCount gt NotRunCount, PassedCount mul 100 div RunCount,0) as PassedPercentage," 
            &"iif(TotalCount gt NotRunCount, FailedCount mul 100 div RunCount,0) as FailedPercentage" 
        &")" 
        &"&$orderby=RunPercentage desc", null, [Implementation="2.0"]) 
in 
    Source 

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

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

  • {organization} — Название организации
  • {project} — Имя проекта группы или полностью опустите "/{project}" для межпроектного запроса
  • {testPlanTitle} — заголовок тестового плана, данные которого необходимо вернуть.

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

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

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

Description

filter((TestSuite/TestPlanTitle eq '{testPlanTitle}' and TestSuite/IdLevel3 ne null))

Возвращать данные только для выбранного тестового плана. Кроме того, возвращают данные для наборов тестов уровня 3. Можно добавить несколько планов с предложением, например filter((TestSuite/TestPlanTitle eq '{testPlanTitle1}' or TestSuite/TestPlanTitle eq '{testPlanTitle2}' and TestSuite/IdLevel3 ne null)). Вы также можете применить любые другие фильтры, связанные с наборами тестов, конфигурации тестов здесь.

/groupby((TestSuite/TitleLevel3),

Наборы тестов для группирования по. Если вы заинтересованы в получении отчета для всех отдельных наборов тестов, которые хранятся на уровне 3 иерархии наборов тестов, можно указать эту часть запроса. Вы можете изменить номер уровня с 1 до 14. Если вы хотите разделить наборы тестов с одинаковым именем, вы можете убедиться /groupby((TestSuite/TitleLevel3, TestSuite/IdLevel3), , что даже если у вас есть два набора тестов с одинаковым именем, они будут отображаться как две разные записи, так как они будут иметь два разных идентификатора.

/aggregate($count as TotalCount,

Агрегируйте данные по отфильтрованным точкам тестирования с числом как TotalCount.

cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as Passed,

При агрегирование точек тестирования типа с последним результатом выполнения "Передано" до 1 и суммирует их какPassed "" метрики.

/compute(Executed mul 100 div TotalCount as ExecPct

Укажите вычисляемую метрику ExecPct, которая равна (выполненные тестовые точки / общее число * 100).

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

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

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

Разверните столбцы в Редактор Power Query

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

В Power BI выполните следующие действия.

По завершении можно переименовать столбцы.

  1. Разверните TestSuite

    • Нажмите кнопку "Развернуть".

      Расширение набора тестов Power BI

    • Выберите поля для выравнивания.

      Power BI выбирает поля для выравнивания

    • Теперь таблица содержит поле сущности TestSuite.IdLevel3 и TestSuite.TitleLevel3.

      Расширенный набор тестов Power BI

  2. Щелкните правой кнопкой мыши заголовок столбца и выберите "Переименовать".

    Снимок экрана: данные преобразования Power BI, переименование столбцов.

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

В Редактор Power Query выберите все столбцы, содержащие числа, такие как TotalCount, RunCount и Passed; выберите тип данных в меню "Преобразование" и выберите Кто le Number. Дополнительные сведения об изменении типа данных см. в статье "Преобразование аналитических данных" для создания отчетов Power BI, преобразования типа данных столбца.

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

Можно переименовать поля столбцов. Например, можно переименовать столбец NotApplicable в Not Applicable,или TotalCount в Total Count. Сведения о том, как это сделать, см. в разделе "Переименовать поля столбцов".

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

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

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

Создание отчета таблицы

  1. В разделе "Визуализации" выберите "Таблица".
  2. Перетащите и удалите TestSuite.TitleLevel3, RunCountNotRunCount, PassedCountTotalCount в разделе "Столбцы".
  3. Выберите "Сумма " в качестве агрегирования для счетчика.

    Снимок экрана: Power BI выберите Sum в качестве агрегирования.

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

Снимок экрана: представление агрегированных наборов тестов Power BI — отчет.