Анализ и отчет об обработке и покрытии кода с помощью перспектив "Обработка кода" и "выполнение покрытия"

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2013
Azure DevOps Server ранее назывался Visual Studio Team Foundation Server.

Вы можете сообщить о соотношении качества программного обеспечения с помощью перспектив "Обработка кода" и "выполнение покрытия" из SQL Server Analysis Services Куба для Visual Studio Team Foundation Server. С помощью этих перспектив можно просматривать только меры, измерения и атрибуты, связанные с изменениями в строках кодов, и степень покрытия кода в сборках и тестовых запусках.

Эти перспективы основаны на реляционных таблицах, которые можно использовать для создания отчетов по изменениям и покрытию кода в качестве свойства сборки, платформы сборки, тестового запуска или набора изменений. Дополнительные сведения см. в разделе таблицы обновления кода и таблицы покрытия запуска.

Группа мер "Обработка кода"

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

  • Сколько файлов с определенным расширением изменилось в конкретной сборке?
  • Сколько строк кода находится в исходной базе для конкретного построения?
  • Какие наборы изменений были отправлены, и каковы сведения о каждом изменении? (Например, кто внес данное изменение, какие файлы были изменены, и когда это изменение было произведено?)

Группа мер "Покрытие кода"

С помощью перспективы "покрытие запуска" можно создавать отчеты, которые отвечают на следующие вопросы: какие сборки имеют наименьший объем тестирования?
— Какие тестовые запуски охватывают большую часть кода? Какие архитектуры и типы сборок имеют наибольшее покрытие тестами?

Примечание

Если хранилище данных использует SQL Server Enterprise Edition, список кубов будет включать в себя Team System и набор перспектив. Перспективы позволяют получить конкретное представление данных без необходимости прокрутки всех измерений и групп мер во всем кубе Team System.

Пример. Отчет по обработке кода

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

Отчет об обновлении кода

Шаблоны процессов для Microsoft Solutions Framework (MSF) Agile и CMMI предоставляют отчет об обработке кода в Excel. Дополнительные сведения см. в разделе Обработка кода.

Выбор и фильтрация полей сводной таблицы

Сводные поля для отчета об обработке кода

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

  1. В Excel подключитесь к кубу SQL Server Analysis Services для Visual Studio Team Foundation Server и вставьте отчет в виде сводной диаграммы.

    Дополнительные сведения см. в разделе Создание отчетов Excel из запроса рабочего элемента.

  2. Щелкните правой кнопкой мыши диаграмму и выберите пункт изменить тип диаграммы, область, область с накоплением.

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

    • Иерархия командного проекта из измерения командного проекта

    • Иерархия рабочих элементов. Iteration из измерения рабочего элемента

    • Иерархия рабочих элементов. областей из измерения рабочего элемента

    • Год с датой недели из измерения " Дата "

  4. В измерении Дата разверните узел другие поля и перетащите поля Дата, неделя или месяц в область поля оси (категории) в зависимости от того, насколько детализирован отчет, который необходимо создать.

  5. Перетащите поля добавленные, измененные строки и строки из группы мер « Обработка кода » в область « значения ». Каждое поле следует перетащить отдельно.

Меры обработки кода

Меры обработки кода учитывают объем изменений, происходящих в проекте. Обычно высокие уровни обработки означают, что проект нестабилен. Уровень обработки кода будет высок в начале цикла создания продукта и после реализации командой множества изменений. К концу итерации или перед выпуском следует ожидать уменьшения уровня обработки, что указывает на стабильность проекта.

В следующей таблице описаны меры группы мер обработки кода. С помощью этих мер можно создавать отчеты, которые показывают, сколько версий файлов хранится в системе управления версиями Team Foundation и какой объем кода был изменен. Можно анализировать показатели по каталогу файлов, сборке и члену команды, вернувшему изменения, а также определять, как эти показатели изменяются с течением времени.

Сведения о схожих метриках, которые можно собираются для сборок, см. в разделе сборки.

Мера Описание
Количество обновлений кода Сколько раз команда изменила файлы в системе управления версиями.
Добавлено строк Число строк кода, добавленных командой в файлы для заданных измерений.
Удалено строк Число строк кода, удаленных командой из файлов для заданных измерений.
Изменено строк Число строк кода, измененных командой в течение заданного периода времени.
Всего обновлений Количество обновлений в коде вычисляется следующим образом: [Добавлено строк] + [Удалено строк] + [Изменено строк].
Всего строк Количество строк в части заданной иерархии пути к файлу. Необходимо также задать одну или несколько сборок, которые будут указывать точку или точки для выполнения данного вычисления. Если не указать одну или несколько сборок, будет возвращено значение NULL. Число строк вычисляется путем суммирования добавленных и удаленных строк, составляющих конкретную комбинацию типа построения и операционной системы. Совет. Мера "всего строк" может привести к превышению времени ожидания запроса OLAP. Если подготовка отчета занимает слишком много времени, попробуйте сократить набор изменений, сборку, тестовый запуск или диапазон дат.

