Запуск тестов производительности в приложении
Использование нагрузочного тестирования в Visual Studio Ultimate для проверки проблем с производительностью до выпуска приложения.
Не хотите использовать ресурсы и настраивать собственные компьютеры для создания этой нагрузки? Облачное нагрузочное тестирование можно использовать для предоставления виртуальных машин в облаке, которые создают нагрузку при одновременном доступе большого числа пользователей к веб-сайту. Все, что вам потребуется, — Учетная запись Visual Studio Online. Дополнительную информацию см. в облачная служба тестирования нагрузки, которая предоставляет 15 000 бесплатных пользовательских минут тестирования нагрузки каждый месяц.
Чтобы протестировать нагрузку приложения на локальных ресурсах или с использованием облачного тестирования нагрузки, сначала необходимо создать веб-тесты производительности. Эти тесты используются в нагрузочном тестировании для симулирования действий нескольких пользователей в приложении одновременно.
Создание проекта веб-теста производительности и нагрузочного теста
Если у вас нет версии Visual Studio Ultimate, ее можно получить здесь.
Создайте проект веб-теста производительности и нагрузочного теста.
Запись веб-теста производительности
Создайте веб-тест производительности.
Откроется ваш веб-браузер.
Введите URL-адрес веб-сайта, который необходимо протестировать.
Используйте приложение так, как его будут использовать ваши клиенты. Например, ищите элементы и добавляйте их в корзину.
Средство записи записывает HTTP-запросы и ответы.
По окончании можно остановить запись.
Visual Studio осуществляет поиск динамических параметров для HTTP-ответов на каждый из ваших HTTP-запросов. Пока это происходит, отображается индикатор выполнения.
Если найдены динамические параметры, открывается таблица. Она позволяет присваивать значения констант в каждый из динамических параметров.
Переименуйте тест. Например, ShoppingCart.webtest.
Измените свойства теста, чтобы определить целевые значения производительности. Например, можно установить целевое время загрузки страницы как 1 секунда.
Сохраните тест.
Создание нагрузочного теста
Создайте новый нагрузочный тест в проекте веб-теста производительности и нагрузочного теста.
Когда мастер нагрузочного теста отобразится, выберите шаг шаблона нагрузки.
Измените шаблон нагрузки на пошаговую нагрузку. При этом пользователи добавляются постепенно с течением времени.
Выберите шаг тестового набора.
Добавьте созданный веб-тест производительности.
Переместите веб-тест производительности в список тестов, который необходимо включить.
Завершив работу мастера, веб-тест производительности добавляется в нагрузочный тест и отображается в редакторе нагрузочного теста.
Запуск и анализ нагрузочного теста
Нагрузочные тесты можно выполнять локально или в облаке с помощью Visual Studio Online. Все, что вам нужно, — это учетная запись Visual Studio Online. Если вы выполняете нагрузочный тест в облаке, можно создать больше нагрузки, не настраивая тестовые контроллеры и агенты. Чтобы узнать о том, насколько просто использовать нагрузочное тестирование в облаке, перейдите сюда.
Чтобы выполнить нагрузочный тест на локальном компьютере, выполните следующие действия.
Запуск нагрузочного теста.
Начнется выполнение теста.
При выполнении теста будет обнаружено, что время ответа страницы корзины превышает заданное значение.
Добавьте примечание анализа для отслеживания проблемы.
После завершения нагрузочного теста отобразится сводка.
В результатах завершенного теста содержатся данные счетчиков производительности, нарушения пороговых значений и сведения об ошибках.
Выберите представление сведений. Анализируя шаблон нагрузки шага для пользователей, можно определить число пользователей, когда производительность не соответствует требованиям.
Устраните обнаруженные проблемы производительности в коде приложения и повторить выполнение теста.
Оптимизация нагрузочных тестов
Можно оптимизировать тест для более эффективной имитации реальных загрузок, указав другие свойства веб-теста производительности, свойства сценария нагрузочного теста и свойства параметров запуска. Например, можно указать количество новых пользователей, которые будут использовать данные веб-кэша в нагрузочном тесте.
Вопросы и ответы
В. Как увеличить производительность моих нагрузочных тестов?
Ответ. Можно использоватьоблачную службу нагрузочного тестирования, позволяющую выполнять тесты на нескольких виртуальных машинах в облаке. Кроме того, можно использовать локальные контроллеры тестирования и агенты тестирования. См. раздел Создание и запуск нагрузочного теста [перенаправлено].
Использование контроллера и агентов тестирования не поддерживается в пробной версии Visual Studio Ultimate.
Вопрос. Сколько виртуальных пользователей можно настроить в нагрузочном тесте?
Ответ. В полной версии Visual Studio Ultimate число виртуальных пользователей не ограничено. Однако если требуется моделировать тысячи пользователей, следует использовать контроллер тестирования и компьютеры агентов тестирования.
В пробной версии Visual Studio Ultimate число виртуальных пользователей ограничено 250.
Вопрос. Можно ли анализировать ранее выполненные нагрузочные тесты?
Ответ. Да, используя кнопку "Открыть и управлять результатами" в редакторе нагрузочных тестов. Можно запускать несколько тестов, открытых одновременно, для сравнения запусков, а затем создать отчеты об анализе трендов, сравнивая их. .
Вопрос. Есть ли разница между тем, что я могу анализировать во время выполнения теста и после завершения теста?
Ответ. Да, есть следующие различия.
Счетчики производительности. Во время выполнения теста доступно только подмножество данных счетчиков производительности.
Представления. После выполнения нагрузочного теста доступны Представление "Сводка" и Представление "Сведения".
Вопрос. Можно ли использовать в тестовом наборе нагрузочных тестов другие типы тестов, кроме веб-тестов производительности?
Ответ. Да, можно включать модульные тесты и закодированные тесты ИП.
Вопрос. Могут ли виртуальные пользователи моделировать задержку между шагами теста?
Ответ. Да, можно указать время на обдумывание, чтобы моделировать время, проведенное пользователем на веб-странице.
Вопрос. В каких случаях следует использовать облачное нагрузочное тестирование?
Ответ. Если вы не хотите настраивать компьютеры для нагрузочного тестирования или у вас нет свободных ресурсов, можно использовать облачную службу нагрузочного тестирования. Эта служба создает в облаке виртуальные машины, которые выполнят нагрузочный тест. Обратите внимание, что Visual Studio Online может выполнять нагрузочное тестирование только для веб-сайтов, доступных в Интернете.
Вопрос. Как применять веб-тесты и нагрузочные тесты в модели непрерывной поставки?
Ответ. См. страницу Книга «Шаблоны и приемы. Тестирование при непрерывной поставке с использованием Visual Studio 2012», глава 6, «Средства тестирования»