Pull to refresh

Хорошие практики нагрузочного тестирования: гайд для тех, кто успел до «пожара»

Reading time9 min
Views4.7K

В каждом проекте рано или поздно наступает момент, когда нужно провести нагрузочное тестирование. Чаще всего это происходит поздно: сайт уже крашится под наплывом пользователей, стартовая страница не загружается, а обработка запросов в базе данных длится больше минуты. В такие моменты в «Джире» тестировщика появляется новая задача на поиск узких мест в системе.

Конечно, в подобной ситуации уже не до проведения нагрузочного тестирования по всем правилам, но если получилось выиграть пару дней или выпал редчайший шанс провести тестирование до «пожара», то эта статья для вас. Меня зовут Алена Вахтина и я ведущий специалист по тестированию в Лиге Цифровой Экономики — поделюсь своим опытом.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments1

Инструменты инфраструктурной поддержки для Agile проекта на Java

Reading time4 min
Views16K
Ни для кого не секрет, что для слаженной работы команды, особенно в проектах управляемых по методологии Agile, важен эффективный обмен информацией между участниками. Для того, чтобы информационные потоки не разрушались под влиянием человеческого фактора, стандартные процедуры по управлению информацией автоматизируются. В данной статье рассмотрен пример технической инфраструктуры, использующейся сотрудниками компании ООО «Креатив Медиа» при разработке Web-проектов на платформе Java, например, в проекте социальной сети Campus.ru.
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments31

Простой нагрузочный тест с Apache JMeter

Reading time7 min
Views285K
По моим наблюдениям, разработчики довольно редко делают нагрузочное тестирование сайтов и веб-приложений. И бывает так, что выставят проект в Интернет, а тут вдруг посетители начнут ходить (хабраэффект, к примеру, случился), и сайт в самый подходящий момент ложится или начинает не по-детски тормозить.

Почему бы не избежать этих неприятностей, прогнав нагрузочный тест?

Наверное, кого-то останавливает неверное представление о том, что нагрузочное тестирование — это очень сложное дело, требующее специальных знаний. Однако не боги горшки обжигают. Если выбор — тестировать не слишком профессионально, или не тестировать вовсе, я бы выбрал первое. Тем более, что организовать примитивный тест производительности очень даже просто. Можно воспользоваться онлайн-средствами (см., например, Нагрузочное тестирование по-быстренькому), а можно замутить все своими руками, это ненамного сложнее.

Под катом рассказываю, как с нуля организовать незамысловатый нагрузочный тест сайта при помощи Apache JMeter.
Читать дальше →
Total votes 20: ↑17 and ↓3+14
Comments14

Отладка тест-плана JMeter

Reading time6 min
Views49K
В предыдущем посте про JMeter я описывал создание примитивного нагрузочного теста. При разработке более сложных сценариев не обойтись без отладки. К сожалению, в JMeter эта техника не совсем очевидна. Ниже на несложном примере покажу несколько приемов отладки тест-плана. Заодно продемонстрирую использование таких элементов, как HTTP Request Defaults, Regular Expression Extractor, If Controller и некоторых других.

final test plan

Тестировать будем механизм поиска на сайте. Пускай сценарий берет слово или фразу из файла, задает вопрос поисковику, получает ответ в виде одной или нескольких страниц, случайным образом выбирает одну из страниц, так же случайно выбирает одну из ссылок и идет по ней. Итого три запроса, за исключением особых случаев (когда найдено мало или не найдено ничего).
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments7

Сравнение нагрузки — PyCurl vs HTTPClientFactory+Deferred

Reading time1 min
Views2.1K
В процессе разработки одного проекта на Python+Twisted (распределителя СМС запросов) пришлось переписать вызов URL различных сервисов с разных серверов c блокирующего вызова через PyCurl на неблокирующий (client.HTTPClientFactory + deferred). Чтобы иметь перед глазами реальные данные, решил дать нагрузку и посмотреть на результаты

Читать дальше →
Total votes 33: ↑23 and ↓10+13
Comments19

Быстрое создание нагрузочных тестов на JMeter для web-сайтов

