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

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

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
📎📎

<!-- 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
This media is not supported in your browser
VIEW IN TELEGRAM
🐛 TOCTOU: уязвимость, которая появляется в доли секунды

Time-of-Check, Time-of-Use — когда между проверкой и исполнением проходит небольшая пауза, и состояние системы успевает измениться.

Это один из самых частых вариантов race condition в реальных продуктах.


1. Проверка: товар есть
2. [0.3 сек — другой купил]
3. Покупка → товара уже нет


➡️ Где искать TOCTOU:

— платежи и списания
— промокоды и бонусы
— бронирования / овербукинг
— остатки на складе
-- лимиты и квоты API

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

— Запускайте одно и то же действие одновременно в нескольких вкладках или окнах.

— Либо отправляйте параллельные запросы (JMeter, k6, Postman Runner).

— Система обязана корректно обработать только один из них.

💬 Сталкивались с такими дефектами в ваших проектах?

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

#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰2🤩21
important_function_in_python.jpg
114.4 KB
📌 Полезная шпаргалка по Python

Знание простых функций Python облегчает автотесты и работу с данными.

🔢 Это минимальный набор, который нужен для повседневной работы: строки, списки, циклы, условия и простые преобразования данных.

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

#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
4🤩2👍1
🛠 Как найти Race Condition за 5 минут

Даже без навыков программирования:

📍 Способ 1: Postman Collection Runner

— Создайте запрос (применение промокода/списание баланса)
— Откройте Collection Runner
— Поставьте Iterations: 50
— Поставьте Delay: 0ms (важно!)
— Запустите

🈁 Если больше 1 запроса успешны → баг найден!

📍 Способ 2: Консоль браузера

— Откройте DevTools (F12)
— Во вкладке Console вставьте:


for(let i=0; i<50; i++) {
fetch('/api/promo', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({code: 'TEST'})
})
}


— Проверьте результаты во вкладке Network

⚡️ Запускайте тесты несколько раз! Race Condition может не проявиться с первого раза.

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

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

#разбор_полетов
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4🥰2