Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Рабочая инструкция
Порядок проведения нагрузочного тестирования
СОГЛАСОВАНО
Руководитель центра аудита качества и стандартизации А. Е. Заровнятных
Содержание
1. Общие положения.. 3
2. Нормативные ссылки.. 3
3. Определения и сокращения.. 3
4. Описание регламента работы... 3
4.1 Создание и запуск сценария тестирования в LoadRunner 8.1. 4
4.1.1 Создание скрипта. 4
4.1.2 Создание сценария. 9
4.1.3 Использование динамических параметров в LoadRunner. 12
4.1.4 Использование пользовательских параметров в LoadRunner. 13
4.2 Порядок мониторинга быстродействия Windows Performance.. 17
4.3 Проведение анализа прикладных объектов.. 22
4.3.1 Подготовка к использованию StressTest 22
4.3.2 Создание репозитория. 24
4.3.3 Создание теста. 24
4.3.4 Создание анализа. 26
4.3.5 Создание сценария. 27
4.3.6 Запуск задачи LoadRunner. 28
5. Записи, определенные в документе.. 29
6. Порядок внесения изменений.. 29
1. Общие положения
Настоящая рабочая инструкция определяет последовательность выполнения действий, осуществляемых при проведении нагрузочного тестирования веб-приложений, а также при предварительном анализе прикладной системы.
Настоящая рабочая инструкция предназначена для сотрудников прикладных и технологических подразделений, которые проводят нагрузочное тестирование.
Ответственность за выполнение действий в соответствии с положениями настоящего документа несут руководители групп тестирования и руководители проектных групп прикладных подразделений.
Контроль за соблюдением положений настоящего документа возлагается на руководителей прикладных подразделений и руководителя центра аудита качества и стандартизации.
2. Нормативные ссылки
Настоящий документ сформирован в соответствии со следующими нормативными документами:
1) СМК-5 «Организационная структура компании «Прогноз»;
2) СТП-2 «Управление документами системы менеджмента качества и системы менеджмента информационной безопасности»;
3) СТП-3 «Управление записями»;
4) СМК-Р-1 «Определения и сокращения»;
5) РИ-2 «Регламентное тестирование версии ПС».
3. Определения и сокращения
Определения и сокращения, используемые в настоящем документе, даны в документе СМК‑Р‑1 «Определения и сокращения», а также в настоящем разделе далее.
Нагрузочное тестирование — тестирование, при котором производится оценка характеристик производительности системы (таких как скорость работы, использование ресурсов и т. п.) и сравнение их с ожидаемыми результатами при стандартных условиях работы системы.
Скрипт в LoadRunner — сценарий, который определяет набор действий/запросов, которые будет выполнять/отправлять LoadRunner во время тестирования.
Сценарий в LoadRunner — сценарий, который определяет параметры входа/выхода пользователей, скрипт LoadRunner-а, а также ряд других настроек.
Сценарий в StressTest — сценарий, который определяет набор действий, выполняемых StressTest-ом, способ входа пользователей.
4. Описание регламента работы
Нагрузочное тестирование проводится в обязательном порядке, если версия ПС является веб-приложением и предполагаемое количество одновременно работающих пользователей больше одного, соответствующие работы включаются в план тестирования версии ПС в соответствии с РИ-2 «Регламентное тестирование версии ПС».
Перед началом проведения нагрузочного тестирования необходимо настроить сервер СУБД и сервер веб-приложений. Сервер веб-приложений выбирается согласно характеристикам, указанным в акте передачи на тестирование.
Для проведения нагрузочного тестирования рекомендуется использовать следующие программы:
q LoadRunner - основная программа для проведения нагрузочного тестирования веб-приложения (п.4.1).
q Windows Perfomance - используется дополнительно для мониторинга быстродействия работы приложения во время тестирования (п.4.2).
q StressTest - используется только для анализа приложений, созданных на базе АК "Прогноз-5" и Prognoz Platform, если в ходе нагрузочного тестирования выявляются проблемы, например, утечки памяти, большая загруженность и т. д. (п.4.3).
4.1 Создание и запуск сценария тестирования в LoadRunner 8.1
Нагрузочное тестирование с помощью LoadRunner 8.1 состоит из следующих этапов:
1. Создание скрипта
2. Создание сценария
3. Использование динамических параметров в LoadRunner
4. Использование пользовательских параметров в LoadRunner
Установить программу LoadRunner 8.1 необходимо из дистрибутива \\TITAN\Perm\Distr\ProgDistr\LoadRunner.
Перед началом проведения тестирования необходимо согласовать порядок действий пользователя при работе с веб-приложением с руководителем, ответственным за создание веб-приложения.
4.1.1 Создание скрипта
Настройка параметров скрипта
1. После запуска программы на экране появится окно LoadRunner. На закладке Load Testing выбрать Create/Edit Scripts. В данном окне выбрать New Vuser Script, протокол и нажать на кнопку OK (либо нажать File®New).

