Использование виртуальной лабораторной среды в жизненном цикле приложения

Visual Studio Lab Management представляет собой расширение Microsoft Test Manager, позволяющее оптимизировать работу с технологией Microsoft Hyper-V в области управления и использования виртуальных машин при тестировании, создании и разработке приложений в Visual Studio 2010. Visual Studio Lab Management интегрировано с SCVMM, благодаря чему можно управлять несколькими физическими компьютерами, на которых размещены виртуальные машины, а также управлять хранением виртуальных машин, шаблонами виртуальных машин и другими файлами конфигурации на серверах библиотек SCVMM.

Виртуальные среды — это группы виртуальных машин, управляемых Lab Management. Виртуальные среды позволяют выполнять следующие задачи.

  • Воспроизведение точных условий ошибки или иной проблемы при разработке.

    Снимки Lab Management сохраняют состояние всех компьютеров в среде в заданный момент времени. Другие участники группы проекта могут иметь доступ к снимку. Ссылку на хранимый снимок можно указать в рабочем элементе Visual Studio Team Foundation Server, чтобы копию среды можно было создать всего за несколько щелчков мыши. Если данные Microsoft IntelliTrace указываются в рабочем элементе, путь выполнения приложения к ошибке можно точно воспроизвести на той же конфигурации, на которой произошла ошибка.

  • Автоматическое создание, развертывание и тестирование приложений в чистой среде.

    С помощью рабочих процессов Lab Management для построений, сред и снимков Visual Studio Team Foundation Server, а также с помощью автоматических тестов Microsoft Test Manager можно размещать ежедневные построения приложения в чистой среде. После тестирования среду можно сохранить в снимке, а затем восстановить ее до исходного состояния для повторного использования.

  • Сокращение времени создания и настройки машин для тестирования приложения.

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

  • Запуск нескольких копий тестирования или среды одновременно.

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

  • Участники команды разработчиков могут создавать виртуальные среды и управлять ими без прав системного администратора.

    С помощью разрешений Lab Management можно создавать самообслуживаемые группы участников команды разработчиков на основе ролей, которые могут развертывать, создавать и управлять виртуальными средами без прав системного администратора. Кроме того, можно сочетать разрешения Lab Management с разрешениями Visual Studio Team Foundation Server и SCVMM, чтобы удовлетворить конкретные требования организации.

С помощью Microsoft Test Manager можно создать среду и назначить для виртуальных машин соответствующую роль, необходимую для разрабатываемого, тестируемого или запускаемого приложения. Допустим, ведется разработка многоуровневого приложения, для которого требуются три роли: клиент рабочего стола, веб-сервер и сервер базы данных. С помощью Lab Management можно создать виртуальную среду, назначающую для виртуальной машины соответствующую роль, развертывающую часть приложения в соответствующей виртуальной машине, используя Team Foundation Build, а затем запускающую три виртуальные машины как единый экземпляр тестируемого приложения. На рисунке ниже представлена виртуальная среда, использующая три роли: клиент рабочего стола, веб-сервер и сервер базы данных.

Среда многоуровневого приложения

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

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

Примечание

Если планируется выполнение ручных или автоматических тестов в чисто физических средах или физических средах, состоящих из виртуальных машин сторонних поставщиков, не требуется выполнять следующие задачи: использование Hyper-V, настройка SCVMM и настройка Lab Management.Вместо этого достаточно установить агент тестирования на физическом компьютере, зарегистрировать контроллер тестирования в коллекции командных проектов и настроить агент тестирования для использования этого контроллера.Выполнив эти действия, необходимо создать новую физическую среду с помощью центра лабораторий в Microsoft Test Manager.Описание действий по созданию физической среды и выполнению тестов см. в разделе Создание физической среды, используемой для тестирования.

Ключевые понятия

Прежде чем начать пользоваться Lab Management, необходимо ознакомиться с некоторыми ключевыми понятиями.

Виртуальные машины (Hyper-V)

Ключевое понятие

Описание

Виртуальная машина

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

Основное приложение

Физический компьютер, на котором запущена виртуальная машина.

Снимок

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

System Center Virtual Machine Manager (SCVMM)

Ключевое понятие

Описание

Шаблон

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

Группа узлов

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

Сервер библиотек

Компьютер, используемый для хранения виртуальных машин, шаблонов и других ресурсов.

Общая папка библиотеки

Это общее расположение на сервере библиотек, в котором можно хранить виртуальные машины, шаблоны и другие ресурсы. Можно использовать несколько общих папок библиотеки. Общие папки библиотеки можно присвоить командным проектам и коллекциям командных проектов в Team Foundation Server.

Lab Management

Ключевое понятие

Описание

Виртуальная среда

