Практическое руководство. Настройка и запуск запланированных тестов после построения и развертывания приложения

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

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

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

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

  • Проверка наличия необходимых компонентов

  • Создание определения построения и запуск построения

  • Подключение к среде из результатов построения

  • Просмотр и анализ результатов теста для построения

Для веб-приложений и других сложных приложений могут потребоваться дополнительные шаги при их развертывании с помощью Visual Studio 2010. Например, если для развертывания веб-приложения на сервере IIS используется Visual Studio 2010, дополнительные шаги см. на этой веб-странице Майкрософт.

Примечание

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

Предварительные требования

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

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

  1. Настройте Lab Management, включая контроллер построений и контроллер тестирования: Первая настройка Lab Management.

  2. Создайте виртуальные машины для среды и добавьте в эти виртуальные машины агенты. Затем сохраните виртуальные машины в общей папке библиотеки: Практическое руководство. Создание и хранение виртуальных машин и шаблонов, предназначенных для Lab Management.

  3. Импортируйте виртуальные машины или шаблоны в командный проект из SCVMM: Практическое руководство. Импорт виртуальной машины или шаблона из диспетчера SCVMM.

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

    Примечание

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

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

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

      В области уведомлений отобразится выполняемый процесс агента тестирования с состоянием "В сети".

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

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

    1. Убедитесь, что на виртуальных машинах среды установлены последние обновления операционных систем.

    2. Воспользуйтесь командой gpupdate /force для всех виртуальных машин в среде, подключенной к домену, и проверьте, внесены ли все изменения в пользовательских политиках. Без выполнения этой команды скрипты развертывания могут работать неправильно. Возможно также неправильное выполнение тестов. Убедитесь, что проекты кода и тестовые проекты для приложения возвращены в систему управления версиями: Помещение файлов под контроль системы управления версиями.

    3. Убедитесь, что состояние среды — "Выполняется", а состояние возможностей рабочего процесса и тестирования — "Готово".

      Примечание

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

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

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

    1. Практическое руководство. Связывание автоматического теста с тестовым случаем

    2. Добавление тестового случая в набор тестов

    3. Практическое руководство. Создание плана тестирования.

  9. Создайте параметры теста для выполнения автоматических тестов, для которых в виртуальной среде используются созданные роли: Создание параметров тестирования для автоматических тестов в составе плана тестирования.

Создание построения, развертывание и тестирование рабочего процесса с помощью лабораторного шаблона определения построения

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

Шаг

Действие

1

Создайте базовое определение построения

2

Создайте другое определение построения для создания, развертывания и тестирования рабочего процесса

3

Добавьте сведения о рабочем процессе

4

Поместите определение построения для рабочего процесса в очередь

Создание базового определения построения

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

Создание определения построения для приложения

Создание определения построения для приложения

  1. В меню Построение выберите Новое определение построения.

  2. На вкладке Общие в поле Имя определения построения укажите имя в поле Описание и добавьте соответствующее описание.

  3. Выполните действия, описанные в теме Создание базового определения построения.

Создание определения построения для рабочего процесса

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

Создание определения построения для рабочего процесса

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

Выбор шаблона процесса построения для рабочего процесса

Создание определения построения для рабочего процесса

  1. В меню Построение выберите Новое определение построения.

  2. На вкладке Общие в поле Имя определения построения укажите имя в поле Описание и добавьте соответствующее описание.

  3. Выберите параметры на вкладках Триггер и Рабочая область, Параметры построения по умолчанию и Политика сохранения, как описано в разделе Создание базового определения построения.

    Примечание

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

  4. Чтобы получить возможность выбора лабораторного шаблона для определения построения на вкладке Процесс в разделе Шаблон процесса построения выберите параметр Показать подробности.

    Отобразится раскрывающийся список.

  5. Выберите шаблон. Это файл процесса построения, определяющий рабочий процесс.

  6. Чтобы создать рабочий процесс для развертывания приложения в виртуальной среде с помощью определения построения, выберите файл LabDefaultTemplate.xaml из раскрывающегося списка для Файл процесса построения.

Добавление сведений о рабочем процессе

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

Добавление сведений о рабочем процессе

Укажите необходимые сведения, следуя указаниям мастера "Параметры рабочего процесса лаборатории".

Мастер параметров рабочего процесса лаборатории

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

