qaload | Unsorted

Telegram-канал qaload - 📢 QA — Load & Performance

820

Избранные материалы о тестировании производительности. Чат и источник тем: @qa_load

Subscribe to a channel

📢 QA — Load & Performance

У нас в команде результаты тестов производительности сохраняются в Allure. В yaml-файле заданы лимиты. И после теста отельная утилита проверяет соответствие результатов теста лимитам из yaml-файла. Статусы сохраняется в Allure TestOps, как тесты

Такие тесты (yaml-файл с лимитами) заданы в декларативном виде

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

Сделал такое с JUnit5 и Allure библиотеками. Как эксперимент. В этом случае тест производительности уже задан не в декларативном виде, а кодом. В нем есть механизм Mute, ссылки на Issue. Коллеги имеют опыт работы с такими тестами. Их понятно как отлаживать и писать. Мне кажется, что сложнее не стало

В таким подходе тест на k6 не является тестом — это пререквизит, в ходе которого формируется файл с метриками. А потом уже тест-тест загружает этот файл и применяет Assertion-ы к значениям метрик

Использовал: k6, gson, assertj, junit5, Allure TestOps

Читать полностью…

📢 QA — Load & Performance

Всем привет)
8 февраля стартует новая группа по нагрузочному тестированию с нуля
Кому интересны детали пишите в личку тут или в линкедине, там можно и скидочку получить)
https://www.linkedin.com/feed/update/urn:li:activity:6891794583588868097/

А кто уже был и понравилось поддержите лайком или комментом, сильно поможете увеличить охват 🙂
Спасибо)

Читать полностью…

📢 QA — Load & Performance

https://www.youtube.com/watch?v=MzROdc1uvFM
О что появилось !

Читать полностью…

📢 QA — Load & Performance

На мой взгляд - ОЧЕНЬ полезный для нашего сообщества доклад о том, как работают блокировки в бд.
В данном случае речь идёт о MS SQL, но, как мне кажется, часть информации применима к большинству SQL-бд.

Преподаватель очень доходчиво рассказывает и показывает. Рекомендую.

https://youtu.be/iGsbXLgZMlo

Читать полностью…

📢 QA — Load & Performance

Коллеги, если кому интересно:
Сегодня и завтра буду рассказывать коллегам про RabbitMQ, приглашаю желающих присоединиться
Время: с 15 до 18