Рисунок 1 Create/Edit Scripts

Рисунок 2 New Script

Рисунок 3 Protocol
2. В окне Start Recording в поле URL Address указать адрес веб-приложения, а в поле Record into Action выбрать vuser_init.

Рисунок 4 URL Address
3. Нажать на кнопку Options/Start Recording. В появившемся окне Recording Options в разделе Correlation снять флажок Enable correlation during recording. После чего закрыть окно, нажав на кнопку OK (Данные опции также можно установить непосредственно перед запуском скрипта. Для этого необходимо на панели инструментов нажать на кнопку Edit Recording Options (Ctrl+F7)).

Рисунок 5 Enable correlation during recording
Запись скрипта
1. После того, как установлены все необходимые параметры нужно нажать на кнопку OK в Start Recording.
2. По ссылке указанной в URL Address/ Start Recording откроется браузер и панель инструментов робота, которая выглядит следующим образом:
![]()
Рисунок 6 Панель инструментов робота
3. После открытия ссылки в панели инструментов робота vuser_init изменить на Action. В некоторых случаях, прежде чем выбрать Action, следует выполнить авторизацию, заполнив логин и пароль для конкретного веб-приложения.
4. Новая транзакция (набор действий пользователя, которые он выполняет в веб-приложении, например: изменить отметку, нажать кнопку «обновления» и т. д.) начинается с нажатия кнопки Insert Start Transaction в панели инструментов робота. В появившемся окне указать имя транзакции, которое имеет смысловую нагрузку, например: «Переход на другую страницу», «Открытие отчета», «Экспорт в xls».

Рисунок 7 Insert Start Transaction
5. Выполнить данную операцию, после чего закрыть транзакцию, нажав на кнопку Insert End Transaction.
6. При необходимости записать дальнейшие действия, при этом не забывать на каждую операцию (действие) открывать и закрывать транзакцию.
Примечание: Транзакция может состоять из нескольких действий (шагов) в браузере.
7. Нажать на кнопку Stop и подождать пока сгенерируется скрипт.
Сохранение скрипта
1. На экране появится окно с записью скрипта. Для того, чтобы сохранить данный скрипт необходимо на панели инструментов нажать кнопку Save (Ctrl+S). Все сохраненные скрипты будут отображаться на Start Page.

Рисунок 8 Скрипт
2. Задать необходимые задержки перед выполнением каждой из транзакций, добавив код lr_think_time (10) перед стартом транзакции (обычно 10 секунд). Сгенерированные ожидания лучше удалить.
Дополнительные параметры скрипта
1. Для установки дополнительных параметров вызвать окно Run-time Settings (F4), или нажать на кнопку Edit Runtime Settings на панели инструментов Vuser/Toolbars:
- Run Logic – установить количество итераций;
- Miscellaneous – убрать отметку в чекбоксе Define each action as a transaction;
- Browser Emulation – убрать отметку в чекбоксе Simulate a new user on each iteration;
- Выполнить скрипт можно под разными браузерами. Для этого необходимо в поле Browser type/User-Agent выбрать соответствующий браузер;
- Proxy – выбрать No proxy (direct connection to the Internet).

Рисунок 9 Number of Iterations