Добавление сведений о рабочем процессе

  1. Чтобы ввести данные для рабочего процесса, в группе Параметры процесса построения выберите Параметры процесса лаборатории и нажмите кнопку с многоточием (…).

    Откроется мастер "Параметры рабочего процесса лаборатории", в котором необходимо ввести сведения о рабочем процессе.

  2. На вкладке Среда выберите виртуальную среду, в которой необходимо развернуть приложение.

    Примечание

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

  3. (Рекомендовано.) Если необходимо, чтобы лабораторное определение построения обеспечивало восстановление известного состояния среды, выберите параметр Вернитесь к определенному снимку среды и нажмите кнопку с многоточием (…) для выбора определенного снимка.

    Откроется диалоговое окно Выбрать снимок среды. Выберите снимок среды и нажмите кнопку ОК.

    Важно!

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

  4. Нажмите кнопку Далее.

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

    1. Выберите параметр Использовать построение Team Foundation и определение, которое было создано ранее.

    2. Выберите Поставить новое построение в очередь.

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

    1. Выберите параметр Использовать построение Team Foundation и определение, которое было создано ранее.

    2. Выберите параметр Выберите существующее построение. Затем выберите построение в раскрывающемся списке. В списке отображаются имеющиеся построения, созданные с помощью выбранного определения построения.

    3. Выберите конфигурацию построения в поле Выберите конфигурацию построения.

      Примечание

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

  7. В случае необходимости задать расположение построения выберите параметр Используйте построение из заданного местоположения и укажите UNC-путь существующего построения.

  8. Нажмите кнопку Далее.

  9. Чтобы развернуть приложение в рамках рабочего процесса, установите на вкладке Развертывание флажок Развернуть построение.

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

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

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

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

    • $(InternalComputerName_<имя_виртуальной_машины>) — используется для получения имени компьютера для виртуальной машины, которая входит в состав виртуальной среды. Возможна ситуация, когда имя виртуальной машины известно, а имя компьютера — нет. Если скрипт развертывания для настройки веб-сервера требует указать имя компьютера, можно передать скрипту это выражение в качестве аргумента. Например, если имя виртуальной машины для веб-сервера — VM1, а имя компьютера — MyWebServer, можно указать $(InternalComputerName_VM1) в качестве аргумента скрипта, и скрипту будет передано значение MyWebServer.

    • $(ComputerName_<имя_виртуальной_машины>) — это полное имя домена виртуальной машины. Это выражение можно использовать для доступа к компьютеру даже извне виртуальной среды. Ее можно предавать в качестве аргумента для настройки веб-сервера. Например, если в качестве имени виртуальной машины для веб-сервера используется VM1, чтобы передать полное имя домена виртуальной машины, следует ввести в качестве аргумента скрипта $(ComputerName_VM1).

    Если используется сетевая изоляция среды, выражение $(InternalComputerName_<имя_виртуальной_машины>) имеет одинаковое значение для каждого экземпляра виртуальной машины в этой среде, но выражение $(ComputerName_<имя_виртуальной_машины>) имеет другое значение. Например, имя компьютера для виртуальной машины может иметь значение MyWebServer в каждой копии среды, однако полное имя домена будет уникальным: VM_<уникальный_идентификатор>.domain_name.com.

    Важно!

    Если необходимо добавить команду, которая выполняется из окна Windows, например mkdir, или запускает пакетный файл, команда должна начинаться с cmd /c.Например, cmd /c $(BuildLocation)\copyexe $(BuildLocation), где copyexe – это пакетный файл copyexe.bat, копирующий исполняемый файл в локальный каталог на виртуальной машине.

    Если для скрипта или команды требуется особая рабочая папка, можно ввести ее имя в поле Рабочий каталог.

    Примечание

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

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

  11. (Рекомендовано.) Чтобы после развертывания приложения, но до выполнения каких-либо тестов сделать снимок, выполните следующие действия:

    1. Установите флажок После развертывания построения сделайте снимок среды.

      Важно!

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

    2. В поле Введите имя снимка введите имя для данного снимка.

    Примечание

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

  12. Нажмите кнопку Далее.

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

    1. Установите флажок Выполните эти тесты в среде.

    2. В области Выберите план тестирования выберите план тестирования, который необходимо использовать. Результаты тестирования будут сохранены в составе плана тестирования.

    3. В поле Выберите наборы тестов нажмите кнопку с многоточием (…), а в диалоговом окне Выбрать наборы тестов выберите наборы тестов для запуска.

      Примечание

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

    4. В поле Выберите конфигурацию теста выберите конфигурацию, которая будет использоваться для выполнения тестов.

      Примечание

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

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

  14. Нажмите кнопку Готово.

  15. Нажмите кнопку Сохранить для сохранения определения построения.

    Созданное определение построения появится в папке Построения в Сред. Командный обозреватель.

