Нагрузочное тестирование приложений с помощью SilkPerformer. Часть 1

Олег Большаков

В данной статье мы рассмотрим процесс нагрузочного тестирования приложений с помощью программного средства Borland/Microfocus SilkPerformer 2009. Этот продукт входит в линейку средств тестирования Borland Silk и предназначен для автоматизации нагрузочного тестирования и анализа производительности приложений.

Давайте для начала разберемся, что такое нагрузочное тестирование (иногда его еще называют стрессовым). Нагрузочное тестирование - это тестирование информационных систем с различными уровнями нагрузки с целью анализа их производительности и выявления проблем. Определенный уровень загрузки формируется с помощью так называемых "виртуальных пользователей". Виртуальный пользователь является основным понятием нагрузочного тестирования. Каждый виртуальный пользователь имитирует сеанс реальной работы с тестируемым приложением и, таким образом, меняя количество виртуальных пользователей, а также определяя сценарии их работы, мы можем гибко управлять нагрузкой.

Например, в ходе разработки какого-либо приложения, использующего базу данных, сложно понять, как поведет себя база при работе с несколькими тысячами пользователей. Однако, используя SilkPerformer, мы сможем сымитировать работу и десятков и сотен тысяч пользователей, управляя при этом распределением нагрузки во временной плоскости (постепенное увеличение пользователей, случайное количество пользователей, синусоидальная загрузка или же предопределенные значения), а также, комбинируя различные тестовые сценарии. Например, мы можем сформировать загрузку, когда в течение определенного времени 80% пользователей постоянно выполняют "легкие" запросы к базе данных, а 20% - "тяжелые" запросы.

Таким образом, наша первая задача - это формирование сценария работы с тестируемой системой (сессию). Самый простейший вариант сформировать данный сценарий - это воспользоваться возможностью записи, которую предоставляет Borland/Microfocus SilkPerformer 2009. Для этого нужно нажать на панели кнопку "Model Script", после чего открывается клиентская часть системы, которую мы тестируем (например, для Web-сервера откроется браузер Internet Explorer или Mozilla Firefox). В клиенте мы должны выполнить те действия, которые и сформируют некоторую загрузку. Во время записи сессии мы можем фиксировать так называемые транзакции - отдельные части всей сессии, временем запуска которых мы сможем управлять при последующем тестировании. После выполнения всех необходимых действий необходимо нажать кнопку "Stop", после чего отобразится скрипт выполненной сессии на языке BDL (Benchmark Description Language) (рис.1). Конечно же, можно было бы написать этот скрипт вручную, однако более удобный способ - это запись, а при необходимости - корректировка вручную.

Рис.1. Текст сценария на языке BDL.

После создания скрипта (и возможных изменений, внесенных вручную) необходимо проверить скрипт на отсутствие ошибок. Для этого на панели инструментов необходимо нажать кнопку "Try Script", и Borland/Microfocus SilkPerformer 2009 выполнит скрипт для одного виртуального пользователя. В случае, если в скрипте будут допущены ошибки, компилятор выдаст соответствующие сообщения.

Следующий шаг - это конфигурирование рабочей нагрузки и количества виртуальных пользователей. Для этого в дереве проекта мы должны выбрать ветку Workloads, а в ней - нужную нам конфигурацию (их может быть несколько в проекте), после чего откроется окно конфигурации нагрузки (рис.2). Borland/Microfocus SilkPerformer 2009 предлагает несколько видов конфигураций: с постепенным увеличением (Increasing), равномерная нагрузка (Steady State), динамическая (Dynamic), с распределением в течение дня по часам (All Day, рис.3) и с заданной частотой (Queuing).

 

Рис.2. Конфигурация рабочей нагрузки.

Рис.3. Настройка рабочей нагрузки в течение дня по часам.

После завершения конфигурирования рабочей нагрузки можно считать, что начальная подготовка к тестированию выполнена, и можно запустить тест. Нажимаем на панели инструментов кнопку "Run Test". Главное окно SilkPerformer при этом примет вид, представленный на рис.4.

Рис.4. Главное окно Borland/Microfocus SilkPerformer 2009 при выполнении теста.

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

Читать часть 2


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=23123