Практическое руководство. Создание параметра тестирования для распределенного нагрузочного теста
Параметры тестирования для нагрузочных тестов можно настроить для поддержки распределения тестов между нескольким компьютерами с помощью агентов и контроллеров тестирования. Параметры тестирования можно также настроить для использования адаптеров диагностических данных, которые определяют различные типы собираемых данных или способы влияния на тестовые компьютеры при выполнении нагрузочных тестов из Visual Studio Ultimate. Например, можно использовать адаптер диагностических данных профилировщика ASP.NET для формирования декомпозиции собранных данных о производительности кода. Кроме того, адаптеры диагностических данных можно использовать для имитации потенциальных узких мест на тестовом компьютере или для уменьшения доступной системной памяти.
Параметры тестирования для Visual Studio хранятся в файле. Параметры тестирования определяют следующие сведения о каждой роли.
Набор ролей, необходимых для работы тестируемого приложения.
Роль, используемая при тестировании;
Адаптеры диагностических данных, используемые для каждой роли.
При выполнении тестов выбираются параметры тестирования, которые будут использоваться как активные, в зависимости от того, что требуется для данного тестового запуска. Файл параметров тестирования хранится в решении. Имя файла имеет расширение .testsettings.
При добавлении в решение проекта веб-тестов производительности и нагрузочных тестов создается файл Default.testsettings. Файл автоматически добавляется в решение в папке Элементы решения. Этот файл выполняет тесты локально без адаптеров диагностических данных. Можно добавить еще один файл .testsettings или изменить файл .testsettings, чтобы определить адаптеры диагностических данных и контроллеры тестирования.
Контроллер тестирования будет содержать агенты, которые могут быть использованы для каждой роли в параметрах тестирования. Дополнительные сведения о контроллерах тестирования и агентах тестирования см. в разделах Настройка тестовых компьютеров для выполнения тестов или сбора данных и Управление контроллерами и агентами тестирования с помощью Visual Studio.
Для создания и удаления параметров тестирования в решении для нагрузочных тестов, которые планируется выполнять из Visual Studio Ultimate, используются следующие процедуры.
Требования
- Visual Studio Ultimate
Создание параметра тестирования для распределенного нагрузочного теста
Добавление параметров тестирования для распределенного нагрузочного теста
В обозревателе решений щелкните правой кнопкой мыши папку Элементы решения, выберите команду Добавить и пункт Создать элемент.
Откроется диалоговое окно Добавление нового элемента.
В области Установленные шаблоны выберите пункт Параметры тестирования.
(Необязательно.) В поле Имя измените имя файла параметров тестирования.
Выберите Добавить.
В обозревателе решений появится новый файл параметров тестирования, расположенный в папке Элементы решения.
Примечание
Список параметров тестирования, отображаемый Visual Studio Premium, является производным от списка файлов параметров тестирования в папке Элементы решения.Например, файлы параметров тестирования в папке "Элементы решения" отображаются, если используется параметр Выбрать активные параметры тестирования в меню Тест.Это означает, что при перемещении файла параметров тестирования в другое расположение внутри иерархии решения его нельзя будет использовать в качестве параметров тестирования в интегрированной среде разработки Visual Studio.
Откроется диалоговое окно Параметры тестирования. Выбирается страница Общее.
Теперь вы можете редактировать и сохранять значения параметров тестирования.
Примечание
Каждые создаваемые параметры тестирования отображаются в списках Выбрать активные параметры тестирования и Изменить параметры тестирования меню Тест.
Введите имя для параметров тестирования в поле Имя.
(Необязательно.) В поле Описание введите описание параметров тестирования, чтобы другие члены команды знали, для чего предназначены эти параметры.
(Необязательно.) Чтобы выбрать схему именования по умолчанию для тестовых запусков, выберите параметр Схема именования по умолчанию. Чтобы определить собственную схему именования, выберите параметр Пользовательская схема и введите необходимый текст в поле Текст префикса. Чтобы добавить отметку даты и времени к имени тестового запуска, выберите параметр Добавить отметку даты и времени.
Выберите пункт Роли.
Откроется страница Роли.
Для удаленного выполнения тестов и, при необходимости, удаленного сбора данных в раскрывающемся списке Способ выполнения теста выберите значение Удаленное выполнение.
В раскрывающемся списке Контроллер выберите контроллер тестирования для агентов тестирования, который будет использоваться для выполнения тестов или сбора данных.
Примечание
Если контроллер добавляется в первый раз, в раскрывающемся списке не будут перечислены контроллеры.Этот список заполняется ранее добавленными контроллерами, которые указаны в других параметрах тестирования.Необходимо ввести имя контроллера в поле (например, TestControllerMachine1).
Дополнительные сведения см. в разделах Настройка контроллеров и агентов тестирования для нагрузочного тестирования и Использование контроллеров и агентов тестирования в нагрузочных тестах.
Чтобы добавить роли, которые необходимо использовать для выполнения тестов и сбора данных, нажмите кнопку Добавить в области Роли.
Введите имя роли в столбце Имя. Например, роль может называться "Веб-сервер".
Повторите шаги 12 и 13, чтобы добавить все необходимые роли.
Каждая роль использует агент тестирования, управляемый контроллером тестирования.
Выберите роль, необходимую для выполнения тестов и выберите команду Задать в качестве роли для запуска тестов.
Важно!
Остальные создаваемые и определяемые роли не будут запускать тесты; они будут использоваться лишь для сбора данных в соответствии с указанными на странице Данные и диагностика адаптерами данных и диагностическими адаптерами для ролей.
Чтобы ограничить агенты, которые можно использовать для роли, выберите роль и нажмите кнопку Добавить на панели инструментов над списком Атрибуты агенты для выбранной роли.
Откроется диалоговое окно Правило выбора агента.
Введите имя в поле Имя атрибута и значение в поле Значение атрибута, а затем нажмите кнопку ОК. Добавьте необходимые атрибуты.
Например, можно добавить атрибут с именем "ОЗУ > 16 ГБ" со значением True или False, чтобы отфильтровать компьютеры агентов тестирования с объемом ОЗУ больше 16 ГБ. Чтобы применить один атрибут к одному или нескольким агентам тестирования, воспользуйтесь диалоговым окном "Управление контроллером тестирования". Дополнительные сведения см. в разделе Управление контроллерами и агентами тестирования с помощью Visual Studio.
Выберите пункт Данные и диагностика.
Откроется страница Данные и диагностика.
На странице Данные и диагностика определяются функции ролей; для этого необходимо выбрать адаптеры диагностических данных, которые будут использоваться ролью для сбора данных. Поэтому, если для роли включены один или несколько адаптеров данных или диагностических адаптеров, контроллер тестирования выберет доступный компьютер агента тестирования для сбора данных для указанных адаптеров на основании определенных для роли атрибутов. Чтобы выбрать адаптеры обработки данных и адаптеры диагностических данных, которые будут использоваться каждой из ролей, выберите роль. Для каждой из ролей выберите адаптеры диагностических данных, соответствующие требованиям тестов в плане. Чтобы настроить адаптеры диагностических данных, выбранные для ролей, нажмите кнопку Настройка.
Пример ролей и адаптеров диагностических данных.
Например, можно создать роль клиента с именем "Настольный клиент" и атрибутом "Использует SQL", которому присвоено значение True, и роль сервера с именем "SQL Server" и атрибутом "ОЗУ > 16 ГБ". Если указать, что на компьютере "Настольный клиент" будут запускаться тесты (выберите команду Задать в качестве роли для запуска тестов на странице Роли), контроллер тестирования будет выбирать для запуска тестов компьютеры с агентами тестирования, которые включают атрибут "Использует SQL", равный True. Контроллер тестирования также будет выбирать компьютеры с SQL Server, на которых установлены агенты тестирования с атрибутом "ОЗУ > 16 ГБ", для записи данных, определенных включенными в роль адаптерами обработки данных и адаптерами диагностических данных. Агенты тестирования, включенные в роль "Настольный клиент", также могут собирать данные для компьютеров, на которых они запущены, если для этой роли выбраны адаптеры обработки данных и адаптеры диагностических данных.
Подробные сведения о всех адаптерах диагностических данных и их настройке см. в соответствующих разделах, перечисленных в следующей таблице.
Дополнительные сведения об адаптерах диагностических данных см. в разделе Настройка компьютеров и сбор диагностических данных с помощью параметров тестирования.
Адаптеры диагностических данных для нагрузочных тестов
Адаптер диагностических данных
Использование нагрузочных тестов
Раздел
Прокси-сервер клиента ASP.NET для IntelliTrace и влияния на тесты. Этот прокси-сервер позволяет собирать данные об HTTP-обращениях из клиента к веб-серверу для адаптеров диагностических данных IntelliTrace и влияния на тесты.
Этот адаптер следует включать только при наличии конкретной необходимости в сборе системных данных для компьютеров агентов тестирования.
Предупреждение
Не рекомендуется использовать адаптер IntelliTrace в нагрузочных тестах из-за проблем, которые возникают вследствие сбора большого объема данных.
Данные влияния на тесты не собираются в ходе нагрузочных тестов.
IntelliTrace. Можно настроить определенные сведения диагностической трассировки, которые сохраняются в файле журнала. Расширение файла журнала — TDLOG. Если при выполнении теста шаг теста завершается ошибкой, можно создать сообщение об ошибке. Файл журнала, содержащий диагностическую трассировку, автоматически присоединяется к этой ошибке. Данные, собираемые в файл журнала, увеличивают производительность отладки, уменьшая время повторения и диагностики ошибки в коде. Используя этот файл журнала, можно заново создать локальный сеанс на другом компьютере. Это снижает вероятность того, что ошибку нельзя будет воспроизвести.
Дополнительные сведения см. в разделе Отладка приложения путем записи выполнения кода с помощью IntelliTrace.
Не рекомендуется использовать адаптер IntelliTrace в нагрузочных тестах из-за проблем, которые возникают вследствие сбора и сохранения в журнале большого объема данных. Адаптер IntelliTrace следует использовать только в непродолжительных нагрузочных тестах, в которых задействовано небольшое число агентов.
Практическое руководство. Сбор данных IntelliTrace для отладки сложных проблем
Профилировщик ASP.NET. Можно создать параметр тестирования, включающий профилировщик ASP.NET, который собирает данные о производительности веб-приложений ASP.NET.
Адаптер диагностических данных профилировщика ASP.NET профилирует процесс служб IIS, поэтому он не будет работать для веб-сервера разработки. Для профилирования веб-сайта в нагрузочном тесте необходимо установить агент тестирования на компьютере, на котором выполняется сервер IIS. Агент тестирования будет использоваться не для создания нагрузки, а только для сбора данных. Дополнительные сведения см. в разделе Установка и настройка контроллеров и агентов тестирования.
Покрытие кода (Visual Studio 2010). Можно создать параметр тестирования, включающий сведения о покрытии кода, которые позволяют определить объем протестированного кода.
Адаптер покрытия кода можно использовать в нагрузочных тестах, однако он будет собирать данные о покрытии кода только для ролей выполнения тестов, а не для ролей сервера, указанных в параметре тестирования.
Больше не рекомендуется настраивать покрытие кода с использованием параметров тестирования
Примечание
Этот адаптер служит исключительно для совместимости с Visual Studio 2010.
Журнал событий. Можно настроить параметр тестирования для записи журнала событий, который включается в результаты теста.
Эмуляция сети. С помощью параметра тестирования можно указать, что требуется моделировать сетевую нагрузку при тестировании. Эмуляция сети влияет на обмен входящими и исходящими данными с компьютером, имитируя определенную скорость сетевого подключения, например коммутируемое подключение.
> [!NOTE] > <P>Эмуляцию сети нельзя использовать для увеличения скорости сетевого подключения.</P>
Адаптер эмуляции сети не учитывается в нагрузочных тестах. Вместо него в нагрузочных тестах используются параметры, указанные в смешанном сетевом профиле сценария тестовой нагрузки.
Дополнительные сведения см. в разделе Определение типов виртуальной сети в сценарии тестовой нагрузки.
Сведения о системе. Можно настроить параметр тестирования для включения сведений о системе компьютеров, на которых выполняется сборщик диагностических данных о системе. Сведения о системе указываются в результатах теста с помощью параметра тестирования.
Сведения о системе можно собирать как с агентов нагрузки, так и из тестируемой системы.
Для сбора этих сведений не требуется выполнять настройку.
Тест влияния. Можно собирать сведения о том, какие методы кода приложений использовались при выполнении тестового случая. Эти данные можно использовать вместе с данными об изменениях кода приложения, внесенных разработчиками, чтобы определить, на какие тесты влияют эти изменения.
Данные влияния на тесты не собираются в ходе нагрузочных тестов.
Запись видео. При выполнении автоматического теста можно записывать сеанс рабочего стола на видео. Это может быть полезно для просмотра действий пользователя в закодированного тесте пользовательского интерфейса. Видео может помочь другим членам команды определить проблемы с приложением, которые трудно воспроизвести.
> [!NOTE] > <P>При удаленном запуске тестов функция записи видео не будет работать, если агент не работает в режиме интерактивного процесса.</P>
> [!WARNING] > <P>Не рекомендуется использовать адаптер записи видео для нагрузочных тестов.</P>
Выберите пункт Развертывание.
Откроется страница Развертывание.
Чтобы создавать отдельный каталог для развертывания при каждом выполнении тестов, выберите команду Включить развертывание.
Примечание
Если выбрана эта команда, при выполнении тестов можно продолжать построение приложения.
Для добавления файла в каталог, который используется для выполнения тестов, выберите команду Добавить файл и укажите добавляемый файл.
Примечание
При выполнении нагрузочных тестов осуществляется автоматическое развертывание сборок подключаемых модулей, файлов данных и отправленных файлов.
Для добавления каталога в каталог, который используется для выполнения тестов, выберите команду Добавить каталог и укажите добавляемый каталог.
Примечание
Дополнительные сведения о развертывании файлов и каталогов для отдельных тестов с помощью свойств и атрибута DeploymentItem см. в разделе Практическое руководство. Развертывание файлов для тестов.
Чтобы выполнять скрипты до и после тестов, выберите пункт Скрипты установки и очистки.
Откроется страница Скрипты установки и очистки.
Введите расположение файла скрипта в поле Скрипт настройки или нажмите кнопку с многоточием (...), чтобы найти скрипт настройки.
Введите расположение файла скрипта в поле Скрипт очистки или нажмите кнопку с многоточием (...), чтобы найти скрипт очистки.
Для выполнения тестов с использованием другого основного приложения выберите пункт Узлы.
Убедитесь, что в списке Тип узла выбрано значение По умолчанию.
Примечание
Тип ASP.NET, указанный в списке Тип узла, не поддерживается в нагрузочных тестах.
Чтобы выбрать выполнение веб-тестов производительности и модульных тестов, включенных в нагрузочный тест, в качестве 32-разрядных или 64-разрядных процессов, воспользуйтесь раскрывающимся списком "Выполнять тесты в 32-разрядном или 64-разрядном процессе".
Примечание
Для обеспечения максимальной гибкости проекты нагрузочных тестов и веб-тестов производительности следует компилировать в конфигурации Любой ЦП.Тогда выполнение возможно как на 32-разрядных, так и на 64-разрядных агентах.Компиляция проектов веб-тестов производительности и нагрузочных тестов в конфигурации 64-разрядная версия не дает преимуществ.
(Необязательно) Для ограничения времени выполнения каждого тестового запуска и отдельных тестов выберите пункт Время ожидания тестов.
Чтобы отменять тестовый запуск при превышении предела времени, выберите пункт Прервать тестовый запуск, если общее время превышает и введите значение предела.
Для завершения определенного теста с ошибкой при превышении предела времени щелкните Пометить тест как непройденный, если превышено время его выполнения и введите значение предела.
Пропустите раздел Модульный тест. Эти параметры не используются в нагрузочных тестах.
Пропустите раздел Веб-тест. Эти параметры не используются в нагрузочных тестах.
Чтобы сохранить параметры тестирования, нажмите кнопку Сохранить как. Введите в поле Имя объекта желаемое имя файла.
Примечание
Если необходимо изменить параметры тестирования, последовательно выберите пункты Тест и Изменить настройки тестирования и выберите созданные параметры тестирования.Дополнительные сведения см. в разделе Практическое руководство. Изменение существующих параметров тестирования для плана тестирования.
Удаление параметров тестирования из решения
В папке "Элементы решения" в обозревателе решений щелкните правой кнопкой мыши параметры тестирования, которые необходимо удалить, и нажмите кнопку Удалить.
Файл параметров тестирования удаляется из решения. Это изменение отражается в списках Выбрать активные параметры тестирования и Изменить параметры тестирования меню Тест.
См. также
Задачи
Основные понятия
Настройка компьютеров и сбор диагностических данных с помощью параметров тестирования
Другие ресурсы