Печатные публикации

#25: Первые шаги в тестировании. Инсталлируем и конфигурируем JMeter для быстрого начала работы


Анна Сергеева. Первые шаги в тестировании. Инсталлируем и конфигурируем JMeter для быстрого начала работы //Системный администратор. 2015. № 12. с. 58-60.


При знакомстве с новыми инструментами у новичков всегда возникают трудности и вопросы. Небольшое руководство по JMeter поможет быстро приступить к работе и созданию собственных первых тестов производительности


Опубликовано в разделе "Разработка / Тестирование"



Эта же статья на сайте журнала


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


С одной стороны, это показывает, что такой вид тестирования имеет достаточно широкое применение среди разработчиков ПО и уже доказал свою эффективность в повышении качества готовых программных приложений, выпускаемых на рынок.


С другой же стороны, такая тенденция означает, что специалист-тестировщик любого уровня, который заботится о своей конкурентоспособности, должен уверенно владеть навыками работы с какими-либо средствами тестирования производительности ПО.


Сегодня автор предлагает уделить внимание одному из таких инструментов – Apache JMeter, который может применяться в целях симуляции нагрузки на сеть, сервер или какой-либо другой объект. С его помощью могут выполняться проверки устойчивости стабильности системы, а также анализ общей производительности с учетом разных видов нагрузки [1].


За все время своего существования и развития Apache JMeter завоевал достаточно широкую популярность, поскольку обладает открытым исходным кодом и часто является отправной точкой для новичков в тестировании производительности. Соответственно, умение работать с ним всегда будет весомым плюсом в резюме соискателя на должность тестера или специалиста по обеспечению качества ПО.


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


Шаг 1. Инсталляция и проверка Java


Apache JMeter представляет собой программное приложение, код которого полностью написан на Java. Поэтому для его корректной работы прежде всего нужно убедиться, что на рабочей машине тестировщика правильно установлена и настроена Java.


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


java -version


Если Java успешно установлена и сконфигурирована, то команда вернет номер поддерживаемой версии языка (java version “x.x.x.x”), как показано на рис. 1.


Рис. 1. Java успешно установлена и сконфигурирована


В противном случае, выдается сообщение с указанием, что Java не распознана (рис. 2).


Рис. 2. Java не установлена или не сконфигурирована


Для устранения этой проблемы, нужно загрузить инсталляционный пакет Java с официального сайта Oracle, разработчиков языка Java [2].


В зависимости от целей использования, доступны разные редакции:

  • JRE (Java Runtime Environment) — поддерживает все необходимые возможности для запуска десктопных java-приложений конечными пользователями.
  • JDK (Java SE Development Kit) — кроме возможностей JRE, поддерживает инструменты для разработки, отладки и мониторинга java-приложений для специалистов-разработчиков ПО.


Разработчики Oracle предлагают широкий выбор доступных версий и конфигураций, и для верного выбора стоит внимательно изучить данный список.


Стоит сказать, что иметь корректную версию Java для полноценной работы JMeter крайне важно. Так, например, использование 32-битной Java на 64-битной ОС может привести к недостаточному использованию доступных ресурсов, не позволит добиться максимального быстродействия и может привести к системным сбоям.


Итак, после выбора, загрузки и установки пакета JRE/JDK, для проверки успеха выполнения нужно повторно запустить из командной строки команду java -version. Ожидается возврат только что установленной версии Java.


Если же и после всех этих действий успеха достигнуть не удалось, стоит проверить системные переменные среды окружения и сконфигурировать их вручную.


Шаг 2. Загрузка и установка JMeter


Теперь можно перейти непосредственно к установке JMeter. Для этого достаточно загрузить подходящий файл zip или tgz с официального сайта разработчиков Apache JMeter [3]. После распаковки архива на жесткий диск, JMeter готов к работе.


Шаг 3. Настройка и оптимизация JMeter


Для повышения производительности работы JMeter существует целый ряд способов, и их перечислению и изучению можно посвятить отдельную статью.


Тем не менее, на начальном этапе стоит, по крайней мере, сконфигурировать изначальный и максимальный размер выделяемой памяти. Этим настройкам соответствуют значения параметров Xms и Xmx, задаваемые в файле Jmeter.bat.


Грамотная настройка этих величин позволяет гарантировать, что JMeter всегда будет правильно использовать имеющиеся ресурсы памяти. Также это снижает риски возникновения ошибок переполнения памяти.


Изначально, файл jmeter.bat содержит следующие дефолтные настройки этих параметров:


set HEAP=-Xms512m -Xmx512m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=128m


В зависимости от аппаратных и программных системных характеристик конкретной рабочей машины, нужно заменить эти строки на следующие или аналогичные:


set HEAP=-Xms512m -Xmx2048m

set NEW=-XX:NewSize=128m -XX:MaxNewSize=1024m


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


Кроме этого, также важно грамотно использовать слушателей (listeners) при составлении плана тестирования.


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


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


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

JTL (Java Tools Language)формат текстовых xml файлов с результатами тестов, генерируемых инструментом JMeter.


Шаг 4. Запуск JMeter и выполнение скриптов


Работа с JMeter возможна как через графический интерфейс, так и из командной строки.


Для начала работы JMeter в GUI-режиме, необходимо запустить файл ApacheJMeter.jar или jmeter.bat. После распаковки они размещены в директории apache-jmeter-2.13>bin.


Внешний вид графической оболочки JMeter показан на рис. 3.


Рис. 3. Графический интерфейс инструмента JMeter


Как упоминалось ранее, при работе в таком режиме, JMeter потребляет большое количество системных ресурсов. Поэтому им рекомендуется пользоваться на этапе ознакомления и настройки.


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


Формат команды следующий:


jmeter -n -t myScript.jmx


Здесь применяются параметры: –n для указания запуска JMeter из командной строки и -t myScript.jmx для указания пути и имени файла исполняемого скрипта.


Разумеется, существует множество других полезных параметров командной строки,таких как путь к создаваемым JTL-файлам с результатами тестов, IP-адрес и номер порта исследуемого сервера и т. д. Полный перечень параметров с кратким описанием доступен при запуске из командной строки со стандартным ключом jmeter -?.


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


В пакет поставки JMeter уже входит небольшой набор шаблонов и примеров, которые можно сразу опробовать на ознакомительном этапе. После распаковки они размещены в директории apache-jmeter-2.13>bin>templates и apache-jmeter-2.13>bin>examples соответственно.


Пример запуска одного из таких скриптов в режиме командной строки показан на рис. 4.


Рис. 4. Обработка тестовых скриптов в JMeter, в режиме командной строки


* * *


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


Теперь время перейти к созданию собственных скриптов и проведению первых тестов производительности. Много полезной информации по работе с JMeter можно найти в различных профессиональных блогах и сообществах тестировщиков [4] и на официальной вики-странице JMeter [5]. Удачи.


Литература


[1] Анна Сергеева. Инструменты тестировщика или с чего начать новичку // Системный администратор. 2014. № 7-8.

[2] Официальный сайт разработчиков Java - http://www.oracle.com/technetwork/java/javase/downloads/index.html

[3] Официальный сайт разработчиков Apache JMeter - jmeter.apache.org/download_jmeter.cgi

[4] Сообщество тестировщиков - testerlogic.com

[5] Вики-страница по Apache JMeter - http://wiki.apache.org/jmeter/


Ключевые слова:


Apache JMeter, Java, JTL, нагрузочное тестирование, тестирование производительности, стрессовое тестирование.