TGViewer
Channel Public Channel
Нагрузим IT!

Нагрузим IT!

@lets_load

📊 Тестирование без душноты

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

Чат: @lets_load_chat
Автор: @Slabodenyuk_Anatoly
Subscribers
313
Photos
364
Videos
15
Links
207
Recent Posts 15 shown
Post #416 97
Инстанс: экземпляр чего именно?

«Поднимите ещё один инстанс» звучит как проведение обряда в фильме про экзорцизм 😅

На деле
instance

не отдельная технология. Это конкретный экземпляр чего-то.

В коде класс
User

можно представить как чертёж.

Объект
user_42

будет одним созданным по нему экземпляром (инстансом).

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

В облаке
instance

часто означает виртуальный сервер. В базах данных смысл зависит от СУБД. Например, в Oracle это память и процессы, которые обслуживают файлы базы.

Для QA важно уметь понимать, что это. Если ошибка есть только на одном инстансе, сравните его версию, конфигурацию и логи с остальными.

Услышали
instance

❓ Уточните: экземпляр чего именно?

#Термин
Post #415 86
JSON вырос из XML? Не совсем. 😟

Есть устойчивое заблуждение, что Json пришел на замену XML, но это не так, ребята

В 1998 году был опубликован XML 1.0.

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

Например, пользователя можно описать так:
<user>
  <id>42</id>
  <active>true</active>
</user>


Для обмена простыми объектами это работало, но требовало много тегов. В начале 2000-х один умный дяденька - Дуглас Крокфорд - начал продвигать другой вариант:
{
  "id": 42,
  "active": true
}


JSON не сделали из XML и не выпустили как «XML 2.0».

Его синтаксис вырос из объектных литералов JavaScript. Объекты, массивы, строки, числа,
true


false

и
null


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

Поэтому лучше сказать так:
JSON появился в мире, где XML уже показал ценность текстового обмена данными, и предложил более простую модель для многих веб-задач.

XML при этом никуда не исчез. Он до сих пор встречается в SOAP, документах, конфигурациях и старых интеграциях. JSON чаще встречается в современных HTTP API.

Нужно уметь прочитать оба формата и понимать, какой контракт перед вами. 🤓

#Факт
  • ⚡ 1
Post #414 88
Как я настроил ChatGPT для английского 😮

В прошлом посте я обещал показать свою схему. Выполняю.

У меня есть подписка ChatGPT Plus. На ней выше лимиты и шире доступ к голосовым функциям. Но саму схему можно повторить и без подписки: проекты доступны и на бесплатных аккаунтах, хотя набор инструментов и лимиты отличаются.

Для английского я создал отдельный Проект. Это рабочее пространство внутри ChatGPT, где в одном месте лежат диалоги, файлы и отдельная инструкция. Новые чаты внутри проекта могут использовать этот контекст, поэтому не приходится каждый раз заново объяснять, кто ты такой и что хочешь, ИИшке 🔄

В настройках проекта я добавил Глобальную инструкцию для проекта. По сути, это системная инструкция только для моего английского пространства. В ней указал:
• текущий уровень;
• какие темы хочу закрепить сначала;
• как объяснять грамматику;
• сколько ошибок исправлять за раз;
• как проводить обычный урок;
• итд

Свою инструкцию я превратил в шаблон. В нём значения вроде уровня, профессии, целей и слабых мест отмечены как {{параметры}}. Полный шаблон и оставлю в комментариях. 📎

Для разговорной практики открываю Голосовой режим прямо внутри проекта. Я слышу ответ ИИшки и отвечаю голосом, поэтому одновременно тренирую аудирование и разговор.

Вариант для тех, кто хочет заморочиться ещё сильнее: 💪
Вести отдельный документ прогресса в Google диске.

Если Google диск подключён к ChatGPT и для аккаунта доступны действия записи, чат может создать и обновлять документ, например, перед новым уроком я прошу прочитать его, а после занятия сохранить изученные темы, повторяющиеся ошибки и следующий шаг.

Есть нюанс: подключённые приложения сейчас не работают прямо внутри голосового чата. Поэтому документ лучше читать в текстовом режиме перед голосовым занятием, а обновлять его после выхода из голосового чата 🧠

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

#ИнглишВериВелл
Post #413 110
Свой учебный API. С блэкджеком и… тестами 😗

Про блэкджек шутка. А API хочу сделать настоящий.

В своё время я очень долго пытался понять, что такое API. Вообще все просто: одна программа отправляет запрос другой и получает ответ. Но пока сам не нажмёшь
Send

