Практическое руководство. Создание параметра тестирования для распределенного нагрузочного теста
Этот раздел применим к:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Параметры тестирования для нагрузочных тестов можно настроить для поддержки распределения нагрузочного теста между нескольким компьютерами с помощью агентов и контроллеров тестирования. Параметры тестирования можно также настроить для использования адаптеров диагностических данных, которые определяют различные типы собираемых данных или способы влияния на тестовые компьютеры при выполнении нагрузочных тестов из Visual Studio 2010 Ultimate. Например, можно использовать адаптер диагностических данных профилировщика ASP.NET для формирования декомпозиции собранных данных о производительности кода. Кроме того, адаптеры диагностических данных можно использовать для имитации потенциальных узких мест на тестовом компьютере или для уменьшения доступной системной памяти.
Параметры тестирования для Visual Studio хранятся в файле. Они определяют следующее:
набор ролей, необходимых для работы тестируемого приложения;
роль, используемая при тестировании;
адаптеры диагностических данных, используемые для каждой роли.
При выполнении тестов выбираются параметры тестирования, которые будут использоваться как активные, в зависимости от того, что требуется для данного тестового запуска. Файл параметров тестирования хранится в решении. Файл имеет расширение .testsettings.
При добавлении тестового проекта к решению создаются два параметра тестирования по умолчанию. Они автоматически добавляются к решению в папке Элементы решения. Если какой-либо из этих параметров тестирования обеспечивает необходимый результат при выполнении тестов, вы можете использовать их затем путем выбора параметров тестирования, которые должны быть активными.
Local.testsettings: выполняет тесты локально без выбора адаптеров диагностических данных. Этот параметр тестирования установлен по умолчанию в Visual Studio.
Traceandtestimpact.testsettings: выполняет тесты локально со следующими адаптерами диагностических данных, настроенными на сбор данных из всех модулей и процессов.
IntelliTrace
Влияние на тесты
Сведения о системе
Контроллер тестирования будет содержать агенты, которые могут быть использованы для каждой роли в параметрах тестирования. Дополнительные сведения о контроллерах тестирования и агентах тестирования см. в разделах Настройка тестовых компьютеров для выполнения тестов или сбора данных и Управление контроллерами и агентами тестирования.
Для создания и удаления параметров тестирования в решении для нагрузочных тестов, которые планируется выполнять из Visual Studio 2010 Ultimate, используются следующие процедуры.
Создание параметра тестирования для распределенного нагрузочного теста
Добавление параметров тестирования для распределенного нагрузочного теста
В обозревателе решений щелкните правой кнопкой мыши папку Элементы решения, наведите указатель на команду Добавить и выберите Новый элемент.
Откроется диалоговое окно Добавление нового элемента.
В области Установленные шаблоны щелкните Параметры тестирования.
(Необязательно.) В поле Имя измените имя файла параметров тестирования.
Нажмите кнопку Добавить.
В обозревателе решений появится новый файл параметров тестирования, расположенный в папке Элементы решения.
Примечание
Список параметров тестирования, который отображает Visual Studio 2010 Ultimate, извлекается из списка файлов параметров тестирования в папке Элементы решения.Например, файлы параметров тестирования в папке "Элементы решения" отображаются, если используется параметр Выбрать активные параметры тестирования в меню Тест.Это означает, что, если переместить файл параметров тестирования в другое расположение внутри иерархии решения, его нельзя будет использовать в качестве набора параметров тестирования в интегрированной среде разработки Visual Studio 2010 Ultimate.
Откроется диалоговое окно Параметры тестирования. Выбирается страница Общее.
Теперь вы можете редактировать и сохранять значения параметров тестирования.
Примечание
Каждые создаваемые параметры тестирования отображаются в списках Выбрать активные параметры тестирования и Изменить параметры тестирования меню Тест.
Введите имя для параметров тестирования в поле Имя.
(Необязательно.) В поле Описание введите описание параметров тестирования, чтобы другие члены команды знали, для чего предназначены эти параметры.
(Необязательно.) Чтобы выбрать схему именования по умолчанию для тестовых запусков, выберите параметр Схема именования по умолчанию. Чтобы определить собственную схему именования, выберите параметр Пользовательская схема и введите необходимый текст в поле Текст префикса. Чтобы добавить отметку даты и времени к имени тестового запуска, выберите параметр Добавить отметку даты и времени.
Щелкните Роли.
Откроется страница Роли.
Для удаленного выполнения тестов и, при необходимости, удаленного сбора данных в раскрывающемся списке Способ выполнения теста выберите значение Удаленное выполнение.
В раскрывающемся списке Контроллер выберите контроллер тестирования для агентов тестирования, который будет использоваться для выполнения тестов или сбора данных.
Примечание
Если контроллер добавляется в первый раз, в раскрывающемся списке не будут перечислены контроллеры.Этот список заполняется ранее добавленными контроллерами, которые указаны в других параметрах тестирования.Необходимо ввести имя контроллера в поле (например, TestControllerMachine1).
Дополнительные сведения см. в разделах Настройка контроллеров и агентов тестирования для нагрузочного тестирования и Использование контроллеров и агентов тестирования в нагрузочных тестах.
Чтобы добавить роли, которые необходимо использовать для выполнения тестов и сбора данных, нажмите кнопку Добавить в области Роли.
Введите имя роли в столбце Имя. Например, роль может называться "Веб-сервер".
Повторите шаги 12 и 13, чтобы добавить все необходимые роли.
Каждая роль использует агент тестирования, управляемый контроллером тестирования.
Выберите роль для выполнения тестов и щелкните Задать как роль для выполнения тестов.
Важно!
Остальные создаваемые и определяемые роли не будут запускать тесты; они будут использоваться лишь для сбора данных в соответствии с указанными на странице Данные и диагностика адаптерами данных и диагностическими адаптерами для ролей.
Чтобы ограничить агенты, которые можно использовать для роли, выберите роль и щелкните Добавить на панели инструментов над списком Атрибуты агенты для выбранной роли.
Откроется диалоговое окно Правило выбора агента.
Введите имя в поле Имя атрибута и значение в поле Значение атрибута, а затем нажмите кнопку ОК. Добавьте необходимые атрибуты.
Например, можно добавить атрибут с именем "ОЗУ > 16 ГБ" со значением True или False, чтобы отфильтровать компьютеры агентов тестирования с объемом ОЗУ больше 16 ГБ. Чтобы применить один атрибут к одному или нескольким агентам тестирования, воспользуйтесь диалоговым окном "Управление контроллером тестирования". Дополнительные сведения см. в разделе Управление контроллерами и агентами тестирования.
Щелкните Данные и диагностика.
Откроется страница Данные и диагностика.
На странице Данные и диагностика определяются функции ролей; для этого необходимо выбрать адаптеры диагностических данных, которые будут использоваться ролью для сбора данных. Поэтому, если для роли включены один или несколько адаптеров данных или диагностических адаптеров, контроллер тестирования выберет доступный компьютер агента тестирования для сбора данных для указанных адаптеров на основании определенных для роли атрибутов. Чтобы выбрать адаптеры обработки данных и адаптеры диагностических данных, которые будут использоваться каждой из ролей, выберите роль. Для каждой из ролей выберите адаптеры диагностических данных, соответствующие требованиям тестов в плане. Чтобы настроить адаптер диагностических данных для каждой из ролей, нажмите кнопку Настройка.
Пример ролей и адаптеров диагностических данных.
Например, можно создать роль клиента с именем "Настольный клиент" и атрибутом "Использует 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 и контроллеров тестирования и построения.
Покрытие кода. Можно создать параметр тестирования, включающий сведения о покрытии кода, которые позволяют определить объем протестированного кода.
Адаптер покрытия кода можно использовать в нагрузочных тестах, однако он будет собирать данные о покрытии кода только для ролей выполнения тестов, а не для ролей сервера, указанных в параметре тестирования.
Журнал событий. Можно настроить параметр тестирования для записи журнала событий, который включается в результаты теста.
Эмуляция сети. С помощью параметра тестирования можно указать, что требуется моделировать сетевую нагрузку при тестировании. Эмуляция сети влияет на обмен входящими и исходящими данными с компьютером, имитируя определенную скорость сетевого подключения, например коммутируемое подключение.
Примечание
Эмуляцию сети нельзя использовать для увеличения скорости сетевого подключения.Адаптер эмуляции сети не учитывается в нагрузочных тестах. Вместо него в нагрузочных тестах используются параметры, указанные в смешанном сетевом профиле сценария тестовой нагрузки.
Дополнительные сведения см. в разделе Определение типов виртуальной сети в сценарии тестовой нагрузки.
Сведения о системе. Можно настроить параметр тестирования для включения сведений о системе компьютеров, на которых выполняется сборщик диагностических данных о системе. Сведения о системе указываются в результатах теста с помощью параметра тестирования.
Сведения о системе можно собирать как с агентов нагрузки, так и из тестируемой системы.
Для сбора этих сведений не требуется выполнять настройку.
Тест влияния. Можно собирать сведения о том, какие методы кода приложений использовались при выполнении тестового случая. Эти данные можно использовать вместе с данными об изменениях кода приложения, внесенных разработчиками, чтобы определить, на какие тесты влияют эти изменения.
Данные влияния на тесты не собираются в ходе нагрузочных тестов.
Запись видео. При выполнении автоматического теста можно записывать сеанс рабочего стола на видео. Это может быть полезно для просмотра действий пользователя в закодированного тесте пользовательского интерфейса. Видео может помочь другим членам команды определить проблемы с приложением, которые трудно воспроизвести.
Примечание
При удаленном запуске тестов функция записи видео не будет работать, если агент не работает в режиме интерактивного процесса.Внимание
Не рекомендуется использовать адаптер записи видео для нагрузочных тестов.Щелкните Развертывание.
Откроется страница Развертывание.
Чтобы создавать отдельный каталог для развертывания при каждом выполнении тестов, выберите команду Включить развертывание.
Примечание
Если выбрана эта команда, при выполнении тестов можно продолжать построение приложения.
Для добавления файла в каталог, который используется для выполнения тестов, щелкните Добавить файл и выберите добавляемый файл.
Примечание
При выполнении нагрузочных тестов осуществляется автоматическое развертывание сборок подключаемых модулей, файлов данных и отправленных файлов.
Для добавления каталога в каталог, который используется для выполнения тестов, щелкните Добавить каталог и выберите добавляемый каталог.
Примечание
Дополнительные сведения о развертывании файлов и каталогов для отдельных тестов с помощью свойств и атрибута DeploymentItem см. в разделе Практическое руководство. Настройка развертывания тестов.
Чтобы выполнять скрипты до и после тестов, щелкните Скрипты настройки и очистки.
Откроется страница Сценарии установки и очистки.
Введите расположение файла скрипта в поле Скрипт настройки или нажмите кнопку (...), чтобы найти скрипт настройки.
Введите расположение файла скрипта в поле Скрипт очистки или нажмите кнопку (...), чтобы найти скрипт очистки.
Для выполнения тестов с использованием другого основного приложения щелкните Узлы.
Убедитесь, что в списке Тип узла выбрано значение По умолчанию.
Примечание
Тип ASP.NET, указанный в списке Тип узла, не поддерживается в нагрузочных тестах.
Чтобы выбрать выполнение веб-тестов производительности и модульных тестов, включенных в нагрузочный тест, в качестве 32-разрядных или 64-разрядных процессов, воспользуйтесь раскрывающимся списком "Выполнять тесты в 32-разрядном или 64-разрядном процессе".
Примечание
Для обеспечения максимальной гибкости тестовые проекты следует компилировать в конфигурации Любой ЦП.Тогда выполнение возможно как на 32-разрядных, так и на 64-разрядных агентах.Компиляция тестовых проектов в конфигурации 64-разрядная версия не дает никаких преимуществ.
(Необязательно) Для ограничения времени выполнения каждого тестового запуска и отдельных тестов щелкните Время ожидания тестов.
Для прекращения выполнения тестов при превышении предела времени щелкните Прервать тестовый запуск, если общее время превышает и введите значение предела.
Для завершения определенного теста с ошибкой при превышении предела времени щелкните Пометить тест как непройденный, если превышено время его выполнения и введите значение предела.
Пропустите раздел Модульный тест. Эти параметры не используются в нагрузочных тестах.
Пропустите раздел Веб-тест. Эти параметры не используются в нагрузочных тестах.
Для сохранения параметров тестирования щелкните Сохранить как. Введите в поле Имя объекта желаемое имя файла.
Примечание
Если необходимо изменить параметры тестирования, последовательно щелкните Тест, Изменить настройки тестирования и выберите созданные параметры тестирования.Дополнительные сведения см. в разделе Практическое руководство. Изменение существующих параметров тестирования для плана тестирования.
Удаление параметров тестирования из решения
В узле "Элементы решения" обозревателя решений щелкните правой кнопкой мыши параметры тестирования, которые необходимо удалить, и нажмите кнопку Удалить.
Файл параметров тестирования удаляется из решения. Это изменение отражается в списках Выбрать активные параметры тестирования и Изменить параметры тестирования меню Тест.
См. также
Задачи
Создание параметров тестирования для запуска автоматических тестов из Visual Studio
Основные понятия
Настройка компьютеров и сбор диагностических данных с помощью параметров тестирования