Информация будет довольно базовая:
Содержание первой лекции (https://youtu.be/JhBNvS5iGQU):
Теория:
- Что такое очереди и зачем они нужны
- Возможности RabbitMQ
- Отличия RabbitMQ и Kafka

Практика:
- Установка RabbitMQ (на примере Windows)
- Настройка RabbitMQ
- Настройка разных типов Exchange в RabbitMQ (сортировка приходящих сообщений по очередям)


Содержание второй лекции (https://youtu.be/E2oo4WIjcec)

- Работа с RabbitMQ из Jmeter при помощи плагина:
- - отправка сообщений в разные топики
- - получение сообщений из топиков

- Настройка мониторинга:
- - Ставим InfluxDB и Grafana
- - Мониторим RabbitMQ при помощи Telegraf
- - Настраиваем вывод информации в Grafana

С вопросами по нагрузочному тестирования приглашаю всех в сообщество в телеграме
/channel/qa_load

Артефакты доступны по ссылке:
https://drive.google.com/drive/folders/1WCRzMJdQIxLCxUJYiRD8DsA0QxwunFuz
Среди артефактов:
- Инструкция по установке RabbitMQ
- Плагины к Jmeter для работы с RabbitMQ
- Пример работы с RabbitMQ из Jmeter
- Чат с обоих лекций

Группа в Telegram, которая использовалась во время лекций:
/channel/RabbitMQ_Lesson

Запись первой лекции:
https://youtu.be/JhBNvS5iGQU

Запись второй лекции:
https://youtu.be/E2oo4WIjcec

Читать полностью…

📢 QA — Load & Performance

Всем привет! Выпускаем очередной #дайджест обсуждений за неделю +- (13 января-18 января):

Вопросы, на которые пока нет ответов:
▫️Написание запроса к InfluxDB для отображения RPS как в JMeter. Задача у автора вопроса так и не решилась, получилось RPS/10. ❗️
▫️Как оценить сколько документ весит при открытии в Google Chrome ❓
▫️Вопрос по OpenShift. Если не поднимаются поды OpenShift при исчерпании Limits по памяти, то можно ли поды поставить на паузу пока ресурсы не освободятся? ❓

По Apache.JMeter
1️⃣ Разбор ошибки SocketException: Socket operation on nonsocket: connect., которая есть в JMeter 5.2 и которой нет в JMeter 5.4. Возможно причина в исправлении "Make httpclient4.time_to_live defaults to 60000 to be closer to typical browser behavior", с версии JMeter 5.3 соединение живет не 2 сек, а 60 сек по умолчанию.
2️⃣ Написание запроса к InfluxDB для отображения AggregateReport как в JMeter. Обсудили, что точную таблицу получить не получится. Был предложен вариант с формированием таблицы с помощью JMeterPluginsCMD Command Line Tool
3️⃣ Загрузка файла в Apache.JMeter с названием на кириллице, где изначально имя отображалось как ????????? а для отправки запроса использовалась Body Data. В решении проблемы помогло использование Прокси сервера, и использование вкладки File Upload вместо Body Data.
4️⃣ Использование Throughput Contoller и Throughput Weighted Switch в тестах Apache.JMeter. Обсуждение, когда они помогают, а когда усложняют тест
5️⃣ Как удобно можно хранить groovy файлы используя jmeter-maven-plugin для организации проекта, для обращения к ним в jmx? Описание предлагаемого способа
6️⃣ Накопление списка/массива значений от PostProcessor в JMeter с помощью vars.putObject
7️⃣ Вспомнили, что такое шаг нагрузки и как сделать заданное количество транзакций в минуту в JMeter с помощью Flow Control Action и Constant Throughput Timer
8️⃣ Обсудили отправку символов UTF-8 и конкретно умлаутов (диакритические символы) в JMeter. Автор вопроса верно нашел ответ.
9️⃣ Обсуждение того, как собирается отчет при распределенном запуске Apache.JMeter . Если кратко, то статистика аккумулируется master-узлом. А если запускать тест без master-узла, то отчет собирается в InfluxDB
🔟 Способы удаления сущностей, созданных в ходе тестирования
Когда:
- после теста (Tear Down)
- перед следующим тестом (Setup Thread)
- в отдельном скрипте после или перед тестом
Как:
- удалять запросами
- восстановлением из резервной копии

О Gatling:
1️⃣ Замечена ошибка в документации Gatling по установке:

Since 3.0, Gatling requires Scala 2.12. Gatling is not compatible with Scala 2.11 nor Scala 2.13.
Написано, что нужна Scala 2.12, при этом на странице быстрого старта указано все корректно, что нужна версия Scala 2.13.4 для Gatling 3.5.0:
Merge the following code snippet in your build.sbt file

enablePlugins(GatlingPlugin)
scalaVersion := "2.13.4"
scalacOptions := Seq(
"-encoding", "UTF-8", "-target:jvm-1.8",
"-deprecation", "-feature", "-unchecked",
"-language:implicitConversions", "-language:postfixOps")
val gatlingVersion = "3.5.0"
...
Удобно смотреть версию scala по файлу build.sbt проекта gatling-sbt-plugin-demo для нужной версии Gatling.

Интересные обсуждения и заметки:
😄 Мемы о тестировании производительности
📈 Разбирались, как посчитать утилизацию CPU в Docker, если на графике 300%
📱 Настройка Charles для iOS-устройства. Проблема была в настройках iOS в разрешении всех прав сертификату
⏱Обсудили инструмент для написания тестов производительности в виде модульных тестов (на участки кода) JMH
📦Сколько kubernetes-ов столько и подходов к подбору количества под и их характеристик. И вот тут начало обсуждения того, кто как это делал или делает

Спасибо, что делитесь опытом!

Читать полностью…

📢 QA — Load & Performance

Всем привет! Выпускаем очередной краткий #дайджест обсуждений за неделю (21-28 декабря):

▫️Успешно реализовали дробные РПС с двумя видами таймеров в JMeter. Получили очень точные результаты, но на dummy sampler'ах. Даже провели небольшое исследование! Пришли к тому, что гнаться за супер точными РПСами - ни к чему.
▫️Узнавали умеет ли JMeter работать с local storage. Ответ: нет, не умеет, но умеет его имитировать.
▫️Разобрались с тем, как вручную собрать отчет в Gatling, если тест был прерван.
▫️Мимолетно заметили, что появился Gatling 3.5.0 со Scala 2.13.
▫️Делились опытом по поводу того, на тему учета неуспешных запросов в РПС.
▫️Пытались решить проблему с запуском фреймоврка и плавно перетекли в обсуждение docker'a.
▫️Ремонтировали дашборд для Gatling от @smirnovqa.
▫️Разбирались в реализации SSE на Gatling.
▫️Помогали решать тестовое задание. История без успеха, зато тестовое оптимизировали!
▫️Настраивали задержку в персентилях на wiremock.
▫️Закладывали время выполнения сценария с помощью интуиции.
▫️Учились читать readme к генератору отчетов и дашбордам (но еще была проблема в кириллице в пути к jmeter).
▫️Составляли чек-лист для общения с заказчиком нагрузки.
▫️Обсудили разницу "виртуалок" и "железных" машин.
▫️Искали целые числа, которые потерялись при запросе из Grafana в Prometheus.
▫️Оптимизировали потребление памяти при загрузке файлов на сервер в JMeter. Спойлер: косяк был в нагружаемой системе (но не только!).

Полезности:
1️⃣ @instaHipsta рекомендует инструмент для сравнения больших xml .
2️⃣ И снова @instaHipsta заметил интересную особенность Module Controller в JMeter.
3️⃣ Рекомендация @smirnovqa с автоматическим контролем SLA.
4️⃣ @smirnovqa поделился шаблоном методики нагрузочного тестирования.
5️⃣ У @annabella0131 родился опросник по серверным характеристикам для клиента.
6️⃣ @eugenis поделился методом обхода fileUpload, как следствие - экономия памяти в JMeter

Читать полностью…

📢 QA — Load & Performance

Всем привет!
Обзор того, как мы делились опытом и помогали друг другу за две недели. #дайджест

⏱Максим Евлентьев долго пытался получить в Grafana значения Percentile, такие как JMeter HTML Report, ему помогали все:
▫️ Попробовали backend_influxdb.send_interval=1
▫️ Строили гипотезы как считается статистика
▫️ Функции last("pct99.0"), mean("pct99.0"), percentile("pct99.0",99), percentile("mean",99) не дали нужной точности, минимальная погрешность - 20% у mean("pct99.0")
✅ Пришли к необходимости использования сырых данных:
▫️ использовать Novatech-плагин, что шлет сырые данные
▫️ JMeter 5.4, который может писать сырые данные
▫️ Telegraf как Proxy для надежности вставки сырых данных
❗️Но помните - сырые данные замедляют InfluxDB, альтернативы сырым данным:
▫️ Clickhouse и InfluxDB Сontinious Querie для аггрегации сырых данных
▫️ Наоборот увеличить шаг отправки данных с 1с до 30с для точности и простоты аггрегаций


📊 Обсудили сравнение двух запусков тестов :
▫️ Проект influxdb-timeshift-proxy
▫️ Просто настройку Query Option / Time Shift в Grafana
▫️ Язык Flux + функцию timeshift
▫️ Хранилище ClickHouse + timeshift
▫️ Плагин MetaQuery для Grafana имеет функцию TimeShift
▫️ По сырым CSV-данным и заливкой сырых логов SendLogToInfluxDB (от Степана)
▫️ По сырым данным заливаемым с jsr223-listner-ом
▫️ Roman указал на проект autohome-compareQueries-datasource который работает с Grafana 6.5.3
▫️ Простой вариант с MergeResults + стандартный html отчёт + готовый скрипт для Jenkins
▫️ Предложен проект carrier-io, в котором есть Grafana-доска со сравнением


😀 Шутили


Разработки:
🆕 Sergey Bronnikov реализовал свой perfmon-agent на языке C. Если кому нужно - обращайтесь к @ligurio
🆕 Степан реализовал SendLogToInfluxDB для отправки JTL/CSV логов JMeter в InfluxDB

Доклады:
🎥 Виктор выступил с докладом "Пример оптимизации производительности в 32 раза"

Gatling:
▫️Отладка HTTP-запросов в Gatling логированием и через проксирование в Fiddler
▫️Разделение Gatling-статистики по двум системам:
▫️по двум базам данным InfluxDB через разные порты
▫️ по двум разным серверам InfluxDB

Читать полностью…

📢 QA — Load & Performance

Не так давно вышел новый jmeter 5.4. Добавили GraphQL Sampler и новый InfluxDBClient, который пишет "raw" results. Для тех кому интересно вот release notes и ссылочка на скачивание:
https://jmeter.apache.org/changes.html
https://jmeter.apache.org/download_jmeter.cgi

Читать полностью…

📢 QA — Load & Performance

Всем привет, как и обещал краткий мануал-faq на что смотреть, когда пишешь свой отчёт мечты и анализируешь проблемы с производительностью
https://habr.com/ru/company/tinkoff/blog/514314/

Читать полностью…

📢 QA — Load & Performance

Всем привет! написали статью по анализу производительности БД Oracle с помощью OEM. Статья будет полезна тем, кто у кого нет большого опыта работы с OEM. https://habr.com/ru/company/tinkoff/blog/525436/

Читать полностью…

📢 QA — Load & Performance

Коллеги, привет! Хочу сообщить вам о выпуске новой версии плагина для тестирования AMQP c помощью gatling. GitHub проекта https://github.com/TinkoffCreditSystems/gatling-amqp-plugin. В этой версии (0.0.4) наконец-то появилась поддержка топиков, обновлены версии gatling и rabbit-mq клиента. Изменён ДСЛ для задания пропертей и заголовков сообщений. Возможно кому-то пригодится, будем ждать вашего фидбека. #gatling #amqp #rabbit-mq #gatling3.4

Читать полностью…

📢 QA — Load & Performance

Привет!
Релиз новой версии нашей библиотеки для gatling: https://github.com/TinkoffCreditSystems/gatling-picatinny/releases/tag/v0.6.0
Некоторые обновления:
* генерация jwt: добавить json шаблон для payload, добавить в сценарий одну строчку -> на каждой итерации генерируется jwt из шаблона с переменными из фидеров/сессии гатлинга. Актуально для всех у кого замокирована авторизация jwt на тесте.
* regex feeder: генерирует строку по регулярному выражению, дальше можно использовать в сценариях. Актуально для генерации id или других тестовых данных любого формата.
* обновления в модуле profile: теперь можно запускать тесты из yaml конфигурации.
* тест больше не падает при недоступности influxdb, только сообщает об ошибке, стоит учитывать.
Как пользоваться библиотекой можно узнать в ридми: https://github.com/TinkoffCreditSystems/gatling-picatinny/blob/master/README.md
Если создать новый проект из нашего шаблона, то библиотека уже подключена: https://github.com/TinkoffCreditSystems/gatling-template.g8
Вопросы по использованию можно задавать в этом чате или в личке, profile: @MaksSieve, любые вопросы по gatling-picatinny и giter8 шаблону: @chepk @jigarkhwar
Всем хорошего дня)

Читать полностью…

📢 QA — Load & Performance

Запись выступления на митапе #9 общества анонимных тестировщиков "Тестовые данные для нагрузки. Атака не клонов"

https://www.youtube.com/watch?v=ErGuYOkzZ_I

Читать полностью…

📢 QA — Load & Performance

Слайды "Тестовые данные для нагрузки. Атака не клонов" для митапа #9 Общества анонимных тестировщиков.

Спасибо, что пришли на митап. Запись велась, будет позже

Читать полностью…

📢 QA — Load & Performance

Как делать надежные и качественные сервисы?
Об этом инженеры Тинькофф расскажут на митапе 1 декабря в Екатеринбурге. На встрече вместе с участниками обсудят:

— как обеспечивают site reliability в Тинькофф;
— подход Shift left в нагрузочном тестировании;
— проблемы в надежности «железа» и инфраструктуры.

🗓 Митап пройдет 1 декабря в БЦ «Палладиум».
Начало в 19:00.
Регистрируйтесь на странице встречи: https://o.tinkoff.ru/nik.meetup.tinkoff
Страница прошедшего мероприятия:
https://meetup.tinkoff.ru/event/its-tinkoff-meetup-nadezhnost-i-kachestvo/

Читать полностью…

📢 QA — Load & Performance

На днях делали ивент про e2e client-side performance testing, в частности как уменьшить себе боль при работе с sitespeed.io и как джиметр может быть полезен для тестирования клаент сайда
Видосик тут https://www.youtube.com/watch?v=zfAn8SnLyv8 🙂

Читать полностью…

📢 QA — Load & Performance

Нагружаем банки

Доклад с Heisenbug Moscow 2021

Вячеслав Смирнов, ВТБ
Максим Рогожников, Тинькофф
Владимир Ситников, Netcracker

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

▫️Планирование
▫️Профиль нагрузки
▫️Инструменты
▫️Тестовый стенд
▫️Тестовые данные
▫️Тестирование на продуктиве
▫️Виды тестов
▫️CI/CD для нагрузки
▫️Мониторинг
▫️Логи
▫️Отчеты
▫️Кто делает запуски тестов
▫️Кто поддерживает тесты

🎥 видео:
https://youtu.be/129pEryyHQY
🔗 слайды: https://polarnik.github.io/loading-the-banks/

Читать полностью…

📢 QA — Load & Performance

Продолжаем лекцию по RabbitMQ
https://us02web.zoom.us/j/3174456604?pwd=aDMvenZpOFp0YVp3MWNrY2YzNDg5Zz09

Сегодня в программе -
- работа с RabbitMQ из Jmeter
- настройка мониторинга RabbitMQ через Telegraf и InfluxDB

Читать полностью…

📢 QA — Load & Performance

Страница быстрого старта с Gatling, которую упомянул выше: https://gatling.io/open-source/

Читать полностью…

📢 QA — Load & Performance

Всем привет! Выпускаем очередной краткий #дайджест обсуждений за две недели (29 декабря-12 января):

▫️Разбирали JMeter и формат времени в Java:
YY, YMD - магические константы, а yyyy - формат для года
m - малое, минуты, M - большое, месяцы
▫️Заметили, что галочка Generate Parent Sample в Transaction Controller не дает возможности записать статистику по вложенным запросам в Elasticsearch Backend Listener(delirius325)
▫️Разбор результатов нагрузки Microsoft Exchange через JMeter и MS Graph API, где со временем замедляется работа. На графиках прослеживается как при закрытой модели нагрузки снижается RPS 📉при увеличении времени отклика 📈
▫️Когда лучше фиксировать результат, ⏱ в момент отправки запроса, а когда в момент получения ответа:

# Save the start time stamp instead of the end
# This also affects the timestamp stored in result files
sampleresult.timestamp.start=true
▫️И более общий вопрос: RPS - это Request Per Second или Responce Per Second?
▫️Почему запуск тестов JMeter Non-GUI лучше JMeter GUI:
* разная работа кода, таймеров
* меньший расход оперативной памяти
* CI/CD-запуск
* меньше шансов сломать большой JMX-файл
▫️Случайно удалились записи от Виктора 🤷‍♂️
▫️Обсуждали подход к тестированию асинхронного сервиса, в котором есть ограничение сверху на интенсивность операций
▫️Анализ аномалий в результатах Yandex.Tank и гипотеза по ускорению теста: нужна настройка станции
▫️Составление методики тестирования REST API интерфейсом с учетом генерации, использования и восстановления данных системы
▫️Обсуждение статьи Нагрузочное тестирование выполнять сложно, а инструменты далеки от совершенства. Почему?, в которой автор задался целью повторения действий пользователя с максимальной реалистичностью при подаче нагрузки. Обсуждение интересно историями, когда действительно стоит отказаться от готового инструмента нагрузки в пользу разработки своего, а когда нет
▫️Интересное обсуждение о совмещении ролей ФТ, АТ, НТ на проекте.
▫️Жаркое обсуждение того, как лучше хранить, редактировать и запускать исходный код проекта JMeter, с учетом особенностей:
* в команде несколько человек и удобны Include Controller
* когда удобно собирать свой дистрибутив
* когда удобно использовать maven
* когда неудобно генерировать JMX/XML-файл, а когда можно
▫️Что делать если хочется отрисовать в Grafana более 3400 точек на графике, а не получается

Спасибо, что делитесь опытом!
Пишите в @qa_load, читайте @qaload

Читать полностью…

📢 QA — Load & Performance

JMeter:
▫️обсуждали как на связке Grafana + InfluxDB сделать отчеты для JMeter такие же как в Yandex.Tank, Кирилл предложил свой jmeterReports.
▫️поняли, что плагин jp@gc - Transactions per Second учитывает подзапросы, и значения TPS получаются выше, чем в Summary Report / Throughput для TOTAL
▫️получали дату из интервала через ${__RandomDate(,2020-12-09,2021-12-09,,)}
▫️настройка профиля нагрузки со стандартной Thread Group
▫️скачивание огромного ответа на SQL-запрос с OS Process Sampler
▫️подбирали количество потоков в JMeter для увеличения TPS
▫️выбирали сайт и способ для поиска пределов JMeter
▫️выясняли причины Response code:Non HTTP response code: org.apache.http.conn.HttpHostConnectException
▫️заливали Connect Time из сырых JTL/CSV-логов JMeter в InfluxDB c помощью проекта SendLogToInfluxDB
▫️игнорировали ошибку NullPointerException: null при использовании openJDK 15.0.1 и JMeter 5.3, 5.4 на MacOS, которая исправилась с переходом на AdoptOpenJDK
▫️осваивали работу с HTTP(S) Test Script Recorder, Fiddler, Proxyman и конверторами для записи скриптов
▫️убирали ошибку java.lang.OutOfMemoryError: Metaspace in thread удалением -XX:MaxMetaspaceSize=256m из параметров запуска и профилировали JMeter c JProfiler, Java Flight Recorder и AsyncProfiler
▫️меняли Xmx Xms без правки jmeter.bat
▫️беуспешно пытались сделать дробный малый RPS с ThroughputShapingTimer (это невозможно, тут нужен Constant Throughput Timer)
▫️удивлялись, что в JMeter есть Autosave и отмена редактирования Ctrl+Z

Также интересные обсуждения:
1️⃣ Выстраивание коммуникации на проекте НТ, советы бывалых
2️⃣ Рассчет количества WebSocket-подключений с одной станции AWS
3️⃣ Расчет модели нагрузки, поиск ПЧ (пиковый час)
4️⃣ Разбор AWR для Oracle
5️⃣ Спор нужна ли загрузка статики?
❌Она не влияет на backend в некоторых системах
✅ Она может загружать сеть и диск
✅ Может отдаваться самим беком и даже приводить к OutOfMemory
✅ Может быть не настроено клиентское кеширование на сервере и статика - узкое место

Читать полностью…

📢 QA — Load & Performance

Ребята, я тут выступил на конфе от OTUS
Рассказываю, как мы поэтапно оптимизировали систему

https://m.youtube.com/watch?v=FU3zTrRqMys&t=11700s

Я начинаюсь в 03:15:00

Читать полностью…

📢 QA — Load & Performance

TestTrend meetup
2 декабря 2020 года

Программа митапа:
1️⃣ Владимир Плизга, ЦФТ, “И мне ничего за это не будет.” Как внедрять тестовое поведение в чистовой код?
Рассказ с примерами, демoнстацией и сравнением
- AspectJ
- Byteman
- jMint
🗝 про Side Effect Injection
🖼 Слайды к докладу

2️⃣ Артём Козленко, ЦФТ, Атомарность в UI-тестах
Рассказ с примерами и демонстрацией того, как можно
- упростить тесты и ускорить их
- использовать Mock-и для этого
- сделать тесты более стабильными
🗝 про Целевую проверку

3️⃣ Вячеслав Смирнов, ВТБ, Три этапа поиска максимальной производительности
Рассказ с примерами реализации и схемами работы:
- Прогревающего теста
- Теста MaxPerf
- Теста стабильности
🗝 про применение таймеров для разных тестов в Apache.JMeter и Gatling
🖼 Слайды к докладу

🎥 Запись: https://youtu.be/rCHJ7iQr6To
Где есть и сами доклады и ответы на вопросы.
Часть ответов на вопросы осталась за кадром в чате: /channel/testtrend_cft/884

Мне очень понравилось. Участникам тоже. Отзывы классные

Читать полностью…

📢 QA — Load & Performance

Всем привет!
Провели воркшоп на гейзенбаге по тестированию производительности с gatling и gitlab, для воркшопа подготовлено множество материалов, которые могут помочь в самостоятельном изучении этих инструментов.
Все материалы доступны в публичном репозитории: https://gitlab.com/tinkoffperfworkshop
Первую часть воркшопа можно повторить самостоятельно по шагам из шпаргалки: https://gitlab.com/tinkoffperfworkshop/part-1/cheat-sheet
Во второй части созданы отдельные репозитории, в них также есть ридми с инструкциями: https://gitlab.com/tinkoffperfworkshop/part-2

Что есть интересного:
1. Разворачиваем окружение для тестов локально в контейнерах: influxdb, vector, loki, prometheus, cadvisor, portainer, grafana, gitlab-runner
2. Создаем скрипты gatling для различных протоколов: http, jdbc, grpc
3. Создаем CI джобы для gitlab
4. Подключаем агент в gitlab.com
5. Проводим и мониторим тесты

Читать полностью…

📢 QA — Load & Performance

Всем привет!
Обновил пример gatling-скриптов для демонстрации различных моделей нагрузки.

Открытая модель нагрузки
Сценарий:
io.qaload.gatling.reportExample.simulation.OpenModel_IncrementUsersPerSec
* Gatling Grafana Report: Gatling - open model
* openmodel-incrementuserspersec

Обратите внимание, как при открытой модели нагрузки растет количество одновременно работающих сценариев после точки деградации

Закрытая модель нагрузки
Сценарий:
io.qaload.gatling.reportExample.simulation.CloseModel_IncrementConcurrentUsers + trottle
Который рекомендую использовать вместо открытой модели
* Gatling Grafana Report: Gatling - closed model
* closemodel-incrementconcurrentusers

Обратите внимание на ровный по RPS профиль нагрузки, это trottle. И что после точки деградации количество параллельных сценариев (а следовательно потоков в Gatling) не растёт.

Значит Gatling не упадет по Out Of Memory Error под конец теста. А нагрузка та же самая.

По ссылкам доступны отчёты: Grafana и HTML.

Репозиторий:
https://github.com/polarnik/gatling-report-example

Читать полностью…

📢 QA — Load & Performance

Привет всем! Все мы в мире нагрузки немного устали от разношерстной терминологии, абстрактной стандартизации и передачи опыта в формате Мастер Джедай -> Падаван.
Поэтому мы решили собрать инициативную группу людей, которая бы начала формирование общей базы знаний по нагрузочному тестированию.
В данную группу очень требуются люди, обладающие этими самыми знаниями в сфере нагрузочного тестирования или близко к ней.
Большая просьба к тем, кто хочет эти знания только получить или просто недостаточно уверен в своих знаниях - не вступать в инициативную группу. Вся база будет общедоступной и мы обязательно будем делать все необходимые анонсы по её реализации и наполнению. С очень большой вероятностью вы сможете дополнять её своими знаниями, но после её формирования.
Ссылка на чат: /channel/LoadKnowledge
Большим плюсом будет если вы, при входе в чат, кратко расскажете о своей работе и опыте. Спасибо!

Читать полностью…

📢 QA — Load & Performance

Слайды к докладам:
1) Нагрузочное тестирование с нуля - Кирилл Юрков
2) Выбор инструмента НТ - Урал Нургалин

для HeisenBug Piter 2020 (16 июня 2020 года)

Описание докладов и докладчиков:
https://heisenbug-piter.ru/2020/spb/talks/7kljtoxga4yizsw0bw6kbe/

Читать полностью…

📢 QA — Load & Performance

QA-конференция QAASP 2020

16 октября в онлайн формате пройдет большая минская QA-конференция QAASP 2020: Quality Assurance, Automation, Security, Performance, Testing. На нее соберутся эксперты из успешных компаний, чтобы поделиться опытом тестирования не только software, но и hardware.

На конференции в формате онлайн вы сможете послушать доклады и пообщаться о наболевшем по насущным вопросам QA в следующих сферах:
• Ручное тестирование
• Автоматизация тестирования
• Нагрузочное тестирование
• Тестирование безопасности
• Серверное тестирование
• Мобильное тестирование
• Фреймворки и подходы
• Инструменты и тулы
• Usability-тестирование
• Построение процессов и команд в QA
• Управление тестированием
• Карьера в QA и после QA

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

Программа и доступы на сайте: https://qaasp.tech

Когда: 16 октября
Где: Везде, где есть интернет


Скидка 10% по промокоду QALOAD на все типы билетов (настоящие и будущие)

Читать полностью…
Subscribe to a channel