Нагрузим IT!
315 subscribers
364 photos
15 videos
207 links
📊 Тестирование без душноты

QA-инженер Ozon и преподаватель объясняет нагрузку, инструменты и собесы простым языком

Чат: @lets_load_chat
Автор: @Slabodenyuk_Anatoly
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🔍 Уровни логирования: ключ к эффективному тестированию производительности

Привет, друзья! Задумывались ли вы, какую роль играют логи при анализе производительности системы? Правильная настройка уровней логирования может превратить хаос данных в четкую картину проблем! 💡

🎯 Разбираемся в основных уровнях логирования:

💥 DEBUG — самый детальный уровень. Содержит всю техническую информацию, необходимую для отладки.
DEBUG 2025-04-07 12:34:56 [LoadTest] - Запрос выполнен за 235ms, использовано памяти: 45MB


ℹ️ INFO — стандартный уровень для штатных событий. Показывает, что система работает как задумано.
INFO 2025-04-07 12:35:00 [LoadTest] - Тестовый сценарий "Авторизация" запущен с 1000 виртуальными пользователями


⚠️WARN — предупреждения о потенциальных проблемах, которые пока не нарушают работу системы.
WARN 2025-04-07 12:36:05 [LoadTest] - Среднее время ответа превысило порог в 500ms (текущее: 678ms)


⛔️ERROR — критические ситуации, требующие немедленного вмешательства.
ERROR 2025-04-07 12:38:12 [LoadTest] - Соединение с базой данных разорвано, тест прерван


☠️FATAL — катастрофические события, после которых система не может функционировать.
FATAL 2025-04-07 12:40:00 [LoadTest] - Критическая нехватка памяти, система остановлена



🔄 Как эти уровни настроить?

Вот что действительно удобно — настраивать логирование прямо из конфигурации Docker! Особенно когда нужно быстро переключить уровень для тестирования 🚀
Пример конфигурации в docker-compose.yml 👇
version: '3'
services:
api-service:
image: your-service:latest
environment:
- LOGGING_LEVEL=INFO # Базовый уровень для обычной работы
# другие настройки...

api-service-debug:
image: your-service:latest
environment:
- LOGGING_LEVEL=DEBUG # Расширенное логирование для отладки
# другие настройки...

(🤔 не забудьте пересобрать контейнер)

💡Также можно собирать контейнер для разных профилей с разным уровнем логирования:
version: '3'
services:
api-service:
image: your-service:latest
environment:
- SPRING_PROFILES_ACTIVE=${LOG_PROFILE:-prod} # Используем переменную окружения
# другие настройки...

Теперь можно запускать с разными профилями:
LOG_PROFILE=debug docker-compose up -d  # Для отладки
LOG_PROFILE=prod docker-compose up -d # Для обычной работы



🎁В комментарии приложил пример анализа лога


#полезности | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤1
🖥 HTTP-коды ответов: учимся читать между строк!

Знать HTTP-коды — как знать язык сервера: он прямо говорит, что пошло не так (или наоборот — идеально!). 🔍 Разбираем группы кодов и самые важные примеры в удобных карточках.

Сохраняйте, как шпаргалку, для технических собеседований 🎙


#термин | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝4❤1
Что такое хост и порт? Понимаем на простом примере!

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

🔑 Основная аналогия: дом с квартирами
Хост (Host) — это как многоквартирный дом с уникальным адресом на улице. В мире компьютеров это любое устройство с IP-адресом в сети (сервер, компьютер, смартфон).

Порт (Port) — это как номер квартиры в этом доме. Позволяет определить, куда именно (в какое приложение или сервис) должны попасть данные на конкретном устройстве.


👨‍💻 Как это работает на практике?
Представьте многоквартирный дом по адресу
ул. Серверная, 192.168.1.10 (это наш IP-адрес).
В этом доме:
📞 Квартира 80 — веб-сервер (HTTP)
🔐 Квартира 443 — защищённый веб-сервер (HTTPS)
📧 Квартира 25 — почтовый сервис (SMTP)
📁 Квартира 21 — FTP-сервер для файлов
🔌 Квартира 22 — SSH для удалённого доступа