Рисунок 10 User-Agent
2. Сохранить внесенные изменения и нажать на кнопку Run (F5) на панели Инструментов.
Примечание: в случае обнаружения ошибок при выполнении скрипта (в Replay Log, Recording Log), обратиться за помощью к разработчикам.
4.1.2 Создание сценария
1. Для создания сценария нажать на кнопку Create Controller Scenario на панели инструментов Tools/Toolbars. В появившемся окне необходимо установить количество пользователей (Number of Vusers) и нажать Ok.

Рисунок 11 Create Scenario
Будет запущен HP LoadRunner Controller, где в окне New Scenario следует выбрать записанный скрипт и добавить его в поле Scripts in Scenario (через кнопку Add).

Рисунок 12 Create Scenario
2. Сконфигурировать необходимые параметры

Рисунок 13
На панели Scenario Schedule/Design нажать кнопку «Edit Schedule» установить следующее параметры:
- Ramp Up (вход каждого или нескольких пользователей за отведенный им промежуток времени)
- Duration (время работы пользователей с приложением)
- Ramp Down (выход каждого или нескольких пользователей за отведенный им промежуток времени)

Рисунок 14 Edit Action
3. После этого необходимо добавить счетчики производительности. Наиболее распространенные счетчики памяти: Private Bytes, Virtual Bytes и Загруженность процессора. На панели Scenario Schedule/Design открыть вкладку Run, далее над окном Windows Resources открыть контекстное меню и выбрать «Add Measurements…». В появившемся диалоге.

Рисунок 15
Добавить необходимые сервера и счетчики.
4. Нажать на кнопку Start Scenario.
5. После завершения тестирования в меню Results выбрать пункт Analyse Results и полученные результаты экспортировать в HTML (при успешном завершении операции).
4.1.3 Использование динамических параметров в LoadRunner
Динамические параметры используются, если при одних и тех же действиях пользователя текст запроса изменяется (либо какая-то из его частей).
Перед использованием динамических параметров необходимо знать:
q действие в веб-приложении, которое необходимо выполнить с динамическим значением;
q HTTP запрос, выполняющийся при этом действии и место параметра в этом запросе;
q статичный скрипт в LoadRunner;
q ответ сервера и место, где располагается значение динамического параметра.
Порядок:
К примеру, имеется некий скрипт, содержащий динамический параметр.
В данном случае, это внутренний динамический параметр, не зависящий от пользователя (нигде не вводится и генерируется сервером).

Рисунок 16
Для считывания значения параметра, перед запросом, который возвращает текст, содержащий значение этого параметра, поместить код. Это означает, что в ответе сервера разыскивается строка, заключенная между LB= и RB= . Это и будет значение интересующего параметра.

Рисунок 17
Проверить полученное значение можно при отладке скрипта (подробней см. в п.3.3.2).
4.1.4 Использование пользовательских параметров в LoadRunner
Если при проведении нагрузочного тестирования предполагается, что каждый пользователь должен выполнять вход под своим логином/паролем или выполнять действия отличные от других пользователей (возможно на каждой новой итерации нужно изменять текст запроса), то для этих целей можно использовать пользовательские параметры.
Перед использованием пользовательских параметров необходимо знать:
q действие в веб-приложении, которое необходимо выполнить с динамическим значением;
q HTTP запрос, выполняющийся при этом действии и место параметра в этом запросе;
q статичный скрипт в LoadRunner.
Порядок:
Например, имеется скрипт с динамическими параметрами.
В данном случае это значение одного из полей при сохранении какой-либо формы. Значение этого поля при сохранении формы должно быть уникальным.
Поскольку робот записал его статично, то воспроизведение скрипта и запуск нагрузочного тестирования будет некорректен. Необходимо параметризировать это значение. Для этого необходимо выбрать Параметры скрипта.

Рисунок 18
В открывшемся окне выбрать пункт Создание нового параметра.

Рисунок 19
Далее следует выбрать тип параметра (в данном случае подойдет встроенный параметр, который возвращает уникальный идентификатор пользователя) и изменить его имя на vuserID.

Рисунок 20
Далее в скрипте подставить значение этого параметра в фигурных скобках и поставить точку останова в указанном месте для проверки.