Reading time5 min
Views149K
imageДля любого программного приложения, предназначенного для массового обслуживания пользователей, необходимо проводить нагрузочное тестирование на предмет его надежности и отказоустойчивости. А так как любой web-сайт — это по своей сути система массового обслуживания, то проверка его на отказоустойчивость всегда является неотъемлемой частью разработки. Существуют различные решения для проведения нагрузочного тестирования веб-приложений. Я не буду сейчас описывать их подробно, про некоторые из них есть упоминания здесь.

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

Для тех кто ни разу не использовал JMeter, рекомендую для начала почитать базовые обзоры, например, Простой нагрузочный тест с Apache JMeter. Когда я первый раз запустил данную программу, первая мысль была разобраться во всем методом «тыка», но как выяснилось это вообще нереально, и метод «тыка» неприменим к JMeter. Поэтому если хотите его использовать, то сразу открывайте мануал, поверьте, вам придется заглядывать туда очень часто, пока полностью не разберетесь, что и как. Я же здесь сейчас опишу самое очевидное и важное, а именно: как собственно создавать нагрузочные тесты. Если бы я в свое время сразу нашел подобную статью, то сэкономил бы без малого день на изучении этой софтины.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments35

Введение в JMeter

Reading time10 min
Views225K
Статья подготовлена сотрудниками отдела тестирования в компании, где я работаю.
На хабре уже не первый раз пишут про JMeter, но статьи имеют довольно узкую направленность, либо сложны для понимания. Поэтому, эта статья будет интересная именно начинающим.

Введение


Как-то я начал осваивать новый инструмент — JМeter — и не смог найти какого-то полноценного руководства как руководства к действию. Постепенно, разобравшись по некоторым довольно полезным статьям и блогам, пользовательской документации, я начал что-то понимать. И решил, что, возможно, я не один ищу то, с чего можно начать работать. Освоить некоторые принципы построения и логику самого инструмента. Так что вот — статья о том, как начать.
Так что в этой статье мы рассмотрим пример создания скрипта для 3 пользователей, которые хотят:
1. залогиниться;
2. добавить в какой-нибудь альбом новую фотографию;
3. поменять аватарку.
Как таковой — это обычный бизнес процесс для какой-нибудь социальной сети.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments10

Кодируем на лету в base64 и стреляем в MongoDB из JMeter с помощью BeanShell

Reading time5 min
Views5.2K
Я работаю в нагрузочном тестировании относительно недолго, и одним из моих основных инструментов является Apache Jmeter. Тем не менее, большинство моих коллег не использовали Beanshell в JMeter, и в этой статье я хочу показать пару способов как он может упростить и сократить время подготовку к самим тестам. А покажу это на примере конвертации текста в base64-кодировку и простых стрельб в MongoDB.
Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments8

Опыт автоматизации тестирования серверного REST API с помощью Jmeter

Reading time5 min
Views14K
В данной статье речь пойдёт об опыте автоматизации функционального и нагрузочного тестирования API протокола RTLSCP. Серверная часть системы локального позиционирования RealTrac состоит из основного (core) сервера, который связывается с устройствами по протоколу INCP (InterNanoCom Protocol) и сервера приложений (appserver). Сервер приложений общается с внешними клиентами и основным сервером по протоколу RTLSCP (Real Track Location System Communication Protocol). Клиенты также могут напрямую обращаться к основному серверу по RTLSCP.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments2

Плагин CsvLogWriter для JMeter

Reading time7 min
Views7.2K

Введение


Наверняка каждый, кто пользовался стандартными листенерами в JMeter, сталкивался со следующими ограничениями:
  • стандартные листенеры не позволяют получить подробную информацию по всем подзапросам, прописанным в тест плане;
  • стандартные листенеры выводят информацию в XML — формате, что осложняет дальнейший анализ логов средствами Excel и Pandas.

Чтобы обойти данные ограничения, было принято решение переработать формирование лог-файлов с помощью нового плагина CsvLogWriter.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments1

Выбираем html-парсер для Apache.JMeter

Reading time11 min
Views9.2K
Среднее качество полноты извлечения ссылок на встроенные ресурсы html-парсерами Apache.JMeter
Среднее качество работы парсеров (для семи сайтов)