, не посмотришь JSON и не поймаешь первую ошибку, в голове обезьянка с музыкальными тарелками 🙈

Поэтому хочу сделать учебный API для тех, кто сейчас разбирается с этой темой.

Представляю его как небольшой интерактивный мир с оригинальными персонажами и отсылками к поп-культуре. Там можно будет:

• получать персонажей, предметы и задания; 
• создавать, менять и удалять их; 
• специально ломать запросы и разбираться в ответах; 
• тренировать:
GET

,
POST

,
PATCH

,
DELETE

, параметры, JSON и статус-коды.

Возможно, рядом будет простой UI: отправили запрос и сразу увидели, что изменилось в мире. Если проект окажется полезным, позже подумаю об отдельной gRPC-версии.

Но сначала хочу понять, нужен ли такой учебный проект кому-то кроме меня. Строить целую вселенную ведьмака для трёх человек немного обидно 😁

Накидайте реакций, если нужен такой проект ⚡️
  • ⚡ 15
Post #412 112
Компилятор и интерпретатор: в чём разница? 👀

Компилятор и интерпретатор оба стоят между исходным кодом и его выполнением. Но задачи у них разные.

Компилятор переводит исходный код (который вы написали своими ручками) в другое представление, например, в машинный код или байткод. В классической схеме это происходит до запуска программы, а результат можно сохранить отдельно (например, JAR файл в Java) 📁

Как переводчик, который заранее перевёл всю книгу. Готовый перевод можно читать снова и снова.

Интерпретатор выполняет исходный код или промежуточные инструкции прямо во время работы программы. 👨‍💻

Это уже синхронный переводчик: человек говорит, а перевод появляется по ходу разговора.

Эти подходы также могут сочетаться. Например, Python-код сначала компилируется в байткод, а затем этот байткод выполняет интерпретатор.

И давайте ещё раз:
• компилятор переводит код в другое представление; 
• интерпретатор выполняет инструкции по ходу выполнения программы

#Термин
  • ⚡ 1
Post #410 96
👀 gRPC глазами тестировщика: почему 200 Ок ещё ничего не доказывает

В HTTP всё привычно:
дергаем GET /users/42, JSON в ответе, статус 404, значит такого пользователя нет - все просто 👨‍🦯

Открываете gRPC, а там
UserService/GetUser

И какой-то файл .proto

и ещё статусы вроде OK или NOT_FOUND. Первые пять минут хочется переехать на HTTP обратно 😅

gRPC позволяет клиенту вызвать метод другого сервиса почти как обычную функцию. Контракт обычно описан в том самом файле .proto: какие методы доступны, какие сообщения они принимают и возвращают. Данные чаще всего кодируются и передаются поверх HTTP/2.

⚠️ И вот главная ловушка:
Результат нужно смотреть по grpc-status:
- 0 означает OK, остальные значения обозначают ошибки.
- Вместо привычных 4xx и 5xx здесь встречаются INVALID_ARGUMENT, NOT_FOUND, DEADLINE_EXCEEDED и другие статусы.

Поэтому при проверке смотрим не только на транспорт:

• соответствует ли вызов контракту из .proto;
• верный ли gRPC-статус вернулся для конкретной ситуации;
• совпадают ли поля ответа и изменилось ли состояние системы как ожидалось;
• если метод потоковый, в каком порядке приходят сообщения и как закрывается поток.

Привычных URL и JSON может не быть. Но задача QA та же: понять, что вызвали, что получили и что реально изменилось в системе 💡

#Термин
Post #409 101
Ищу двух человек на БЕСПЛАТНЫЙ МОК-собес по QA 🎯

Бывает так:
Вроде шаришь за АЙТИ, пилишь свои пет-проекты, твой эй-ай ассистент делает тебе капучинку на кокосовом каждое утро, но на собеседовании мысли вдруг уходят в режим перезагрузки 😅

Хочу проверить формат такого пробного собеса. Это генеральная репетиция: можно запнуться, переспросить и увидеть слабые места, мы для этого и соберемся :)

⏳За 60 минут:
• проведём полноценную имитацию QA-собеседования (обсудим ручное тестирование, бэкенд и базу по нагрузке)
• разберём не только ответ, но и ход мысли;
• после встречи я подсвечу сильные стороны, пробелы и план подготовки

Подойдёт тем, кто только входит в тестирование или уже ходит на собеседования, но хочет перестать учить ответы, а чувствовать себя как рыба в воде 💧