Рисунок 21
Далее следует перейти в настройки скрипта.

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

Рисунок 23
Далее воспроизвести скрипт до точки останова, выполнить пошагово одну операцию (F10) и проверить значение параметра, которое подставилось в запрос.

Рисунок 24
После проведения нагрузочного тестирования тестером создается карточка нагрузочного тестирования (шаблон в Приложении 1), в которой заполняется аналитическая записка по тестированию веб-приложения, сценарий нагрузочного тестирования, параметры нагрузочного тестирования веб-приложения, строятся графики динамики производительности, потребляемой памяти, загруженности процессора. При этом на графиках параметром по оси X рекомендуется выбирать:
q число пользователей – в случае, если время тестирования на всех пользователей сравнительно небольшое от общего времени тестирования (к примеру - менее 40%). При этом наблюдают как изменяются ресурсы: динамика производительности, потребляемая память, загруженность процессора;
q время - в остальных случаях.
4.2 Порядок мониторинга быстродействия Windows Performance
При проведении мониторинга быстродействия оценивается:
q изменение объема памяти: по наличию утечек (если они есть, то в каком объеме). Норма объема утечек - 0 байт.
q загруженность процессора: сможет ли система выдержать добавление новых пользователей сверх установленных N пользователей.
q потребляемая память: оценивается сколько должно быть оперативной памяти (RAM) на сервере для работы N пользователей
Как правило допустимые значения параметров (количество пользователей и время работы) определяют для конкретного проекта.
1. Панель управления®Администрирование®Производительность (Performance)

Рисунок 25
2. Перейти в раздел Performance Logs and Alerts

Рисунок 26
3. Создать счетчик в контекстом меню в правой части – New Log Settings

Рисунок 27
4. В открывшемся окне выбрать Add Counters.

Рисунок 28

Рисунок 29
5. Добавить следующие счетчики на Performance object – Process для обслуживающего процесса (например, w3wp для IIS-а):
- % Processor Time
- Private Bytes
Например,

Рисунок 30
Закрыть окно.
В появившемся окне установить интервал в 1 секунду.

Рисунок 31
На вкладке Log Files установить Text File.

Рисунок 32
На вкладке Schedule поставить manually.

Рисунок 33
Нажать на кнопку OK, после чего можно запустить счетчик, выбрав его и нажав на кнопку в Toolbars. При запуске счетчика следует запускать созданный сценарий (HP LoadRunner).

Рисунок 34
Получившиеся файлы в папке по умолчанию c:\Perflogs можно открывать в Excel и строить на основе этих данных диаграммы.
4.3 Проведение анализа прикладных объектов
StressTest используется в случае:
q если по результатам нагрузочного тестирования выявлены проблемы: возникновение ошибок, падение обслуживающего процесса, утечки памяти, высокое время отклика, зависание обслуживающего процесса или высокое потребление памяти, то для выявления причин этих проблем используется StressTest.
q автоматизации запуска LoadRunner и формирования отчета.
Основные этапы работы со StressTest:
1. Подготовка к использованию StressTest;
2. Создание репозитория;
3. Создание теста;
4. Создание анализа;
5. Создание сценария;
6. Запуск задачи LoadRunner.
4.3.1 Подготовка к использованию StressTest
1. Перед началом работы со StressTest необходимо убедиться в наличии:
q репозитория АК Прогноз, содержащего необходимые отчеты, имя пользователя и пароль для подключения;
q TNS сервера, в котором располагается репозиторий (определен в настройках клиента oracle);
q идентификаторов отчетов, либо идентификатор объекта веб-приложения, либо папок, в которых располагаются необходимые объекты для тестирования;
q номера релиза и сборки, на которой необходимо проводить тестирование;
q сервера, удовлетворяющего требованиям к веб-серверу, а также установленный на нем АК Прогноз необходимой версии (не regfree);
q Microsoft OLE DB Provider for SQL Server на сервере (как правило, входит в первоначальный пакет Windows и дополнительная установка не требуется).
2. Перед началом тестирования необходимо скопировать StressTest посредством копирования папки: \\prognoz\common\Prognoz5\Versions\Release5.25\5.25.281\StressTest в произвольную папку на сервере, на котором предполагается проведение нагрузочного тестирования. В указанной ссылке «25» – номер релиза, он может быть различный.
3. Для начала работы необходимо запустить конфигурационную часть – Stress_Config. exe