Когда к вам приходит запрос на 192.168.1.10:80, это всё равно что письмо с адресом "ул. Серверная, 10, кв. 80" — оно попадёт именно в веб-сервер, а не в почтовый сервис!

⚡️ Важные моменты для тестирования производительности:
- Порты как узкие места
Слишком много посетителей пытаются попасть в одну "квартиру"? В реальном мире образуется очередь! Так же и с портами — они могут стать узким местом при высокой нагрузке.

- "Зарезервированные квартиры"
Порты 0-1023 — привилегированные, как элитные квартиры. Для их использования нужны особые права (root/admin).

- "Стандартные планировки"
80   — HTTP
443 — HTTPS
3306 — MySQL
6379 — Redis
5432 — PostgreSQL
8080 — Альтернативный веб-порт (часто для тестовых окружений)


- "Свободные квартиры"
Порты 1024-49151 — зарегистрированные, но многие свободны.
Порты 49152-65535 — динамические, используются временно.


🛠 Как проверить "жильцов" во время тестирования?
🐧 В Linux:
# Показать все открытые порты и слушающие сокеты
netstat -tuln

# Узнать, какое приложение использует порт 8080
lsof -i :8080


🪟 На Windows:
# Показать все открытые порты
netstat -an

# Узнать, какой процесс использует порт 8080
netstat -ano | findstr :8080


❓ Почему это важно для нагрузочного тестирования?
При создании тестового сценария вы должны точно знать, к какому "дому" (хосту) и в какую "квартиру" (порт) стучаться

💭 А вы сталкивались с ситуациями, когда проблемы с производительностью системы были связаны именно с портами? Как вы их решали? Делитесь опытом в комментариях!


#полезности | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1
🎭 Расширения файлов: актёры в мире цифровых данных

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

🎭 Расширение файла — это как маска актёра
Представьте талантливого актёра (файл с данными). Сам по себе он просто человек (набор битов). Но стоит ему надеть разные маски (расширения файлов), и перед нами появляются совершенно разные персонажи!

- С маской .jpg — он фотограф, показывает нам красочные снимки 📸
- Надел маску .mp3 — превращается в музыканта, исполняющего мелодии 🎵
- Выбрал маску .docx — стал писателем с текстовым документом 📝
- Примерил маску .exe — теперь он программист с исполняемым кодом 💻

⚙️ Как это работает в компьютерном мире?
document.docx
└─┬──┘ └──┘
│ │
│ └─ Расширение (маска актёра)
└───── Имя файла (имя актёра)


Операционная система смотрит на расширение и решает:
✅ Какой программой открыть файл (в какой "театр" отправить актёра)
✅ Как интерпретировать данные внутри (какую "роль" должен играть актёр)
✅ Какую иконку показать в проводнике (афишу какого спектакля разместить)

🔍 Интересные факты о "масках" и "актёрах"
- Один актёр — разные маски
Вы можете взять один и тот же файл и просто сменить его расширение. Например, переименовать data.txt в data.html, и браузер попытается открыть его как веб-страницу! Это как если бы актёр в маске клоуна попытался играть Гамлета — результат может быть непредсказуемым! 🤡

- Содержимое важнее маски
Несмотря на расширение, содержимое файла не меняется. Если взять фотографию .jpg и переименовать её в .mp3, проигрыватель музыки всё равно не сможет воспроизвести её как песню. Актёр в маске короля не станет настоящим королём!

- Некоторые маски универсальны
Расширение .txt — как простая маска, которую может "надеть" почти любой файл, и большинство программ смогут его "понять" (открыть).

🚀 Популярные "маски" и их роли:
Текстовые документы:
- .txt — простой текст (актёр без грима)
- .docx — документ Word (актёр в костюме офисного работника)
- .pdf — документ PDF (актёр в формальном костюме, который выглядит одинаково на любой сцене)

Изображения:
- .jpg/.jpeg — фотографии (актёр в реалистичном гриме)
- .png — изображения с прозрачностью (актёр с возможностью исчезать)
- .gif — анимированные изображения (актёр, повторяющий одни и те же движения)

Аудио и видео:
- .mp3 — аудиофайл (актёр-музыкант)
- .mp4/.avi — видеофайл (актёр в полном кинематографическом гриме)

Исполняемые файлы:
- .exe — программа для Windows (актёр с полным сценарием и правом импровизировать)
- .sh — скрипт для Linux (актёр со свитком команд)

💡 Лайфхаки для работы с расширениями:
- Осторожно с "переодеванием"
Не переименовывайте расширения файлов без необходимости — это может привести к тому, что файл станет "неузнаваемым" для программ.

- Показывайте расширения
В Windows по умолчанию расширения скрыты. Включите их отображение:
Проводник ->Вкладка "Вид" → Снимите галочку с "Скрывать расширения для зарегистрированных типов файлов"


- Иногда нужно заглянуть под маску
Программы вроде HEX-редакторов позволяют увидеть реальное содержимое файла, независимо от его расширения. Это как заглянуть за кулисы и увидеть актёра без грима!

📊 Полезное применение в повседневной работе:
Представьте, что вы получили странный файл без расширения. Как узнать, что это?
В Linux можно использовать команду file:
file странный_файл
# Вывод: странный_файл: JPEG image data, JFIF standard 1.01

Это как если бы вы встретили актёра без маски, но по его движениям и речи определили, какую роль он играет!


#полезности | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1⚡1👏1🤝1
🎓 Хотите попасть в ИТ-компанию мечты, но не знаете, с чего начать?

Один из самых реальных путей — это корпоративные школы и стажировки от крупных компаний.

Задолжал я тут вам контента конечно😅 и подумал поделиться ссылками на стажировки, в которые я пытался когда-то податься, но не прошёл 🤷‍♂️

👉 Это бесплатное обучение с практикой, менторством и возможностью получить оффер сразу после выпуска.
Но важный момент — туда ещё нужно попасть. Почти все программы включают отбор: тесты, интервью, мини-проекты, а значит, уже сам процесс поступления — отличный способ прокачаться.

🧠 Сейчас делюсь этими ссылками не ради рекламы, а потому что действительно считаю это крутой возможностью. Возможно, кому-то из вас повезёт больше, чем мне!

🔗 Итак, подборка корпоративных школ, в которые стоит податься уже сегодня:

🏦 Альфа-Банк — "I Choose Alfa"
Что даёт программа:
- Оплачиваемая стажировка + гибкий график и удалёнка
- Наставничество и ДМС с первого дня
- Работа над реальными продуктами
- 80% стажёров получают оффер

---

🛍 Ozon Tech — Route 256
Что внутри:
- Бесплатные курсы (Python, QA, Go, Android и др.)
- Реальные задачи в highload-среде
- Поддержка инженеров Ozon
- Лучшие выпускники получают предложения о работе

---

🌎 Иннотех (T1) — Открытые школы
Формат:
- Онлайн-интенсивы с гибким графиком
- Задачи из банковской и аналитической сферы
- Менторство и поддержка
- Шанс получить джоб-оффер по итогам обучения

---

🌟 ЦРТ — QA School
Кому подойдёт:
- Тем, кто хочет начать карьеру в тестировании
- Учебный процесс с акцентом на реальную практику
- Поддержка менторов
- Возможность попасть в штат ЦРТ после выпуска
- Набор все еще открыт
- Тут, кстати, работаю я, и могу гарантировать, что после школы вы станете классным специалистом... если сможете её осилить конечно 😂

---

🙌 Коллеги: это не реклама. Ни одна из компаний не платила за упоминание — просто хочу поделиться тем, что когда-то искал сам... ну и идеи для постов уже начинают заканчиваться (это шутка🌈)

💬 Возможно вы уже пробовали поступать в какие-нибудь из этих школ? Делитесь опытом — особенно если получилось пройти отбор! Или задавайте вопросы в комментариях — разберём вместе 😉


#полезности | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡4❤2🤩2
Канал все больше и больше превращается в признание в любви к Докеру 🐳

👾 Сегодня рассмотрим отличия между Docker и виртуальной машиной (это разные штуки, ага).

Как всегда информация представлена в удобных карточках, чтобы всем было хорошо 😊

Надеюсь, что вы когда-нибудь также разделите мое восхищение этой технологией 🥰


#полезности | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🗓Коллеги, поздравляю вас с началом выходных и открываю новую рубрику с подведением ежемесячных итогов. Сегодня подводим итоги за апрель:

🏆Топовые посты по просмотрам:
1️⃣ Список открытых школ от компаний - некоторые школы работают сезонно, попробуйте подать заявку в следующий набор
2️⃣ Что такое расширение файлов
3️⃣Что такое API

👀 Самый топовый пост по реакциям:
1️⃣ Что такое расширение файлов - целых 7 реакций! (так можно и звездную болезнь заработать 😄)

⚠️ Пост, который незаслуженно обделен вниманием:
🎸 Музыкальный плейлист для нагрузки - там правда бодрый роцк, послушайте на досуге )

✍️Средняя частота выхода постов:
В апреле у меня было около 2-х постов в неделю — стремлюсь к ежедневному постингу и постепенно двигаюсь в этом направлении. В мае планирую увеличить частоту до 3-4 постов в неделю.

😘 Топ подписчиков:
А это, собственно, каждый из вас!

Я искренне благодарен всем, кто подписался на канал и следит за ним. Ваш интерес, комментарии и поддержка — лучшая мотивация продолжать делиться знаниями и опытом, которые у меня есть в сфере АЙТИ. Именно благодаря вам канал растет и развивается! 🫶


#итоги_месяца | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3
Нагрузим IT!
🧠 Оно живое! Коллеги, канал жив, всё хорошо 👍 Просто работал на настоящей работе и проходил курсы. Уровень ЗП и должность ведь повышается от количества полученных сертификатов? Ведь так? (в скобочках - нет) В процессе обучения наткнулся на инструмент от…
💡Помните, я рассказывал про инструмент от Google, в котором можно очень удобно составлять конспекты по различным источникам - лекции, аудиозаписи встреч или вебинаров.

Его обновили, и теперь там можно генерировать подкасты. Двое виртуальных ведущих - виртуальный мужчина и виртуальная женщина обсуждают между собой информацию из вашего источника, при этом "общаясь" между собой и используя различные интонации. Это одновременно и пугает и восхищает. 😨

Попробовать тут (нужен VPN) - после загрузки источника, нажать в блоке "Аудиопересказ" кнопку "Сгенерировать".

Скормил виртуальным подкастерам видео Доктора Попова про силу земли 🤩, результат в комментариях 👇


#AI | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤯1
🧩 ЗАДАЧА С СОБЕСЕДОВАНИЯ В КРУПНУЮ КОМПАНИЮ 🧩

Привет, коллеги! 👋

Сегодня вспоминаю, что канал, вообще-то говоря, посвящен тестированию и предлагаю вам решить задачу, которую часто дают на технических собеседованиях для QA-инженеров (она может быть в разных вариациях, но смысл примерно один и тот же). Давайте проверим вашу экспертизу в тест-дизайне! 🔍

Задача:

Представьте, что у вас есть монитор с разрешением 1920×1080 пикселей. На экране отображается кнопка размером 200×50 пикселей, расположенная в центре. При нажатии на кнопку происходит отправка формы с данными на сервер (или начинает кричать кукушка в часах с кукушкой - действие в данном случае не так важно)

(🖼 также описание есть на картинке)

💡 Ваша задача: Протестировать эту кнопку с использованием техник тест-дизайна.
Подумайте:
✅ Какие техники тест-дизайна вы бы применили?
✅ Какие тест-кейсы будут наиболее важными?
✅ Как бы вы структурировали свое тестирование?

⏰ На решение есть 24 часа! Завтра я опубликую ответ и разберу правильное решение. А пока делитесь своими идеями в комментариях!


#полезности | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤩2
🧩 ОТВЕТ НА ЗАДАЧУ С СОБЕСЕДОВАНИЯ 🧩

Коллеги, разбор вчерашней задачи 🔍

Благодарю всех за внимание к посту, а особенно коллег, которые оставили свои решения в комментариях 🙏

И Вера, и оба Сергея - каждый по-своему были близки к верному ответу. Не хватило только подробностей того, как вы пришли к своим выводам 📎

Первое на что стоило обратить внимание - это
1️⃣ Классы эквивалентности
По сути, у нас есть два основных класса:
✅ Область кнопки (где клик должен вызывать действие) - позитивная проверка
✅ Область экрана вне кнопки (где клики не должны вызывать никаких действий) - негативная проверка

Таким образом, получаем два самых важных теста (на самом деле, для решения было достаточно описать эти две проверки)

Следующие проверки по важности:
2️⃣ Анализ граничных значений (вместе с классами эквивалентности)
Здесь нужно протестировать:
✅ Границы кнопки — клики по всем углам кнопки, и на 1 пиксель левее (правее) и 1 пиксель выше (ниже)
✅ То же самое с границами экрана

🔬 Дополнительные техники, которые можно применить, если вы хотите устроиться сразу на должность сеньора 😂:
🔄 Попарное тестирование (Pairwise)
Можно комбинировать различные типы кликов (одиночный, двойной, долгий) с разными областями кнопки (центр, края, углы).

🌐 Исследовательское тестирование
Полезно для выявления неочевидных дефектов, например:
✅ Как ведет себя кнопка при очень быстрых многократных кликах?
✅ Что происходит при клике с зажатыми модификаторами (Ctrl, Shift)?

📋 Пример чек-листа:
✅ Клик в центр кнопки ✓ (форма должна отправиться)
✅ Клик в каждый из углов кнопки ✓ (форма должна отправиться)
✅ Клик на границу кнопки ✓ (форма должна отправиться)
✅ Клик на 1 пиксель за границей кнопки ✗ (форма не должна отправиться)
✅ Клик в случайную область экрана вне кнопки ✗ (форма не должна отправиться)
✅ Двойной клик по кнопке (должна отправиться только одна форма)
✅ Клик по кнопке при отключенном интернете (должно появиться сообщение об ошибке)


🧐 А что это нам дает?
Это и подобная ей задачи — отличный пример того, как важно не просто "знать" техники тест-дизайна, а уметь применять их в нестандартных условиях. Кнопка на экране — это не совсем форма, не совсем поле ввода, и не совсем API. Но принципы, по которым мы тестируем её, точно такие же: эквивалентные классы, границы, сочетания условий и даже исследовательский подход.

🎯 Главный навык инженера по тестированию — перенос знаний: умение применять технику, выученную на формах регистрации или калькуляторах, к любой новой задаче — будь то видеоигра или простая кнопка на экране.

🚀 Не бойтесь нестандартных формулировок. Это как раз и есть приближение к реальной жизни, где документация неполная, требования плавают, а дедлайн был вчера )


#полезности | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17
Channel name was changed to «Нагрузим IT!»
Привет, друзья! Поздравляю с началом рабочей недели 👨‍💻

Сегодня разберем одну из самых коварных проблем производительности — утечки памяти. 💧
Подготовил для вас удобные карточки с самым важным. Сохраняйте себе! 🔖

В комментарии приложу график, как утечка может выглядеть в Grafana 📊


#термин | 🍩 Донейшн | 📈 Забустить канал
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8