Меры выполнения покрытия

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

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

Измерения и атрибуты в перспективе "Обработка кода", поддерживающие фильтрацию и классификацию

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

Измерение attribute Описание
Сборка Имя определения построения Имя, присвоенное определению сборки, для которого была запущена сборка.
Идентификатор построения Номер, присвоенный сборке. При каждом выполнении конкретного определения сборки значение этого атрибута увеличивается на 1.
Имя сборки Имя или выражение, однозначно определяющее сборку. Дополнительные сведения см. в разделе Параметры определения сборки.
Время запуска построения Дата и время запуска сборки.
Тип сборки Причина выполнения сборки. Типы сборки связаны с триггером, который был определен для нее. Team Foundation Server поддерживает следующие типы сборок: ручной, непрерывный (активированный при каждом возврате), пошаговая проверка (накопление возвратов до завершения предыдущей сборки), запись с проверкой изменений и запланированное. Дополнительные сведения см. в разделе триггеры определения сборки.
Расположение сброса URL-адрес выполненной сборки. URL-адрес указывает протокол, с помощью которого веб-браузеры осуществляют поиск ресурсов Интернета. Каждый URL-адрес содержит имя сервера, на котором находятся данные сборки. Можно также включить путь к ресурсу.
Набор изменений системы управления версиями Идентификатор набора изменений Число, присвоенное набору изменений, содержащему изменения данного файла.
Кем возвращен Имя пользователя члена команды, вернувшего набор изменений.
Описание Комментарий к возврату, связанный с набором изменений.
Примечание переопределения политики Комментарий, предоставляемый при переопределении политики. Если политика не была переопределена данным набором изменений, это поле имеет значение NULL.
Файл системы управления версиями Файл системы управления версиями.Иерархия файлов Полный сетевой путь к исходному файлу.
Файл системы управления версиями.Расширение файла Расширение имени исходного файла.
Рабочий элемент Тип рабочего элемента и другое Дополнительные сведения см. в разделе тестовые случаи и рабочие элементы.

Измерения и атрибуты на перспективе "покрытие запуска", поддерживающие фильтрацию и классификацию

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

Примечание

Прежде чем можно будет использовать атрибуты версии сборки или версии сборки , команда тестирования должна указать их и опубликовать результаты теста в хранилище данных для Team Foundation Server. Дополнительные сведения см. в разделе необходимые действия далее в этой статье.

Измерение attribute Описание
Сборка Сборка (Только опубликованные результаты тестов). Имя кода приложения, проверяемого в рамках сборки. Дополнительные сведения см. в разделе непрерывное тестирование.
Сборка Имя определения построения Имя, присвоенное определению сборки, для которого была запущена сборка.
Идентификатор построения Номер, присвоенный сборке. Каждый раз, когда выполняется определенное определение сборки, идентификатор сборки увеличивается на 1.
Имя сборки Имя или выражение, однозначно определяющее сборку. Дополнительные сведения см. в разделе Параметры определения сборки.
Время запуска построения Дата и время начала сборки.
Тип сборки Причина выполнения сборки. Типы сборки связаны с триггером, который был определен для нее. Team Foundation Server поддерживает следующие типы сборок: ручной, непрерывный (активированный при каждом возврате), пошаговая проверка (накопление возвратов до завершения предыдущей сборки), запись с проверкой изменений и запланированное. Дополнительные сведения см. в разделе триггеры определения сборки.
Расположение сброса URL-адрес выполненной сборки. URL-адрес указывает протокол, с помощью которого веб-браузеры осуществляют поиск ресурсов Интернета. URL-адрес также включает имя сервера, на котором находится ресурс. Можно также указать путь к ресурсу.
Версия построения Версия построения (Только опубликованные результаты тестов). Имя, определяющее категорию, присвоенную набору завершенных сборок, которые были опубликованы как часть тестового запуска. Например, версию сборки можно использовать для обозначения бета-выпуска или окончательного выпуска.
Платформа построения Платформа построения (Только опубликованные результаты теста) Имя платформы машины, для которой была создана комплексная сборка (не настольная) и которая была опубликована как часть тестового запуска (например, x86 или любой ЦП). Пример отчета, в котором используется этот атрибут, см. в разделе Build Summary.
Тестовый запуск Иерархия дат завершения по месяцам или неделям

Иерархия дат создания по месяцам или неделям
Измерения даты, основанные на дате, когда был создан и завершен тестовый запуск. Дополнительные сведения см. в разделе Общие измерения.

Необходимые действия

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