Рисунок 35
4. После запуска для каждого из объектов будет открываться консольное приложение, производящее указанные действия заданное количество раз.
5. Для просмотра результатов сценариев или анализов в главном окне программы необходимо выбрать «Просмотр результатов – Результаты анализов» или «Просмотр результатов – Результаты сценариев».

Рисунок 36
4.3.2 Создание репозитория
Необходимо создать репозиторий, выбрав в главном меню Объект®Создать®Репозиторий. Откроется мастер создания репозитория, на второй странице которого необходимо задать параметры (осуществляется аналогично созданию объекта «База данных» в толстом клиенте).

Рисунок 37
После указания параметров необходимо проверить подключение, нажать на кнопку Далее и закончить работу мастера - Готово.
4.3.3 Создание теста
1. У созданного репозитория необходимо создать объект Тест при помощи пункта Создать Тест контекстного меню.

Рисунок 38
2. После открытия мастера задать имя и идентификатор, после чего перейти на следующую страницу.
3. На следующей странице необходимо выбрать объекты для тестирования, установив для них флажки.
При необходимости можно воспользоваться поиском, вызвав его в контекстном меню.
Вкладка веб-приложения позволяет единовременно выбрать все объекты в веб-приложении при помощи двойного щелчка мышью по веб-приложению.

Рисунок 39
4. После выбора отчетов следует перейти на следующую страницу, на которой можно установить параметры для выбранных объектов, а также проверить корректность работы отчетов (отчеты с параметрами будут подсвечены).

Рисунок 40
5. Далее необходимо завершить работу мастера - Готово.
4.3.4 Создание анализа
1. Для анализа необходимо вызвать контекстное меню у созданного объекта Тест и выбрать Создать анализ.

Рисунок 41
При помощи анализа выполняются следующие действия в указанном порядке в зависимости от выставленных параметров:
- открытие объекта метабазы;
- изменение отметки;
- сохранение ссылки на объект;
- экспорт;
- очистка метабазы;
- освобождение COM объектов;
- вызов сборщика мусора.
2. После заполнения базовых свойств необходимо заполнить свойства анализа прикладных объектов, определив параметры анализа.
Для определения ресурсоемкости отчетов обычно используются следующие параметры:
- количество открытий: 100 (минимум)
- выключенный явный сбор мусора
Для определения утечек в отчетах используются следующие параметры:
- количество открытий: 3000 (минимум)
- выключенное хранение ссылок
- включенный явный сбор мусора
- включенное освобождение COM объектов
4.3.5 Создание сценария
Для создания сценария необходимо вызвать контекстное меню над объектом Тест и выбрать Создать сценарий.
Остальные параметры устанавливаются в зависимости от цели тестирования.
При помощи сценария выполняются следующие действия в указанном порядке в зависимости от выставленных параметров:
- открытие объекта метабазы;
- сохранение ссылки на объект;
- изменение отметки;
- экспорт;
- перевычисление отчета в цикле;
- очистка метабазы;
- освобождение COM объектов;
- вызов сборщика мусора;
В окне «Свойства сценария» определить параметры сценария. Особо обратить внимание необходимо на следующие параметры:
Интервал между пользователями (в секундах):
0 – все пользователи заходят одновременно;
Значения кроме «0» – каждый следующий пользователь войдет через указанное время.
Пул соединений:
Параметр «Пул соединений» настраивается в зависимости от параметра «Использовать одну метабазу». Если параметр “Использовать одну метабазу” установлен «Да», то обязательно значение параметра «Пул соединений» необходимо установить «1».
В других случаях ставится ограниченное количество соединений к серверу СУБД на указанное число.
Если значение параметра задать «0», то «Пул соединений» использоваться не будет.
Ожидать подключения:
Если значение параметра «да», то пользователь будет ждать, пока все остальные пользователи не подключатся к метабазе.
4.3.6 Запуск задачи LoadRunner
1. Задача LoadRunner выполняет автоматизированный запуск нагрузочного тестирования и формирование отчета о результатах тестирования. Задача не привязана к ядру комплекса, поэтому можно с ней работать без установленного комплекса.
2. Создавать и запускать задачу LoadRunner необходимо на сервере, где расположен LoadRunner.
3. В региональных настройках формат даты должен быть установлен в «English (United States)».
4. Для задачи LoadRunner необходимо определить следующие параметры:

