Анализ обновления кода и покрытия кода с помощью перспектив обновления кода и покрытия запуска, создание соответствующего отчета
Можно сообщить о качестве программного обеспечения с помощью перспектив обработки кода и покрытия выполнения куба служб SQL Server Analysis Services cube для Visual Studio Team Foundation Server.С помощью этих перспектив можно просматривать только те меры, измерения и атрибуты, которые сопоставлены с изменениями в строках кода и экстенты к которым предусмотрены в коде в построениях и тестовых запусках.
Эти перспективы основаны на реляционных таблицах, которые можно использовать для составления отчетов по изменениям в коде и их покрытию в качестве свойства построения, построения сборки или платформы, тестового запуска или набора изменений.Дополнительные сведения см. в разделах Таблицы обработки кода и Таблицы покрытия выполнения.
С помощью перспективы обработки кода можно создавать отчеты, которые предназначены для ответа на следующие вопросы:
|
|
С помощью перспективы покрытия выполнения можно создавать отчеты, которые предназначены для ответа на следующие вопросы:
Примечание
Если хранилище данных Visual Studio Application Lifecycle Management (ALM) использует SQL Server Enterprise Edition, список кубов будет включать куб Team System и набор перспектив.Перспективы позволяют получить конкретное представление данных без необходимости прокрутки всех измерений и групп мер во всем кубе Team System.
|
Содержание раздела
Пример: Отчет об обработке кода
Меры обработки кода
Меры покрытия выполнения
Измерения и атрибуты в перспективе обработки кода, которые поддерживают фильтрацию и категоризацию
Измерения и атрибуты в перспективе покрытия выполнения, которые поддерживают фильтрацию и категоризацию
Действия, необходимые для отслеживания обработки кода и покрытие кода
Пример: Отчет об обработке кода
С помощью отчета «Сводная диаграмма» в Excel можно создать отчет о тенденциях, отображающий обработку кода с течением времени, который будет аналогичен отчету, представленному на следующем рисунке.
Шаблоны процессов для Microsoft Solutions Framework (MSF) v5.0 автоматически предоставляют отчет об обработке кода в формате Excel.Для получения дополнительной информации см. Отчет "Обработка кода" в формате Excel.
К началу
Выбор и фильтрация полей сводной диаграммы
Отчет по обработке кода можно создать, выполнив следующие шаги:
В Excel подключитесь к кубу служб кубу SQL Server Analysis Services для Visual Studio Team Foundation Server, а затем добавьте отчет «Сводная диаграмма».
Для получения дополнительной информации см. Создание отчета в Microsoft Excel для Visual Studio ALM.
Щелкните диаграмму правой кнопкой мыши и выберите Изменить тип диаграммы, Область, Диаграмма с областями с накоплением.
Для каждого фильтра отчета откройте контекстное меню для каждого из следующих полей укажите иерархии недели или другие элементы соответствующий, перетащите поле в область Фильтр отчетов.
Иерархия командных проектов из измерения Командный проект
Рабочий элемент.Иерархия итераций измерения Рабочий элемент
Рабочий элемент.Иерархия областей измерения Рабочий элемент
Год Неделя День из измерения Дата
В измерении Дата разверните Другие поля и перетащите поля День, Неделя или Месяц в области Поля оси (категории), основываясь на том, насколько четким необходимо создать отчет.
Перетащите поля Добавлено строк, Изменено строк и Удалено строк из группы мер Обработка кода в области Значения.Следует перетащить каждое поле отдельно.
К началу
Меры обработки кода
Меры обработки кода учитывают объем изменений, происходящих в проекте.Обычно высокие уровни обработки означают, что проект нестабилен.Уровень обработки кода будет высок в начале цикла продукта или после реализации командой множества изменений.Перед концом итерации или выпуском следует ожидать уменьшения уровня обработки кода, что указывает на большую стабильность проекта.
В следующей таблице описаны меры группы обработки кода.С помощью этих мер можно создавать отчеты, которые показывают количество версий файлов, хранящихся в Team Foundation (подсистема контроля версий), и объем кода, который был изменен.Можно анализировать метрики по каталогу файлов, построению или по участнику команды, который зафиксировал изменения, а также можно указать, каким образом эти метрики могут изменяться с течением времени.
Дополнительные сведения о схожих метриках, которые можно собрать для построения, см. в разделе Анализ сведений о построении и покрытии построения с использованием перспективы построения и создание соответствующего отчета.
Мера |
Описание |
---|---|
Мера количества обработки кода |
Сколько раз команда изменяла файлы в системе управления версиями. |
Добавленные строки |
Число строк кода, которые команда добавила в файлы в измерениях, которые были выбраны. |
Удаленные строки |
Число строк кода, которые команда удалила из файлов в измерениях, которые были выбраны. |
Измененные строки |
Число строк кода, которые команда изменила в течение выбранного периода времени. |
Общая обработка |
Обработка кода, вычисляемая как: [Добавленные строки] + [Удаленные строки] + [Измененные строки]. |
Общее количество строк |
Количество строк в части иерархии пути к файлу, который был задан.Кроме того, необходимо также задать одно или более построений, которые будут указывать точку или точки для выполнения данного вычисления.Если не указать одно или несколько построений, будет возвращено значение NULL.Число строк вычисляется путем суммирования добавленных и удаленных строк, составляющих конкретную комбинацию типа построения и операционной системы.
Совет
Общее измерение строк может привести к тому, что запрос OLAP превысит время ожидания.Если подготовка отчета занимает слишком много времени, попробуйте сократить набор изменений, построение, тестовый запуск или диапазона дат.
|
К началу
Меры покрытия выполнения
В следующей таблице описаны меры группы мер покрытия выполнения.С помощью этих мер можно создавать отчеты, которые показывают, насколько код был покрыт тестами при тестовом запуске.Дополнительные сведения о схожих метриках, которые можно собрать для построения, см. в разделе Анализ сведений о построении и покрытии построения с использованием перспективы построения и создание соответствующего отчета.
Мера |
Описание |
---|---|
Покрытие запуска |
Число тестовых запусков, имеющих связанную с ними статистику покрытия кода. |
Покрытые блоки при покрытии выполнения |
Число блоков, у которых все тесты в оболочке выполнения.Однако покрытия тестов могут перекрываться. |
Не покрытые блоки при покрытии выполнения |
Число блоков, которые не охвачены какими-либо выполняемыми тестами.Однако покрытия тестов могут перекрываться. |
Покрытые строки при покрытии выполнения |
Число строк, у которых все тесты находятся в оболочке выполнения.Однако покрытия тестов могут перекрываться. |
Не покрытые строки при покрытии выполнения |
Число строк, которые не охвачены какими-либо выполняемыми тестами.Однако покрытия тестов могут перекрываться. |
Частично покрытые строки при покрытии выполнения |
Число строк, у которых все тесты находятся в оболочке частичного выполнения.Однако покрытия тестов могут перекрываться. |
К началу
Измерение и атрибуты в перспективе обработки кода, которые поддерживают фильтрацию и категоризацию
Следующая таблица содержит описание измерений и атрибутов перспективы обработки кода.Эти атрибуты являются дополнением к общим измерениям Командный проект и Дата, которые описываются в разделе Работа с общими измерениями.Можно выполнить статистическое вычисление меры по каждому из этих атрибутов.
Измерение |
Атрибут |
Описание |
---|---|---|
Построение |
Имя определения построения |
Имя, присвоенное определенному построению, для которого запущено построение. |
Идентификатор построения |
Число, присвоенное построению.Каждый раз, когда выполняется указанное определение построения, этот атрибут увеличивается на 1. |
|
Имя построения |
Имя или выражение, которое идентифицирует элемент уникальным образом.Дополнительные сведения см. в разделе Работа с номерами построений. |
|
Время начала построения |
Дата и время, когда запушено построение. |
|
Тип построения |
Причина выполнения построения.Типы построения сопоставлены с триггером, который был определен для построения.В Team Foundation Server поддерживается следующие типы построений: ручные, непрерывные (активируемые при каждом возврате кода), последовательные (с накоплением возвратов до завершения предыдущего построения), с условным возвратом и по расписанию.Дополнительные сведения см. в разделе Задание триггеров и причин выполнения построения. |
|
Удалить расположение |
Универсальный код ресурса (URL) выполненного построения.URL-адрес указывает протокол, с которым веб-браузеры осуществляют поиск ресурсов Интернета.Каждый URL-адрес содержит имя сервера, на котором хранятся данные построения.Можно также включить путь к ресурсу. |
|
Набор изменений системы управления версиями |
Идентификатор набора изменений |
Число, которое присвоено набору изменений, содержащему изменения данного файла. |
Кем возвращен |
Имя члена команды, вернувшего набор изменений. |
|
Описание |
Комментарий возврата, который связан с набором изменений. |
|
Комментарий переопределения политики |
Комментарий, предоставляемый при переопределении политики.Если политика не была переопределена в данном наборе изменений, то это поле имеет значение null. |
|
Файл системы управления версиями |
Управление версиями файлов.Иерархия файлов |
Полный сетевой путь исходного файла. |
Управление версиями файлов.Расширение файла |
Расширение имени исходного файла. |
|
Рабочий элемент |
Тип рабочего элемента и другое |
Для получения дополнительной информации см. Анализ данных рабочего элемента и тестового случая с помощью перспективы рабочего элемента и составление соответствующего отчета. |
К началу
Измерения и атрибуты в перспективе покрытия выполнения, которые поддерживают фильтрацию и категоризацию
Следующая таблица содержит описание измерений и атрибутов перспективы покрытия выполнения.Эти атрибуты дополняют общие измерения Командный проект и Дата, которые описаны далее в подразделе Работа с общими измерениями.Можно выполнить статистическое вычисление меры по каждому из этих атрибутов.
Примечание |
---|
Прежде чем использовать атрибуты Сборка или Версия построения, тестирующая команда должна определить их и опубликовать результаты теста в хранилище данных для Team Foundation Server.Дополнительные сведения см. далее в этом разделе в Действия, необходимые для управления тестами и построениями. |
Измерение |
Атрибут |
Описание |
---|---|---|
Сборка |
Сборка |
(Только опубликованные результаты теста) Имя кода приложения, проверяемого как часть построения.Дополнительные сведения см. в разделе Выполнение тестов в процессе построения. |
Построение |
Имя определения построения |
Имя, присвоенное определенному построению, для которого запущено построение. |
Идентификатор построения |
Число, присвоенное построению.Каждый раз, когда выполняется указанное определение построения, Идентификатор построения увеличивается на 1. |
|
Имя построения |
Имя или выражение, которое идентифицирует элемент уникальным образом.Дополнительные сведения см. в разделе Работа с номерами построений. |
|
Время начала построения |
Дата и время, когда было запущено построение. |
|
Тип построения |
Причина выполнения построения.Типы построения сопоставлены с триггером, который был определен для построения.В Team Foundation Server поддерживается следующие типы построений: ручные, непрерывные (активируемые при каждом возврате кода), последовательные (с накоплением возвратов до завершения предыдущего построения), с условным возвратом и по расписанию.Дополнительные сведения см. в разделе Задание триггеров и причин выполнения построения. |
|
Удалить расположение |
Универсальный код ресурса (URL) выполненного построения.URL-адрес указывает протокол, с которым веб-браузеры осуществляют поиск ресурсов Интернета.URL-адрес также включает имя сервера, на котором находится ресурс.Можно также указать путь к ресурсу. |
|
Версия построения |
Версия построения |
(Только опубликованные результаты тестов) Имя, которое определяет категорию, присвоенную набору завершенных построений, которые были опубликованы как часть тестового запуска.Например, можно использовать конфигурацию построения для обозначения бета-выпуска или окончательного выпуска.Дополнительные сведения см. в разделе Параметры командной строки для публикации результатов тестов. |
Платформа построения |
Платформа построения |
(Только опубликованные результаты тестов) Имя платформы компьютера, для которой было сделано сквозное (не настольное) построение и опубликовано как часть тестового запуска (например, x86 или Any CPU).Пример отчета, в котором используется этот атрибут, см. в разделе Отчет "Сводка построения". Дополнительные сведения см. в разделе Параметры командной строки для публикации результатов тестов. |
Тестовый запуск |
Иерархия даты завершения по месяцам или по неделям Иерархия даты создания по месяцам или по неделям |
Измерения даты, основанные на дате, когда был завершен и был создан тестовый запуск.Для получения дополнительной информации см. Работа с общими измерениями в кубе служб Analysis Services. |
К началу
Действия, необходимые для отслеживания обработки кода и покрытие кода
Для создания отчетов о построениях, которые содержат полезные данные, участники команды должны выполнить следующие действия для управления построениями и тестами:
Настройка системы построения.Для использования Team Foundation Build, команда должна настроить систему построения.
Для получения дополнительной информации см. Configure Your Build System.
Создание определений построения.Команда должна создать хотя бы одно определение построения.Для получения кода для разных платформ или для разных конфигураций команда может создать несколько определений построения.
Дополнительные сведения см. в разделе Создание определения построения.
(Рекомендуется) Регулярное выполнение построений.Команда может автоматически запускать построения с указанными интервалами или после каждого возврата.С помощью триггера расписания, команда может автоматически запускать построения в тоже время, или в тот же день, или в указанные дни.Дополнительные сведения см. в разделах Задание триггеров и причин выполнения построения и Запуск построений, наблюдение за построениями и управление ими.
(Необязательно) Определение тестов для автоматического запуска в качестве части построения.Как часть определения построения команда может указать автоматические тесты для запуска в качестве построения и анализа изменений кода тестов.
Дополнительные сведения см. в разделе Выполнение тестов в процессе построения.
Настройка тестов для сбора данных о покрытии кода.Чтобы данные о покрытии кода попали в отчет, участники команды должны инструментировать тесты для сбора этих данных.
Важно Для сбора данных о покрытии кода тестами, команде необходимо установить Visual Studio Premium или Visual Studio Ultimate на компьютере с агентом построения.Дополнительные сведения см. в разделе Развертывание и настройка агентов построения.
Дополнительные сведения см. в разделах Больше не рекомендуется настраивать покрытие кода с использованием параметров тестирования и How to: Gather Code-Coverage Data with Generic Tests.
Публиковать тесты.В качестве части действий построений и тестов, команда для тестирования должна опубликовать результаты теста в хранилище данных для Team Foundation Server.
Дополнительные сведения см. в разделах Действия построения Team Foundation и Параметры командной строки для публикации результатов тестов.
К началу
См. также
Основные понятия
Перспективы и группы мер, предоставляемые в кубе служб Analysis Services для Team System