Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SE_labs

.pdf
Скачиваний:
23
Добавлен:
01.03.2016
Размер:
3.17 Mб
Скачать

Инженерия программного обеспечения

Скачать пакет jakarta-jmeter-2.4.tar.gz можно с официального сай-

та http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi или с сер-

вера kid.stu. Распаковываем скачанный пакет и запускаем программу при помощи скрипта из папки bin:

$ ~/jakarta-jmeter-2.4$ ./bin/jmeter.sh

Интерфейс Jmeter приведен на рисунке 4.2.

Рисунок 4.2 — Интерфейс программы Jmeter

3. Тестирование веб-приложения.

Для начала необходимо в тестовый план добавить элемент Thread Group. В Thread Group указывается количество пользователей, которые отправляют запросы на сервер, за какой период времени они отправляют запросы и количество запросов, которые отправляет каждый пользователь (рисунок 4.3). Для того чтобы добавить Thread Group необходимо на Test Plan кликнуть правой кнопкой мыши и выбрать пункт Add --> ThreadGroup.

51

Методические указания к выполнению лабораторных работ

Рисунок 4.3 — Thread Group со значениями по-умолчанию

В поле Number of threads указываем количество пользователей, которое будет обращаться на сервер. В следующем поле указывает задержки между началом каждого потока. Например, если ввести RumpUp period 5 секунд, JMeter завершит запуск всех ваших пользователей к концу 5 секунд. Так, если у нас есть 5 пользователей и 5 секунд период, то задержка между началом нового потока будет 1 секунда (5 пользователей / 5 секунд = 1 пользователь в секунду). Если установить значение в 0, то JMeter сразу же запустит все потоки. Поле Loop Count указывает, сколько раз будет повторяться тест.

После определения полей необходимо указать задания, которые будут выполнять виртуальные пользователи. В Test Plan добавляем

HTTP requests со значениями по-умолчанию Add->ConfigElement- >HTTPRequestDefaults(рисунок 4.4).

52

Инженерия программного обеспечения

Рисунок 4.4 — HTTP Request Defaults

Далее добавляем HTTP Request (Add --> Sampler --> HTTP Request) и в поле HTTP Request Path пишем путь к странице, на которую будет отправлен запрос типа get. В поле Server name указывать адрес сервера нет необходимости из-за того, что мы в странице по умолчанию указали наш сервер (рисунок 4.5).

53

Методические указания к выполнению лабораторных работ

Рисунок 4.5 — HTTP Request главной страницы

Таким же способом добавляем второй HTTP Request, только в поле Path указываем путь к другой странице.

Последним шагом, который необходимо сделать, чтобы начать тестирование, является добавление слушателей (Listener), которые будут обрабатывать всю информацию, полученную от HTTP Request.

Для этого добавим Graph Results (Add --> Listener --> Graph Results) и View Results Tree (Add --> Listener --> View Results Tree) (рисунок 4.6 и 4.7).

Теперь система готова к тестированию. Осталось только нажать старт и дождаться завершения выполнения всех потоков. После чего в наших слушателях можно будет посмотреть результаты тестирования. На рисунке 4.8 приведен пример теста, на котором отчетливо видно, что система не справилась с нагрузкой, которую мы на неё отправили. Можно детально посмотреть содержимое каждого пакета, а также пример html страницы, которую получили в ответ на наш запрос. Если же ответ получили отрицательный, то можно определить, по какой причине.

54

Инженерия программного обеспечения

Рисунок 4.6 — Graph Results

Рисунок 4.7 — View Results Tree

55

Методические указания к выполнению лабораторных работ

Рисунок 4.8 — Результаты тестирования Следует отметить, что тестируемое приложение желательно рас-

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

4.4 Задания для самостоятельной работы

1.Изучить возможности организации database testing (тестирование работы с БД) с использованием JMeter.

2.Освоить практические аспекты интеграции JMeter с JUnit.

4.5Содержимое отчета

результаты тестирования в виде графиков;

результаты тестирования в виде дерева;

написать причины, по которым система не выдержала нагрузки (ссылаясь на результаты тестирования).

4.6Контрольные вопросы

1.Тестирование в ЖЦ программного продукта. Виды тестирования и соответствующие инструменты автоматизации.

2.Назначение и принцип организации нагрузочного тестирования. Инструменты нагрузочного тестирования.

3.Какие показатели выступают результатом нагрузочного тестирования.

4.Объясните термин «кривая деградации».

5.Планирование сценария нагрузочного тестирования в JMeter.

56

Инженерия программного обеспечения

Рекомендованная литература

1.Бек К. Экстремальное программирование: разработка через тестирование. Библиотека программиста. – СПб.: Питер, 2003. – 224 с.: ил.

2.Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Д. Технология разработки программного обеспечения: Учебное пособие. – М.: ИД

«ФОРУМ»: ИНФРА-М, 2008. – 400 с.: ил.

3.Котляров В.П., Коликова Т.В. Основы тестирования программного обеспечения: Учебное пособие. – М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. – 285 с.: ил. (Серия «Основы информационных технологий»).

4.Макгрегор Дж., Сайкс Д. Тестирование объектноориентированного программного обеспечения. Практическое пособие: Пер. с англ. – К.: ООО «ТИД «ДС», 2002. – 432 с.

5.Управление проектами разработки ПО. Учебно-методическое пособие по дисциплине «Гибкие технологии разработки программного обеспечения» / Сост. Шопырин Д.Г. – Санкт-Петербург, Санкт-Петербургский государственный университет информационных технологий, механики и оптики, 2007. – 131 с.

6.Фаулер М. Архитектура корпоративных программных приложений: Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 544 с.: ил.

7.Vincent Massol, Ted Husted. JUnit In Action. Manning. – Special Sales Department, 2004. – P. 386.

8.Git – The Fast Version Control System [Электронный ресурс]. –

Режим доступа: URL: http://git-scm.com. – Название с экрана.

9.JMeter – Apache JMeter [Электронный ресурс]. – Режим доступа: URL: http://jakarta.apache.org/jmeter. – Название с экрана.

10.JUnit.org Resources for Test Driven Development [Электронный ре-

сурс]. – Режим доступа: URL http://www.junit.org. – Название с экрана.

11.Redmine – Overview [Электронный ресурс]. – Режим доступа: URL: http://www.redmine.org. – Название с экрана.

12.Redprojects – инструменты, помогающие работать [Электронный ресурс]. – Режим доступа: URL: http://www.redmine.net.ua. – На-

звание с экрана.

13.Welcome to Apache Maven [Электронный ресурс]. – Режим доступа: URL http://maven.apache.org. – Название с экрана.

57

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]