Сценарий

Используя Apache JMeter, реализовать сценарий работы с текущим сайтом.

Продемонстрировав умения:

  • рассчитывать шаг нагрузки и количество виртуальных пользователей;
  • замерять фактическое время выполнения сценария;
  • посылать HTTP-запросы;
  • обрабатывать XML-ответы, используя XPath-выражения;
  • обрабатывать HTML-ответы, используя CSS/JQuery-выражения;
  • обрабатывать JSON-ответы, используя JSON Path-выражения;
  • обрабатывать текстовые данные, используя регулярные выражения;
  • работать с переменными в Apache JMeter
  • ставить паузы в сценарий;
  • работать с тестовыми данными, загружаемыми из CSV-файла;
  • выполнять аутентификацию на сайте, настраивать поддержку Cookies в сценарии и отправлять POST-запросы;
  • отправлять комментарии, работать с тестовыми данными и отправлять POST-запросы, а также выполнять корреляцию параметров формы.

Сценарий работы:

  1. Открыть стартовую страницу сайта.
  2. Загрузить RSS-ленту, выбрать из RSS ссылку на случайную статью и открыть статью по выбранной ссылке. Демонстрация работы с XML.
  3. Продемонстрировать работу с JSON:
    • или получить список записей с категорией «тестовая страница«, используя REST-api, из ответа выбрать ссылку на случайную статью, используя JSON Path и открыть статью. Демонстрация работы с JSON;
    • или нажать кнопку Предыдущие записи на стартовой странице, из JSON-ответа сервера выбрать ссылку на одну из предыдущих статей и открыть статью по выбранной ссылке. Демонстрация работы с JSON и RegExp.
  4. Открыть статью по ссылке, указанной как персональная тестовая страница, заданная для каждого ученика.
  5. Оставить комментарий к тестовой странице, неавторизованным пользователем. Работа с CSS-селекторами.
  6. Пауза 10-15 секунд минимум.
  7. Оставить комментарий к тестовой странице, выполнив аутентификацию. Работа с CSS-селекторами.
  8. Пауза за счёт ожидания завершения шага нагрузки, шаг нагрузки нужно рассчитать.

Интенсивность работы

Подобрать шаг нагрузки и количество пользователей так, чтобы суммарная интенсивность выполнения такого сценария была 1,5-3,5 сценария в минуту.

Чтобы расчёт шага нагрузки не повторялся, у каждого варианта выполнения задания своё количество VU (виртуальных пользователей):

  1. Пример статьи # 1 — 1,5 сценария в минуту
  2. Пример статьи # 2 — 1,6 сценария в минуту
  3. Пример статьи # 3 — 1,7 сценария в минуту
  4. Пример статьи # 4 — 1,8 сценария в минуту
  5. Пример статьи # 5 — 1,9 сценария в минуту
  6. Пример статьи # 6 — 2,0 сценария в минуту
  7. Пример статьи # 7 — 2,1 сценария в минуту
  8. Пример статьи # 8 — 2,2 сценария в минуту
  9. Пример статьи # 9 — 2,3 сценария в минуту
  10. Пример статьи # 10 — 2,4 сценария в минуту
  11. Пример статьи # 11 — 2,5 сценария в минуту
  12. Пример статьи # 12 — 2,6 сценария в минуту
  13. Пример статьи # 13 — 2,7 сценария в минуту
  14. Пример статьи # 14 — 2,8 сценария в минуту
  15. Пример статьи # 15 — 2,9 сценария в минуту

Описание того, как рассчитать шаг нагрузки и количество пользователей есть в статье:

Длительность работы

Длительность надо рассчитать так, чтобы тест оставил примерно 30 комментариев.

Так если интенсивность 4 сценария в минуту. И в сценарии добавляется два комментария — от авторизованного и не от авторизованного пользователя. То получается что создаётся 8 комментариев в минуту.

30 комментариев создастся за, примирено, за 3 минуты работы теста. Плюс время разгона — получится 30 комментариев всего за тест.

Если измерять в итерациях на пользователя, то если работает 6 виртуальных пользователей, то каждый должен сделать 5 итераций.

Ссылки на описание заданий

Задания содержатся в рубрике Задание по школе тестирования:

  1. Работа с XML в JMeter.
  2. Работа с JSON в Apache.JMeter.
  3. Открыть статью (html-страница).
  4. Оставить комментарий к статье.

Инструкции

Также пригодятся инструкции:

Пример

Пример внешнего вида скрипта:

jmeter.result.example

 

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s