Поделиться через


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

Использование нагрузочного тестирования в Visual Studio Ultimate для проверки проблем с производительностью до выпуска приложения.

Не хотите использовать ресурсы и настраивать собственные компьютеры для создания этой нагрузки? Облачное нагрузочное тестирование можно использовать для предоставления виртуальных машин в облаке, которые создают нагрузку при одновременном доступе большого числа пользователей к веб-сайту. Все, что вам потребуется, — Учетная запись Visual Studio Online. Дополнительную информацию см. в облачная служба тестирования нагрузки, которая предоставляет 15 000 бесплатных пользовательских минут тестирования нагрузки каждый месяц.

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

Создание проекта веб-теста производительности и нагрузочного теста

  1. Если у вас нет версии Visual Studio Ultimate, ее можно получить здесь.

  2. Создайте проект веб-теста производительности и нагрузочного теста.

    Create Web Performance and Load Test project

Запись веб-теста производительности

  1. Создайте веб-тест производительности.

    Create web performance test

    Откроется ваш веб-браузер.

  2. Введите URL-адрес веб-сайта, который необходимо протестировать.

    Enter url - web test recorder automatically starts

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

    Средство записи записывает HTTP-запросы и ответы.

  4. По окончании можно остановить запись.

    Use your application as user would, stop recording

    Visual Studio осуществляет поиск динамических параметров для HTTP-ответов на каждый из ваших HTTP-запросов. Пока это происходит, отображается индикатор выполнения.

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

  5. Переименуйте тест. Например, ShoppingCart.webtest.

    Rename web performance test

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

    Edit page response time goal property to 1 second

  7. Сохраните тест.

Создание нагрузочного теста

  1. Создайте новый нагрузочный тест в проекте веб-теста производительности и нагрузочного теста.

    Create new load test

  2. Когда мастер нагрузочного теста отобразится, выберите шаг шаблона нагрузки.

    Измените шаблон нагрузки на пошаговую нагрузку. При этом пользователи добавляются постепенно с течением времени.

    Configure the step pattern

  3. Выберите шаг тестового набора.

    New Load Test Wizard - Test Mix page

    Добавьте созданный веб-тест производительности.

    Add tests to the test mix

    Переместите веб-тест производительности в список тестов, который необходимо включить.

    Select which tests to include in the test mix

  4. Завершив работу мастера, веб-тест производительности добавляется в нагрузочный тест и отображается в редакторе нагрузочного теста.

    Load test editor

Запуск и анализ нагрузочного теста

Нагрузочные тесты можно выполнять локально или в облаке с помощью Visual Studio Online. Все, что вам нужно, — это учетная запись Visual Studio Online. Если вы выполняете нагрузочный тест в облаке, можно создать больше нагрузки, не настраивая тестовые контроллеры и агенты. Чтобы узнать о том, насколько просто использовать нагрузочное тестирование в облаке, перейдите сюда.

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

  1. Запуск нагрузочного теста.

    Run a load test from toolbar

    Начнется выполнение теста.

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

    Analyzing page response time issue

    Добавьте примечание анализа для отслеживания проблемы.

    Add an analysis note during test

    После завершения нагрузочного теста отобразится сводка.

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

    Load test summary

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

    Detail view with step load pattern

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

Оптимизация нагрузочных тестов

Вопросы и ответы

В. Как увеличить производительность моих нагрузочных тестов?

Ответ. Можно использоватьоблачную службу нагрузочного тестирования, позволяющую выполнять тесты на нескольких виртуальных машинах в облаке. Кроме того, можно использовать локальные контроллеры тестирования и агенты тестирования. См. раздел Создание и запуск нагрузочного теста [перенаправлено].

Использование контроллера и агентов тестирования не поддерживается в пробной версии Visual Studio Ultimate.

Вопрос. Сколько виртуальных пользователей можно настроить в нагрузочном тесте?

Ответ. В полной версии Visual Studio Ultimate число виртуальных пользователей не ограничено. Однако если требуется моделировать тысячи пользователей, следует использовать контроллер тестирования и компьютеры агентов тестирования.

В пробной версии Visual Studio Ultimate число виртуальных пользователей ограничено 250.

Вопрос. Можно ли анализировать ранее выполненные нагрузочные тесты?

Ответ. Да, используя кнопку "Открыть и управлять результатами" Manage results toolbar button в редакторе нагрузочных тестов. Можно запускать несколько тестов, открытых одновременно, для сравнения запусков, а затем создать отчеты об анализе трендов, сравнивая их. .

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

Ответ. Да, есть следующие различия.

  • Счетчики производительности. Во время выполнения теста доступно только подмножество данных счетчиков производительности.

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

Вопрос. Можно ли использовать в тестовом наборе нагрузочных тестов другие типы тестов, кроме веб-тестов производительности?

Ответ. Да, можно включать модульные тесты и закодированные тесты ИП.

Вопрос. Могут ли виртуальные пользователи моделировать задержку между шагами теста?

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

Вопрос. В каких случаях следует использовать облачное нагрузочное тестирование?

Ответ. Если вы не хотите настраивать компьютеры для нагрузочного тестирования или у вас нет свободных ресурсов, можно использовать облачную службу нагрузочного тестирования. Эта служба создает в облаке виртуальные машины, которые выполнят нагрузочный тест. Обратите внимание, что Visual Studio Online может выполнять нагрузочное тестирование только для веб-сайтов, доступных в Интернете.

Вопрос. Как применять веб-тесты и нагрузочные тесты в модели непрерывной поставки?

Ответ. См. страницу Книга «Шаблоны и приемы. Тестирование при непрерывной поставке с использованием Visual Studio 2012», глава 6, «Средства тестирования»