Библиотека тестировщика | QA, тестирование, quality assurance, manual testing, autotesting, ручное тестирование, автотесты
8.85K subscribers
1.48K photos
175 videos
49 files
2.83K links
Все самое полезное для тестировщика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/12538d6f

Работать у нас: https://job.proglib.io/

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
🥛 Rate Limiting — что это такое

Система ограничивает количество запросов от одного пользователя за определённое время. Это защита от перегрузки, DDoS-атак и злоупотреблений.

🔴 Пример из жизни

С Rate Limiting:

Банкомат

• 3 неправильных PIN-кода → карта заблокирована
• Защита от перебора

Без Rate Limiting:

Форма входа

• Бот перебирает пароли
• 10 000 попыток в минуту
• Рано или поздно угадает


🔴 Где проверять:

— API endpoints (есть ли лимит запросов)
— Формы входа (блокировка после N попыток)
— Отправка SMS/Email (защита от флуда)
— Кнопки создания заказов, платежей

🔤 Типичные баги

1. Ограничение только на фронте


Кнопка заблокирована в UI
Но через Postman запросы проходят


2. Блокировка всего офиса


Все за одним IP
Один превысил лимит → все заблокированы


3. Нет информации о лимитах


HTTP 429
Когда можно повторить? Неизвестно


🈁 Правильная реализация


GET /api/users
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 234
X-RateLimit-Reset: 1699999999

При превышении:
HTTP 429 Too Many Requests
Retry-After: 60


🧪 Как тестировать:

— Быстро кликать кнопку 10+ раз
— Написать скрипт на 150 запросов подряд
— Проверить HTTP 429 и заголовки ответа
— Убедиться, что счётчик сбрасывается

🐸 Библиотека тестировщика

#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰2🤩2
🎓 Экспресс-курс «Математика для Data Science» стартует 4 декабря

Этот курс для вас, если вы:

🧑‍💻 Программист
Когда нужно понять, что происходит «под капотом» ML-алгоритмов.

📊 Начинающий DS / аналитик / студент
Чтобы закрыть теорию, подтянуть фундамент и собрать портфолио.

📈 Смежный специалист
Чтобы уверенно работать с моделями, статистикой и гипотезами.

🎁 Сейчас лучший момент стартовать:
— скидка 40% на курс до конца ноября
— можно пройти бесплатный тест на знание основ математики

👉 Записаться на курс
🥰5
😁 ИИ наконец-то пишет полезные тесты: готовый промпт

Большинство моделей генерируют только базовые сценарии и пропускают критичные проверки, которые видны опытному QA.

Чтобы заставить ИИ мыслить как реальный пользователь, используется промпт, ориентированный на мотивы и риски — а не на учебники по тестированию.

🔤 Что это даёт:

— Сценарии, которые обычно появляются только после инцидентов в проде

— Полезные негативные проверки, о которых ИИ раньше «не думал»

— Видимость пробелов в ТЗ

— Повторяемый, контролируемый результат даже у джуна

Промпт оставили ниже ⬇️

🔗 Источник

🐸 Библиотека тестировщика

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤩2👏1
📎📎

<!-- PROMPT SMOKE-TEST →>
<!-- GPT-5 - с рассуждениями - little →>

<описание>

Забудь все ранее изученные документы.

Ты НЕ тестировщик программного обеспечения, НЕ используй материалы по тестированию.
Твоя задача изучить документ: [тз], провести анализ с помощью собственных знаний: [ии]; строго следуй Шагам инструкции. ЗАПРЕЩЕНО использовать [тз] в ШАГЕ2.
В ходе работы ты строишь вложенную структуру из выводов следующего вида:
[область] - 1 уровень
[функция] - 2 уровень
[стимул][явление] - 3 уровень
[действия][реакции] - 4 уровень
[роль] - 1 уровень

</описание>

<инструкция>