Рисунок 42
Версия: версия тестируемого приложения. Данное значение будет отображено в отчете.
Имя обслуживающего процесса: Используется для получения результатных данных, если значение указано не верно, то в отчете будут отсутствовать данные о памяти и загруженности процессора.
Путь к файлу сценария: Определяет путь до предварительно созданного сценария LoadRunner-а, который подлежит тестированию.
Число точек на диаграмме: Используется для построения диаграмм динамики. Чем больше количество точек задается, тем детальнее получается прорисовка диаграмм.
Список приложений:
- ссылка на приложение: URL адрес тестируемого веб-приложения.
- ссылка на сервис: URL адрес сервиса на сервере приложений. Необходимо настроить самостоятельно. Используется для выполнения сервисных функций во время тестирования. Данный сервис расположен в папке StressTest → Service.
- число обслуживающих процессов: используется для создания нужного числа счетчиков производительности и формирования отчета.
Ссылка на приложение: Ссылка, которая будет отображаться только в отчете.
5. На последующих страницах задачи LoadRunner-а:
- проверяется работоспособность всех сервисов на каждом сервере приложений.
- формируется список счетчиков и добавляется в сценарий LoadRunner-a, если в сценарии уже существуют счетчики, данный шаг необходимо пропустить.
- настройка шаблона отчетов LoadRunner-а. Если перед запуском шаблон будет отличный от необходимого, все данные собрать не получится.
Для того, чтобы запустить необходимо нажать кнопку:
.
6. Для запуска вызвать контекстное меню над задачей LoadRunner-a и выбрать “Запустить…”
7. Получившийся excel отчет сохраняется в папке со скриптом LoadRunner-a.
5. Записи, определенные в документе
В настоящем документе определены следующие записи:
q план тестирования версии ПС;
q карточка нагрузочного тестирования.
Порядок управления записями, перечисленными выше, определен в стандарте предприятия СТП-3 «Управление записями».
6. Порядок внесения изменений
Инициаторами изменений настоящего документа могут быть сотрудники, которые проводят нагрузочное тестирование, сотрудники центра аудита качества и стандартизации, руководители групп тестирования и руководители проектных групп прикладных подразделений, руководители прикладных подразделений, заместители генерального директора, курирующие деятельность прикладных подразделений, Генеральный директор.
Принять решение о внесении изменений могут руководитель центра аудита качества и стандартизации, руководители прикладных подразделений, Генеральный директор.
Любое изменение должно быть согласовано и утверждено в соответствии с положениями стандарта предприятия СТП-2 «Управление документами системы менеджмента качества и системы менеджмента информационной безопасности».
ЛИСТ РЕГИСТРАЦИИ ИЗМЕНЕНИЙ
№ | Версия,[*] дата | № стр., пункта | Содержание изменений | ФИО инициатора изменений | ФИО сотрудника, внесшего изменения |
1. | 1.1, 11.07.12 | стр.4, п.4.1 | Добавлено про необходимость согласования порядка действий пользователя перед проведением тестирования с руководителем, ответственным за создание веб-приложения | ||
2. | 1.1, 11.07.12 | стр.4, п.4 | Добавлено уточнение, что программы, перечисленные в инструкции являются рекомендуемыми | ||
3. | 1.1, 11.07.12 | стр.17, п.4.1.4, Приложение 1 | Добавлены рекомендации для установления параметров по оси Х на графиках динамики Карточки нагрузочного тестирования | ||
4. | |||||
5. |
[*] Номер версии документа, в которую войдет соответствующее изменение.


