После того, как мы успешно завершили тестирование пользовательского интерфейса ,мы удостоверились что приложение работает для одного пользователя. Теперь мы должны доказать, что приложение выдержит нагрузку в реальной жизни . Чтобы сделать это, мы будем использовать открытый инструмент : JMeter.
JMeter является инструментом для нагрузочного тестирования веб-приложений. Как и Selenium, он записывает сеанс пользователя и воспроизводит его, но он не запускает сеанс пользователя в браузере,а просто отсылает запросы на сервер приложений.
После пройденными нами двух этапов тестирования, нам остается:
- Проверить, что приложение работает с несколькими одновременно работающими пользователями
- Проверить, сколько пользователей система может обрабатывать
Приступим
Для начала скачаем JMeter( http://jmeter.apache.org/download_jmeter.cgi). Скачав и распаковав архив запустите jmeter.bat.
Тестирование в JMeter начинается с Thread Group, в которой определяется количество одновременных процессов запускаемых от вашего приложения. Чтобы добавить thread group, щелкните правой кнопкой мыши Test Plan узел и выберите Add— > Threads (Users) — >Thread Group:
Здесь вы можете определить количество пользователей, сколько раз тест нужно повторить, и т.д.Как только вы определили thread group (группа потоков), вы можете начать добавлять тестовые элементы вручную, щелкнув правой кнопкой на вашей группе потоков и выбрать Add. Но,есть более простой способ записи теста, для этого в JMeter нужно создать прокси сервер.
Чтобы настроить JMeter в качестве прокси, щелкните правой кнопкой мыши по Workbench и выберите Add — > Non-Test Elements — > HTTP(S) Test Script Recorder(в старых версиях он называется HTTP Proxy Server) Введите порт, который уже не используется (например, 8585) и выберите в пункте Target Controller ваш thread group.
Теперь нужно настроить прокси сервер в браузере в котором вы проводите тестирование
Chrome:
Firefox : (Меню-Настройки-Дополнительно-Сеть-Настроить)
Теперь можно приступить для записи сессии. Для этого в JMeter в HTTP(S) Test Script Recorder нужно нажать Start и в браузере где настроен прокси запустить ваше приложение и начать тестировать приложение. Как вы это сделаете, вернитесь в JMetere и нажмите Stop. В вашем thread group сформируются запросы :
Эти запросы показывают как браузер взаимодействует с сервером приложений. В принципе можно приступать к тестированию ( для этого нужно нажать на Start в thread group). Но результатом будет лишь текст вида :
2014/06/22 15:09:11 INFO - jmeter.engine.StandardJMeterEngine: All thread groups have been started
2014/06/22 15:09:11 INFO - jmeter.threads.JMeterThread: Thread started: Thread Group 1-1
2014/06/22 15:09:12 INFO - jmeter.threads.JMeterThread: Thread finished: Thread Group 1-1
2014/06/22 15:09:12 INFO - jmeter.engine.StandardJMeterEngine: Notifying test listeners of end of test
2014/06/22 15:09:12 INFO - jmeter.gui.util.JMeterMenuBar: setRunning(false,*local*)
Что бы увидеть результаты тестирования, нужно добавить элементы просмотра :Нажимаем правой клавишей на Thread Group — >Add — >Listener — > Aggregate Report, View Result in Table и View Result Tree.
View Result in Table ( в таблице показывает запрос с временем отклика и статусом)
View Result Tree ( показывает подробные ответы от веб-сервера -если запрос выполнен успешно, то должно быть написано HTTP/1.1 200 OK)
Aggregate Report (отображает статистику по каждому индивидуальному url отдельно)
Измеряемые показатели при помощи JMeter:
- Среднее время прохождения набора тестов – время, в течение которого проходили отобранные тесты.
- Число операций – количество операций выполненных сервером, фактически это количество принятых от JMeter и обработанных пакетов данных.
- Число потоков – число открытых JMeter потоков при подключении к серверу, фактически это количество подключившихся пользователей.
- Среднее время доступа к данным – время, в течение которого JMeter получает отклик от сервера web-приложения на отправленный запрос и начинает принимать ответные данные. Фактически это время ожидания пользователем ответных результатов от web-приложения на свои запросы.
- 90-й процентиль времени доступа к данным – это такое значение времени доступа в мс., что при распределении времени доступа по возрастанию для всех принятых данных, 90% времени доступа попадает ниже этого значения. Таким образом, время доступа к «большинству» загружаемых при проведении тестов данных находится ниже 90-го процентиля.
- Максимальная общая загрузка процессоров – максимальная общая загруженность процессоров сервера во время выполнения группы тестов, %.
- Максимальная общая загрузка памяти – максимальная общая загруженность памяти сервера во время выполнения группы тестов, Мб.
- Ошибки подключения (отказы) – отношение числа успешных, выполненных запросов, к числу отказов в обработке запросов, %.
.
Комментариев нет:
Отправить комментарий