Коллекция виртуальных машин, работающих на узлах Hyper-V, управляется SCVMM, которым Lab Management управляет как логической единицей. Каждая виртуальная машина, добавляемая в среду, используется для роли в приложении. Например, для виртуальной машины можно выбрать роль веб-сервера.

Физическая среда

Коллекция физических компьютеров, на каждом из которых установлен агент тестирования. Если виртуальные машины работают на платформе, отличной от Hyper-V, их можно смоделировать как физические компьютеры в Lab Management.

Центр лабораторий

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

Библиотека командного проекта

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

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

Создание и управление средами

Создание виртуальных машин из шаблона, клонирование сред с сетевой изоляцией, операции с виртуальными машинами, такие как запуск, остановка, снимок, пауза, доступны только для виртуальных сред на основе Hyper-V и недоступны для физических сред, отличных от Hyper-V.

Тестирование

С помощью Microsoft Test Manager можно запускать тесты как в виртуальных, так и в физических средах. Возможности обоих сред абсолютно одинаковые, то есть можно запускать автоматические и ручные тесты и собирать различные данные из всех типов сред: Hyper-V, отличной от Hyper-V среды и физической среды.

Развертывание построения

Можно легко и просто автоматизировать рабочий процесс построения, развертывания и тестирования в виртуальных средах Hyper-V с помощью шаблона, поставляемого с TFS 2010 (labdefaulttemplate.xaml).

Для физических сред такой шаблон не предусмотрен по умолчанию. Однако поскольку автоматизация основана на Windows Workflow Foundation 4.0, можно настроить шаблон (или создать собственный) с помощью действий на панели инструментов, чтобы автоматизировать развертывание построения и тестирование на физических компьютерах. Это означает, что в отличных от Hyper-V средах можно будет выполнять те же действия; однако необходимо помнить, что особые действия в виртуальной среде (восстановление до снимка, запуск, остановка среды) недоступны в физической среде и среде, отличной от Hyper-V.

Lab Management работает с виртуальными средами, размещенными в Hyper-V, и физическими средами, однако возможности каждого типа сред разные. Виртуальные среды на узлах, отличных от Hyper-V, считаются физическими средами. В следующей таблице представлена сводная информация о различных возможностях каждого типа среды.

Возможность

Виртуальные среды (Hyper-V)

Физические среды

Виртуальные среды (не Hyper-V)

Тестирование

Запуск модульных тестов

Поддерживается

Поддерживается

Поддерживается

Запуск ручных тестов

Поддерживается

Поддерживается

Поддерживается

Запуск закодированных тестов пользовательского интерфейса и других автоматических тестов

Поддерживается

Поддерживается

Поддерживается

Регистрация распространенных ошибок с помощью адаптеров диагностики

Поддерживается

Необходима настройка

Необходима настройка

Развертывание построения

Автоматический рабочий процесс построения, развертывания и тестирования

Поддерживается

Создание и управление средами

Создание среды из шаблона виртуальной машины

Поддерживается

нет

Не поддерживаются

Запуск, остановка, создание снимка среды

Поддерживается

Не поддерживаются

Не поддерживаются

Подключение с помощью средства просмотра среды

Поддерживается

Не поддерживаются

Не поддерживаются

Клонирование среды с сетевой изоляцией

Поддерживается

нет

Не поддерживаются

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

Следующие шаги

Задача

Связанное содержимое

Экспериментальная проверка. Изучение ресурсов для начальной настройки Team Foundation Server, SCVMM и Lab Management и последующего создания и запуска виртуальных машин в средах

Начало работы с Lab Management

Создание виртуальных сред для лаборатории Lab Management — описание способов создания и использования виртуальных сред. Сведения о создании виртуальных сред, наилучшим образом соответствующих потребностям.

Виртуальные среды — понятия и указания

Создание виртуальных сред

Интеграция Lab Management в жизненный цикл тестирования. Сведения об использовании виртуальных сред для повышения эффективности тестирования и упрощения воспроизведения ошибок и совместного к ним доступа.

Тестирование с помощью виртуальных сред

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

Применение моментальных снимков для сохранения, воспроизведения и совместного использования состояния виртуальных сред

Автоматическое создание, развертывание и тестирование приложения.   Сочетание виртуальных сред Lab Management с рабочими процессами командного построения и планами тестирования Менеджер тестирования позволяет автоматизировать развертывание и тестирование запланированного построения приложения по мере его разработки.

Развертывание приложения в виртуальной среде

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

Настройка рабочего процесса Lab Management

Дополнительные сведения и помощь в блогах и форумах MSDN.   В блогах и на форумах, посвященных Lab Management, представлены сведения об устранении проблем, а также даны ответы на вопросы об использовании виртуальных сред.

Устранение неполадок Lab Management

См. также

Задачи

Настройка и администрирование Lab Management

Основные понятия

Отладка с помощью IntelliTrace

Тестирование приложения

Другие ресурсы

Первая настройка Lab Management