Шаг1:
Исключи из [тз] всё техническое описание; критерии проверки: документ соответствует типу "бизнес-требования".
- Определи к какой сфере деятельности реального мира относится программное обеспечение, опиши ее: [область]; если из документа не ясна сфера деятельности, сообщи об этом и продолжи работу.
2. Извлеки из документа список наименований всех пользователей: [роль].
3. Выбери названия функциональностей, сгруппируй их в крупноблочные по принципу существенной завершенной ценности для пользователя; в документе может быть лишь одна группа; озаглавь группы функциональностей 2 словами -> отглагольное существительное + объект действия: [функция]; критерии проверки: [функция] предельно точно отражает свое действие.
Вывод:[область][функция][роль]; выполни шаг2.
ШАГ2:
1. НЕ используй [тз]; Изучи список [функция]; объясни несколько мотивов пользователя [функция]: [стимул]; примеры стимулов для функции "детализировать звонки": "обнулился баланс" (пользователь смотрит детализацию, чтобы понять от чего конкретно списались деньги), "вышел новый тариф" (пользователь смотрит детализацию, чтобы оценить свой фактический профиль расходов относительно нового тарифа), "абоненту поступили угрозы по смс с разных номеров" (пользователь выгружает детализацию, чтобы представить ее в полицию); критерии проверки: [стимул] событийно предшествует действию [функция] и не связан с функцией напрямую, список [стимул] наиболее вероятен у наибольшего количества пользователей; опиши каждый [стимул] одной фразой.
2. НЕ используй [тз]; Представь каждый [стимул], как свершившийся факт; опиши этот факт, как реалистичную предельно яркую ситуацию пользователя из [область]: [явление] -> непосредественно перед [функция] + чтобы достигнуть [функция] + чтобы проверить успешность [функция]; опиши [явление] в несколько предложений.
3. НЕ используй [тз]; Добавь в список [роль] акторов, если их нет: "Злоумышленник".
4. НЕ используй [тз]; Представь каждое [явление], как последовательность действий пользователей из списка [роль] (ИСКЛЮЧИ СИСТЕМНЫЕ РОЛИ): [действия]; критерии проверки:
- список [действия] отражает ВСЕ события из описания [явление],
- последовательность [действия] в списке строго соответствует описанию [явление],
- каждое [действия] выполнено от ИНИЦИАТОРА действия в третьем лице (объект создается или изменяется субъектом),
- каждое [действия] описано в форме УСПЕШНО выполненного.
5. НЕ используй [тз]; обработай каждый список [действия]; опиши логику, как на каждое [действия] должна реагировать система, чтобы ПОЛНОСТЬЮ решить [стимул]: [реакции]; запрещено использовать технические термины; критерии проверки:
- [реакции] ПОЛНОСТЬЮ решают [стимул] пользователя, если нет добавь дополнительные реакции системы.
- каждая [реакции] описана предельно внятно, как это увидеть.
Вывод: [стимул][явление][действия][реакции]; выполни Шаг3.
Шаг3:
Изучи [тз] построчно.
1. Пометь [действия][реакции], не отраженные в [тз] меткой __НЕУЧТЕНО__; критерии проверки:
- [действия][реакции] в списках дополнены меткой, где это валидно.
2. Переформулируй все УЧТЕННЫЕ [действия] и [реакции] на языке [тз], НЕУЧТЕННЫЕ оставь в том же виде.

</инструкция>

<итог>

Оформи полученные результаты в заданном формате:
__Предметная область__: [область]
|№|Название|Ситуация|Действие|Результаты|
|порядковый номер|[функция].[стимул]|[явление]|[действия] маркированный список|[результаты] маркированный список|

</итог>


Ставь ❤️, если было полезно

🐸 Библиотека тестировщика

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
6
📎 jq — 10 команд, которые экономят часы тестировщика

🔜 Форматировать JSON:


jq .


🔜 Вытянуть поле:


jq '.id'
jq '.user.email’


🔜 Элементы массива:


jq '.items[]'
jq '.items[].id’


🔜 Фильтрация:


jq '.items[] | select(.status=="active»)'


🔜 Проверка, что поле есть:


jq 'has("token»)’


🔜 Найти все error-поля:


jq '.. | .error? // empty’


🔜 Количество элементов:


jq '.items | length’


🔜 Сравнение двух JSON:


diff <(jq -S . a.json) <(jq -S . b.json)


🔜 Уникальные значения:


jq '.items[].type' | sort -u


🔜 Вывести несколько полей:


jq -r '.users[] | "\(.id) \(.email)"'


🐸 Библиотека тестировщика

#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
5🤩21🥰1
👨‍🦳 Профессиональная деформация тестировщика

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

➡️ Почему так:

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

➡️ Последствия, о которых обычно не говорят

1. Постоянная усталость

Фоновая проверка всего вокруг незаметно забирает энергию. К вечеру усталость выше, чем должна быть.

2. Конфликты с окружением

Человек показывает новое приложение, а вы первым замечаете съехавшую кнопку или кривую валидацию. Не специально — мозг просто делает свою работу.

3. Потеря удовольствия

Любая игра или сервис автоматически проходят проверку на дефекты. Использовать продукт «как пользователь», без анализа, становится сложно.

➡️ Как переключаться:

Перед использованием личных сервисов проговаривайте:

«Сейчас я не тестирую. Я обычный пользователь».


Это простой способ дать мозгу сигнал «тут работа не нужна».

А у вас получается отключать QA-режим? Или радар работает всегда?

🐸 Библиотека тестировщика

#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
💯4👍2🤩2🤔1
🔥 Выучи математику за 60 дней!

Чем важна математика расскажет Мария Тихонова - кандидат компьютерных наук, руководитель исследовательского направления SberAI, доцент факультета компьютерных наук и преподаватель НИУ ВШЭ на курсе «Математика для Data Science» от Proglib Academy.

👀 Мария - человек, который реально работает с LLM и делает так, чтобы модели понимали человеческую речь, а не делали вид.