Предлагаю:

  • посчитать среднее качество полноты извлечения ссылок на встроенные ресурсы html-парсерами Apache.JMeter;
  • проверить правда ли извлечение ссылок в Apache.JMeter 3.0 стало более полным;
  • испытать в деле плагин CsvLogWriter.

Как гласит народная мудрость: Верить верь, но…
проверь
Total votes 10: ↑10 and ↓0+10
Comments5

Нагрузочное тестирование API без использования UI

Level of difficultyMedium
Reading time7 min
Views6.7K

Нагрузочное тестирование API без использования UI

В этой статье поговорим о Нагрузочном тестировании при помощи JMeter-Java-Dsl и реализуем наш первый нагрузочный тест для API с генерацией динамических значений.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments3

Как использовать JMeter для нагрузочного тестирования и тестирования производительности

Level of difficultyEasy
Reading time5 min
Views36K

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

Читать далее
Total votes 19: ↑17 and ↓2+15
Comments6

Рушим стереотипы: роль капитана миссии берет на себя QA-инженер

Reading time5 min
Views744

Иногда жизнь преподносит нам сюрпризы. Когда продакт-менеджер обратился ко мне с предложением примерить на себя роль лидера проекта, я была уверена, что он шутит. Сначала я сомневалась, ведь что может предложить QA-инженер вроде меня? У меня не было технических навыков разработчика. Но потом меня осенило. Я поняла, что у меня есть уникальный шанс сделать все по-другому.

Читать далее
Total votes 13: ↑10 and ↓3+7
Comments1

Part 3. Инструменты тестирования производительности

Level of difficultyEasy
Reading time8 min
Views3.7K

Привет! Я Вадим Лунин, QA Manager в Альфа Банке в Беларуси. Это продолжение цикла статей по инструментам, которые мы используем для тестирования наших продуктов в Альфа Банке. В настоящей статье я хочу рассказать вам, какие инструменты мы используем для тестирования производительности и почему мы сделали такой выбор.

Читать далее
Rating0
Comments1

Что такое нагрузочное тестирование и кто такой инженер-нагрузочник в ЮMoney

Level of difficultyMedium
Reading time6 min
Views2.9K

Привет, меня зовут Анатолий Пласковский, я руковожу отделом нагрузочного тестирования в ЮMoney. Мы исследуем производительность платёжной системы и готовимся к горячему сезону распродаж весь год, чтобы потом наши клиенты могли продавать свои товары миллионам покупателей без сбоев, а система выдерживала нагрузку не менее 600 транзакций в секунду.

Рассказываю, как мы тестируем производительность в ЮMoney, какие инструменты для этого используем и какой он — идеальный инженер нагрузочного тестирования.

Читать далее
Total votes 1: ↑1 and ↓0+1
Comments7

IBM MQ и JMeter: Первый контакт

Reading time3 min
Views14K
Привет, Хабр!

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

На этот раз расскажу о своем опыте примирения JMeter и IBM MQ для счастливого тестирования приложений на IBM WAS. Сталкивался с такой задачей, легко она не поддавалась. Хочу помочь сэкономить время всем заинтересованным.

Осторожно, много скриншотов
Total votes 16: ↑14 and ↓2+12
Comments12

Нагрузочное тестирование Atlassian Jira, Confluence, Bitbucket Часть 1

Reading time9 min
Views3.7K
Всем привет!

Хочу поделиться своим опытом нагрузочного тестирования Atlassian Jira, Confluence и Bitbucket c использованием инструмента Atlassian dc-app-performance-toolkit.

Это будет серия статей, в которых я не буду рассказывать про методологию нагрузочного тестирования, а расскажу только о технических аспектах нагрузочного тестирования с помощью упомянутого инструмента.
Читать дальше →
Total votes 2: ↑2 and ↓0+2
Comments0

Нагрузочное тестирование Atlassian Jira, Confluence, Bitbucket Часть 2

Reading time10 min
Views2.5K
Вот здесь можно почитать часть 1 этой статьи.
В части 2 мы поговорим о том, как подготовить данные для нагрузочного тестирования с помощью инструмента dc-app-performance-toolkit.
Читать дальше →
Total votes 5: ↑5 and ↓0+5
Comments0