Материал: ВВПИ. Лекции

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис. 14.5. Настройка получателей оповещений.

Оповещения, рассылаемые TFS, содержат только базовую информацию о произошедшем событии и ссылку, позволяющую просмотреть детали о события через Internet Explorer, на Share Point портале проекта. В частности, информация о результатах автоматической сборки и о тех ошибках, исправления которых вошли в соответствующую ей версию исходных кодов проекта, представлена на рис. 14.6.

136

Build Night build_20081123.2

Summary

Build name:

Requested by:

Team project:

Definition name:

Agent name:

Command-line arguments:

Started on:

Completed on:

Last changed by:

Last changed on:

Quality:

Work items opened:

Source control version:

Log:

Partially Succeeded

Night build_20081123.2

LANDOCS\arhangel

TestProject

Night build

TestProject

23.11.2008 17:36:56

23.11.2008 17:38:24

LANDOCS\TFSBuild

23.11.2008 17:38:24

Not available

C1479

\\landocs\TestProjectBuild\Night build_20081123.2\BuildLog.txt

Associated work items

 

 

ID

Title

State

Assigned To

107

Use Visual Studio core editor for SQL editing

Closed

arhangel

 

 

 

 

235

Build failure in build: Night build_20081123.1

Resolved

TFSBuild

 

 

 

 

Note: All dates and times are shown in Russian Standard Time (GMT +03:00:00).

Provided by: Microsoft Visual Studio® Team System 2008.

Рис. 14.6. Результаты автоматической сборки.

Модульные тесты

Модульные тесты как средство повышения качества программного обеспечения появились достаточно давно, однако они долго оставались не поддержанными продуктами Microsoft. Впервые поддержка модульных тестов появилась в Visual Sutiod 2005 и доступна в изданиях Professional и выше (в том числе, и во всех изданиях группы Team).

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

Исторически одним из первых популярных инструментов, ориентированных на организацию модульного тестирования, был jUnit для Java-приложений, клонированный затем под многие другие платформы. Для платформы .NET пионером здесь являлся nUnit, который до сих пор занимает лидирующую позицию в этой нише. Однако, лидерство nUnit серьезно пошатнулось с появлением поддержки модульных тестов в Visual Studio. По сравнению с классическими системами Visual Studio обладает рядом следующих преимуществ.

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

137

Реализованы возможности для легкой интеграции в средства автоматической сборки (только для TFS Team Build).

Предложены дополнительные средства для описания процедуры развертывания теста (больное место большинства остальных систем) и конфигурации других аспектов выполнения.

Имеются средства автоматической генерации сигнатур тестов и средств доступа к приватным частям тестируемых классов.

Поддержано управление тесnовыми данными, а также тестами, использующими данные на уровне платформы.

Вверсии Visual Stuido 2008 поддержка модульного тестирования была перенесена из изданий семейства Team в издание Professional, что было вполне логичным шагом, так как модульное тестирование является общей практикой, применяемой как в личной, так и

вкомандной разработке. Так как модульное тестирования более не является чем-то специфичным для Visual Studio Team System, а его реализация соответствует большинству стандартных пакетов в этой области, мы не будем останавливаться на этой возможности более подробно.

Пакеты тестов

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

138

Рис. 14.7. Пакет с иерархией тестов.

Для создания тестового пакета можно воспользоваться меню «Create New Test List», как показано на рис. 14.8, и после этого откроется окно для задания имени нового пакета и определения его места в иерархии тестовых пакетов (см. рис. 14.9). В том случае, если для решения уже создан файл метаданных, пакет тестов будет добавлен к нему, если же файла метаданных еще создано не было, он будет создан автоматически.

Рис. 14.8. Создание списка тестов.

139

Рис. 14.9. Свойства нового списка тестов.

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

140