Размещение определения построения для рабочего процесса в очереди

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

Размещение определения построения для рабочего процесса в очереди

  1. Чтобы запустить определение построения для построения, развертывания и тестирования приложения, щелкните правой кнопкой мыши определение лабораторного построения в папке "Построения" и щелкните Поставить новую сборку в очередь.

    Откроется диалоговое окно Поставить построение в очередь.

  2. Проверьте сведения о рабочем процессе построения и щелкните Очередь.

    Откроется представление "Обозреватель построений".

  3. Чтобы в процессе построения отображалось представление "Сводка построения", щелкните дважды построение.

    Это позволит просматривать состояние по мере построения.

  4. (Необязательно.) При необходимости просматривать среду в процессе построения откройте средство Microsoft Test Manager, найдите Центр лабораторий и щелкните Лаборатория, а затем выберите в списке свою среду. На изображении для используемой среды, а также в подробных сведениях о среде над этим изображением можно просматривать ход построения, как указано ниже.

    • При выборе этого параметра восстанавливается снимок.

    • При выборе этого параметра создается снимок состояния после развертывания.

    • Состояние возможностей (если возможность готова, отображается зеленая стрелка).

    • Тесты по мере их выполнения, если эти тесты взаимодействуют с пользовательским интерфейсом.

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

Подключение к среде из результатов построения

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

Подключение к среде из результатов построения

Подключение к среде из результатов построения

  1. В папке Построения в Сред. Командный обозреватель, щелкните правой кнопкой мыши определение построения и выберите команду Просмотреть построения.

    Откроется представление Обозреватель построений.

  2. Для просмотра завершенного построения перейдите на вкладку Завершено.

  3. Дважды щелкните построение, которое нужно просмотреть.

    Откроется представление "Сводка построения".

  4. Щелкните ссылку рядом с полем "Просмотр снимка среды <название и номер построения>".

    Откроется диалоговое окно Подключиться к среде.

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

    Примечание

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

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

  7. Нажмите кнопку Подключить.

    Это приведет к отображению средства просмотра среды (Microsoft) и подключению к среде. Теперь можно изучить любые проблемы.

Просмотр и анализ результатов теста для рабочего процесса построения

Сводку по результатам теста можно просмотреть в сводке по рабочему процессу построения. Однако для просмотра и анализа результатов теста можно также воспользоваться Microsoft Test Manager, поскольку эти результаты хранятся в составе плана тестирования. Этот показано на следующем рисунке. Дополнительные сведения о составлении отчета по результатам теста для плана тестирования см. в разделе Отчеты о ходе выполнения планов тестирования.

Просмотр результатов тестов из рабочего процесса построения

Просмотр и анализ результатов теста в Microsoft Test Manager

  1. Откройте Microsoft Test Manager.

    Примечание

    Чтобы открыть окно Microsoft Test Manager, нажмите кнопку Пуск и выберите Все программы.Выберите Microsoft Visual Studio 2010 и щелкните Microsoft Test Manager.

  2. Чтобы просмотреть результаты теста, щелкните стрелку вниз на центральном переключателе групп и выберите Центр тестирования.

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

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

  4. При необходимости проанализировать весь тестовый запуск выберите Анализ тестовых запусков.

    Появится действие Анализ тестовых запусков. Оно показывает выполнения тестов для этого плана тестирования.

    Примечание

    В заголовке запуска указывается имя определения построения.Для простоты идентификации запуска на странице сводки построения отображается его идентификатор.

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

  6. (Необязательно) Чтобы присвоить запуску более понятное название, введите его в поле Название.

  7. (Необязательно) если тест завершился ошибкой, можно добавить причину ошибки. Щелкните Разрешение и выберите из списка причину ошибки.

  8. (Необязательно) чтобы добавить примечание к результату теста, щелкните значок Комментарии. Введите примечание и нажмите кнопку Сохранить комментарии.

  9. (Необязательно) Для просмотра сведений об отдельном тесте дважды щелкните тест.

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

    Примечание

    Если вы обнаружили ошибку, из этого представления можно создать сообщение об ошибке.

  10. Чтобы сохранить изменения для данного выполнения тестов, нажмите на панели инструментов кнопку Сохранить.

См. также

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

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

Устранение неполадок при запуске тестов в виртуальной среде