Пример отчета о тенденциях выполнения ручного тестирования
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
В этой статье показано, как получить состояние выполнения одного или нескольких тестовых планов в Power BI. Созданный отчет аналогичен следующему изображению и диаграмме тенденций результатов отчета о ходе выполнения.
В отчете отображается диаграмма тренда, которая суммирует количество и состояние результатов тестовых планов, выполняемых в течение указанного периода времени.
- Пройдено: количество тестов, которые прошли.
- Сбой: количество неудачных случаев тестирования.
- NotApplicable: количество тестовых случаев
- Заблокировано: количество тестовых случаев, которые не могут быть запущены.
- NotExecuted: число тестовых случаев, определенных, но не выполненных.
Ответы на вопросы отчета
Этот отчет помогает отслеживать ход выполнения команды в отношении планового тестирования продукта или службы, отвечая на следующие вопросы:
- Сколько тестов завершено?
- Каково текущее состояние тестов: проходящих, проваленных или заблокированных?
- Сколько тестов проходит и что указывает тенденция о качестве программного обеспечения?
- Сколько тестов завершается сбоем?
- Сколько тестов заблокировано и что указывает тенденция?
В отчете о тренде исполнения тестов отображается устойчивый прогресс в выполнении и успешном прохождении тестовых планов. В идеале в отчете отображается относительно плоское количество тестовых случаев для заданного плана. По мере развития цикла разработки число тестовых случаев должно увеличиваться, а количество тестовых случаев в других штатах должно идти вниз.
Внимание
Интеграция Power BI и доступ к веб-каналу OData службы Аналитики общедоступны для Azure DevOps Services и Azure DevOps Server 2020 и более поздних версий. Примеры запросов, указанные в этой статье, допустимы только для Azure DevOps Server 2020 и более поздних версий, и зависят от версии 3.0-preview или более поздней версии. Мы рекомендуем вам использовать эти запросы и предоставлять нам отзывы.
Категория | Требования |
---|---|
Уровни доступа |
-
член проекта. — По крайней мере базовый доступ уровня . |
Права доступа | По умолчанию члены проекта имеют разрешение выполнять запросы к аналитике и создавать представления. Дополнительные сведения о других предварительных требованиях для включения служб и функций и общих действий отслеживания данных см. в разделе "Разрешения и предварительные требования для доступа к аналитике". |
Примечание.
В этой статье предполагается, что вы прочли Ознакомление с примерами отчетов, использующих запросы OData и имеете базовое представление о Power BI.
Чтобы отчет создавал полезные данные, команда должна выполнять следующие действия для управления планами тестирования:
Определите планы тестирования, наборы тестов и тестовые случаи. Укажите их состояние. Для запуска набора тестов он должен находиться в состоянии "В процессе". Для выполнения тестового кейса он должен находиться в состоянии готовности. Дополнительные сведения см. в разделе "Создание планов тестирования" и наборов тестов и создание тестовых вариантов вручную.
Запустите тесты вручную и проверьте результаты. Отметьте результаты каждого шага валидации в тестовом случае как успешные или неуспешные. Дополнительные сведения см. в разделе "Выполнение ручных тестов".
Примечание.
Тестировщики должны указать статус тестового шага, если это шаг проверки. Общий результат теста отражает состояние всех этапов тестирования, помеченных. Таким образом, тест будет иметь состояние сбоя, если любой шаг теста помечен как неудачный или не помечен.
Примеры запросов
Вы можете использовать следующие запросы набора сущностей TestPointHistorySnapshot
для создания различных, но аналогичных отчетов о тенденциях выполнения плана тестирования.
Примечание.
См. справочник по метаданным для аналитики планов тестирования для получения сведений о доступных свойствах для фильтрации или отчетов. Вы можете отфильтровать запросы или возвращать свойства, используя любое из значений Property
, которые есть в EntityType
или NavigationPropertyBinding Path
, доступных с EntitySet
. Каждое EntitySet
соответствует EntityType
. Дополнительные сведения о типе данных каждого значения см. в метаданных, предоставленных для соответствующего EntityType
значения.
Скопируйте и вставьте следующий запрос Power BI непосредственно в окно Получить данные>Пустой запрос. Дополнительные сведения см. в разделе "Обзор примеров отчетов с помощью запросов OData".
let
Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v3.0-preview/TestPointHistorySnapshot?"
&"$apply=filter((TestSuite/TestPlanTitle eq '{testPlanTitle}') and (DateSK ge {startDate} and DateSK le {endDate}))"
&"/groupby("
&"(DateSK),"
&"aggregate("
&"$count as TotalCount,"
&"cast(ResultOutcome eq 'Passed', Edm.Int32) with sum as Passed,"
&"cast(ResultOutcome eq 'Failed', Edm.Int32) with sum as Failed,"
&"cast(ResultOutcome eq 'Blocked', Edm.Int32) with sum as Blocked,"
&"cast(ResultOutcome eq 'NotApplicable', Edm.Int32) with sum as NotApplicable,"
&"cast(ResultOutcome eq 'None', Edm.Int32) with sum as NotExecuted,"
&"cast(ResultOutcome ne 'None', Edm.Int32) with sum as Executed
)
)", null, [Implementation="2.0"])
in
Source
Строки подстановки и разбивка запросов
Замените следующие строки значениями. Не включайте скобки {}, когда выполняете подстановку. Например, если вашей организации присвоено имя Fabrikam, замените {organization}
на Fabrikam
, а не {Fabrikam}
.
-
{organization}
— Название организации -
{project}
— Имя проекта группы или полностью опустите "/{project}" для межпроектного запроса -
{testPlanTitle}
— Название тестового плана. Пример:Fabrikam test plan
. -
{startDate}
и{endDate}
— диапазон интересующих дат. Даты можно ввести в формате ГГГГММДД. Например,20220815
15 августа 2022 года.
Разбивка запросов
В следующей таблице описана каждая часть запроса.
Часть запроса
Description
filter((TestSuite/TestPlanTitle eq '{testPlanTitle}'))
Возвращать данные только для выбранного тестового плана. Можно добавить несколько планов с условием, таким как filter((TestSuite/TestPlanTitle eq '{testPlanTitle1}'
или TestSuite/TestPlanTitle eq '{testPlanTitle2}'))
. Вы также можете применить любые другие фильтры, связанные с наборами тестов и конфигурациями тестов.
and (DateSK ge {startDate} and DateSK le {endDate})
Диапазон дат, интересующий вас. Можно ввести даты в YYYYMMDD
формате.
/groupby((DateSK)
Сгруппировать данные в корзины одинаковой даты. Он создает один набор значений в день в заданном диапазоне дат.
/aggregate($count as TotalCount,
Соберите данные на основе отфильтрованных тестовых точек с количеством, равным TotalCount
.
cast(LastResultOutcome eq 'Passed', Edm.Int32) with sum as Passed,
При агрегации, преобразуйте точки тестирования, имеющие последний результат выполнения "Успешно", в значение 1 и суммируйте их как метрику Passed
.
(Необязательно) Переименование запроса
Вы можете переименовать метку запроса по умолчанию, query1, в что-то более понятное. Просто введите новое имя в параметрах области запроса.
Изменение типа данных столбца
В редакторе Power Query выберите столбец TotalCount
и все остальные столбцы, затем выберите "Тип данных" в меню "Преобразование" и выберите "Целое число". Дополнительные сведения об изменении типа данных см. в разделе Преобразование данных аналитики для создания отчетов Power BI, преобразование типа данных столбца.
(Необязательно) Переименование полей столбцов
Можно переименовать поля столбцов. Например, можно переименовать столбец NotApplicable
в Not Applicable
,или TotalCount
в Total Count
. Сведения о том, как это сделать, см. в разделе "Переименовать поля столбцов".
Закройте запрос и примените изменения
Завершив все преобразования данных, нажмите кнопку "Закрыть" и "Применить " из меню "Главная ", чтобы сохранить запрос и вернуться на вкладку "Отчет " в Power BI.
Создание отчета с накопленной областной диаграммой
В Power BI в разделе "Визуализации" выберите отчет "Область с накоплением".
Перетащите DateSK на ось X.
Перетащите Пройденные, Неудачные, Заблокированные, Неприменимо и Не выполнено на ось Y.
Отчет должен выглядеть примерно так, как показано на следующем рисунке.