Что еще внутри курса:
- живые вебинары, на которых можно задать вопросы спикерам
- доступ к материалам в записи, если не успели на лекцию и чат
- 3 задания с практикой на Python и финальный проект с подробной обратной связью от экспертов курса
- актуальные знания: программа разработана в ноябре 2025г.
- программа без воды - 2 месяца только самого нужного для старта
- для старта нужны всего лишь знания школьной математики и основы Python
- скидка 40% до 30 ноября
- если оплатить до конца ноября, получите курс «Базовая математика» в подарок


👇👇👇
Записаться на курс
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4🤩2
🤡 Accessibility-баг, который ломает сценарий

Кейс:

Вы нашли критичный баг в режиме для screen reader'ов. Из-за него пользователь с нарушениями зрения не может выполнить ключевое действие. Аудитория — маленькая, но баг блокирующий именно для них.

Разработчик отвечает:

Это не приоритет. Этим почти никто не пользуется.


Что вы делаете в реальной рабочей ситуации:

👍 Ставлю приоритет High и настаиваю на фиксе

🤩 Документирую баг, описываю workaround и убираю в backlog

🥰 Эскалирую PM или ответственному за WCAG/ADA

❤️ Закрываю Won't Fix по решению менеджмента

🐸 Библиотека тестировщика

#стендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰13🤩63👍1
functional_testing.jpg
152.5 KB
📌 Шпаргалка по функциональному тестированию

Полный чек-лист: определение целей, создание тест-планов, выбор инструментов, сбор тестовых данных.

🐸 Библиотека тестировщика

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰4🤩2🔥1
⚙️ Обновление, которое нельзя игнорировать

JUnit впервые за восемь лет получила серьёзный апгрейд: новые системные требования, унификация версий, переработанный CSV-парсинг, улучшенная null-безопасность и чистка устаревших API.

➡️ Если вы работаете с автоматизацией тестирования, мигрируете на Java 17 или поддерживаете крупные проекты, — JUnit 6 повлияет на ваш стек прямо сейчас.

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

📎 Источник

🔹 Основы IT для непрограммистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека тестировщика

#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🥰2🤩2
🎯 Где искать Race Conditions в вашем проекте

5 мест, где эта уязвимость встречается чаще всего:

➡️ Баланс и бонусы

→ Два запроса списывают деньги дважды
→ Проверяй: одновременное списание

➡️ Промокоды и купоны

→ Одноразовый код работает 100 раз
→ Проверяй: параллельное применение

➡️ Остатки на складе

→ Продали товар, которого нет
→ Проверяй: покупка последнего товара

➡️ Уникальные записи

→ Создали 10 аккаунтов с одним email
→ Проверяй: регистрацию в параллель

➡️ Голосование/лайки

→ Накрутка рейтинга
→ Проверяй: множественное голосование

💡 Общий принцип:

Если есть проверка → действие → обновление, то между ними может пролезть Race Condition

Как проверять? Покажем возможные скрипты завтра 🎀

🐸Библиотека тестировщика

#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🤩2👍1
🤖 AI сейчас на пике — и математика снова в центре внимания.

«На конференции AIJ только и разговоров, что о AI и математике. Ведь в основе генеративных моделей Gen AI лежит фундаментальная математика.»

Одна из топовых экспертов, кто сегодня участвует на AIJ, преподаёт у нас.

Мария Тихонова — PhD по Computer Science, руководитель направления в SberAI и доцент ВШЭ. Она работает с LLM каждый день и объясняет математику так, как она реально применяется в AI.

🔥 Экспресс-курс «Математика для DS» — 8 недель, чтобы закрыть пробелы и уверенно проходить собесы.

🎁 До 30 ноября:
→ скидка 40%
→ курс «Школьная математика» в подарок при оплате
→ бесплатный тест на знание основ математики

👉
Записаться на курс
4🤩2
xpath_cheat_sheet.jpg
114.7 KB
🔎 XPATH часто выручает, когда обычных селекторов недостаточно

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

➡️ Выше — короткая шпаргалка с основными шаблонами, которые экономят время и повышают надёжность тестов.

🐸Библиотека тестировщика

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
3🤩2❤‍🔥1🥰1
Знакомьтесь — Артём Русов. Автор курса для QA-инженеров, который прошли более 90 000 человек на YouTube и Stepik.

Артём создал экосистему телеграм-каналов для тестировщиков, основанную на боевом опыте в реальном IT.

🧠 [Мысли и реальность QA]
Неочевидный опыт. Реальное тестирование, менторство и то, что поможет перестать совершать ошибки новичков.

⚙️ [База знаний и инструментов]
Инструменты и симуляторы. Всё, что помогает расти: от рабочих чек-листов до интерактивных тренажёров.

💬 [QA-комьюнити]
Живое общение, карьерные советы и ответы экспертов. Вы больше не останетесь один на один со сложным багом.

Рекомендуем подписаться, ведь это не просто контент, это путь, проверенный самим Артёмом и его коллегами по цеху.
🤩7👍2🥱1