Возьму двух человек БЕСПЛАТНО в бета-формате. Взамен попрошу честный отзыв и разрешение анонимно описать результат, без личных деталей 🫰

Трудоустройство не обещаю 😭 Но после такой репетиции станет понятнее, что подтянуть перед настоящим собесом.

Хотите попасть? Напишите мне в личку. Я уточню вашу цель и предложу время :)

#Собес
  • ⚡ 1
Post #408 121
🤔А как это?

Запустили нагрузочный тест второй раз? И после нового прогона выросло время ответа системы?

Логичная мысль:
система стала медленнее.


⛔️ ОСТАНОВИТЕСЬ.
Если между прогонами одновременно поменялось несколько вещей: версия сборки, сценарий, RPS, тестовые данные или окружение и прочее, то понять, почему результаты изменились, уже почти невозможно. Это два разных эксперимента.

✅ Перед каждым прогоном фиксируйте:
• версию сборки и сценария; 
• профиль нагрузки; 
• окружение и набор тестовых данных.

А между сравниваемыми прогонами по возможности меняйте один главный фактор. Тогда результаты будут осевидны 👍

#НагрузочнаяМелочь
  • ⚡ 1
Post #402 123
Нужно ли QA знать все языки программирования? 👀

Когда в проекте встречаешься сразу с несколькими языками программирования, легко подумать, что тестировщику нужно знать всё о всех языках

Но нет 👍

QA не обязан писать приложения на каждом языке.  Достаточно понимать, зачем этот язык обычно используют и как в нём выглядят базовые вещи. 🤔

Тогда увиденный кусок кода уже не выглядит как заклинание.

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

Собрал пять языков программирования в виде супергероев, чтобы у вас сформировались сильные ассоциации. У каждого своя миссия, сильная сторона и слабость - всё, как у супермена 🦸‍♂

Листайте карточки. Какой язык вам сейчас кажется самым непонятным?

#Термин
  • ⚡ 1
Post #401 128
🤔 Что за переменные среды такие?

Переменная среды это пара ИМЯ=ЗНАЧЕНИЕ, которую программа получает при запуске.

Например:
BASE_URL=https://test-api.example
LOG_LEVEL=debug
FEATURE_NEW_CHECKOUT=true


Код остаётся тем же, а настройка меняется под окружение. На тестовом стенде BASE_URL ведёт в test API, на продовом в production API. Не нужно переписывать адрес прямо в каждом запросе.

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

🦠 Важно не перепутать .env и переменные среды.

.env - обычный текстовый файл с парами ИМЯ=ЗНАЧЕНИЕ. Сам по себе он ничего не передаёт программе: нужен инструмент, который прочитает файл и добавит значения в окружение запуска.

Поэтому .env - источник настроек на диске, а переменная среды - значение, которое уже получила запущенная программа.

Если в .env есть пароль или токен, такой файл не коммитят. Для шаблона можно хранить .env.example без секретных значений; в проде секреты берут из согласованного хранилища.

В следующий раз перед запуском посмотрите, чему равны BASE_URL . Иногда это экономит часы дебага.

#Термин
  • ⚡ 1
Post #400 115
Начал учить английский 🇺🇸

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

Раньше я уже писал в канале о своём пути к сертификации ISTQB и разбирал главы силлабуса (можете найти по тегу #ISTQB). Теперь хочу также документировать ещё одну историю: как внедряю английский в жизнь.

💜 Мои цели:
• говорить о своей работе в QA и в целом поддерживать разговор об IT;
• подготовиться и сдать ISTQB на английском, так как русскую попытку я не сдал, перекладываю ответственность на не очень качественный перевод вопросов на экзамене, а не потому что я тупенький 🙈

🛠 Что делаю сейчас:
• занимаюсь с репетитором два раза в неделю;
• каждый день иду по грамматике с самого начала по вот такому плейлисту на Ютубе «Английскому язык за 20 уроков», чтобы структурировать базу (рекомендую)
• использую ChatGPT в голосовом режиме как тренажёр «24/7»: поговорить о работе, прокрутить диалог, разобрать фразу между занятиями.
• Смотрю Свинку Пеппу в оригинале 🐷

Если интересно, как я настроил ChatGPT под такую разговорную практику, поставьте ⚡️. В одном из следующих постов покажу
схему

И поделитесь своим опытом изучения иностранных языков в комментариях

#ИнглишВериВелл
  • ⚡ 5
Older posts →

About this channel

How can I read @lets_load without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Нагрузим IT!: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Нагрузим IT! have?
Нагрузим IT! (@lets_load) has 313 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Нагрузим IT! know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →