QA❤️4Life | Testing | Тестирование ПО
7.91K subscribers
1.14K photos
209 videos
38 files
3.31K links
⚡️QA❤️4Life — достойный канал для охотников за багами: шпаргалки, instant-гайды, AI-news и AI-tools, хаки и мемы без воды. Джуны апают скилл, синьоры экономят время — все в плюсе. Канал ведёт Head of QA
📩 Связь с автором @Eugeniusz_1
Download Telegram
🧪 Мок, стаб или фейк – ты точно знаешь разницу?

➡️ «Замокаем» – универсальный ответ на любой вопрос об автотестах. Внешний API тормозит? Замокаем. База не готова? Замокаем. В итоге тесты либо падают от любого рефакторинга, либо зелёные – а на проде всё ломается. Причина в том, что stub, mock и fake – это разные инструменты с разными задачами.

В чём реальная разница:

🔹 Stub – возвращает заранее подготовленный ответ. Нужен, когда важно проверить, как система обработала контролируемый ответ зависимости. Пример: FastAPI-заглушка вместо реального сервиса склада всегда отдаёт {"status": "IN_STOCK"} – и тест проверяет, как сервис заказов на это реагирует
🔸 Mock – фиксирует историю вызовов. Нужен, когда важно не только что вернула зависимость, но и как именно система к ней обращалась: сколько раз, с какими параметрами. Пример: мок SMS-шлюза с эндпоинтом /_internal/history – тест проверяет, что SMS ушло ровно один раз и без дублей
🔹 Fake – упрощённая, но рабочая реализация. Есть состояние и логика, но не для продакшена. Пример: SQLite :memory: вместо Postgres – данные реально сохраняются и читаются, без харкода ответов

🔸 Как не путаться: прописал ответ вручную – стаб. Проверяешь факт вызова – мок. Используешь лёгкую рабочую замену – фейк


🔗 Моки, стабы и фейки: в чём разница и что выбрать для автотестов – Habr

#QA #Тестирование #Тестировщик #IT #Testing #Tester #QA4Life #Автоматизация #Python #Mock
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🔥 Курс по автоматизации на Python от канала QA❤️4Life


☝️ ВНИМАНИЕ !!! ИЗ-ЗА ОТПУСКА СПИКЕРА КИРИЛЛА, ТРАНСЛЯЦИЯ ПЕРЕНОСИТСЯ НА СЛЕДУЮЩУЮ НЕДЕЛЮ.

УРОК №14 планируем провести в следующую 📆 среду
17 июня в 12.00 по МСК
.

До встречи в эфире.

💣 Тема: UI автотесты на Playwright часть 2...


🔴 Запись как всегда будет в нашем канале

И не забываем своими реакциями поддерживать нас за создание крутого курса!

#python #автоматизация #курс #урок14
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
🔥 Курс по автоматизации на Python от канала QA❤️4Life


☝️ ВНИМАНИЕ !!! ИЗ-ЗА ОТПУСКА СПИКЕРА КИРИЛЛА, ТРАНСЛЯЦИЯ ПЕРЕНОСИТСЯ НА СЛЕДУЮЩУЮ НЕДЕЛЮ.

УРОК №14 планируем провести в следующую 📆 среду
17 июня в 12.00 по МСК
.

Приносим свои извинения и до встречи в эфире.

💣 Тема: UI автотесты на Playwright часть 2...


🔴 Запись как всегда будет в нашем канале

И не забываем своими реакциями поддерживать нас за создание крутого курса!

#python #автоматизация #курс #урок14
Please open Telegram to view this post
VIEW IN TELEGRAM
6🫡2
🔌 WebSocket API автотесты на Python: не hello world, а production

Отличная статья на Хабре — Никита Филонов разбирает, как тестировать REST + WebSocket вместе, а не по отдельности.

В чём проблема?
Обычно WebSocket тестируют изолированно: подключились → отправили → получили. HTTP живёт отдельно. Но в реальных сервисах это один сценарий: пользователь регистрируется через REST, подключается к WebSocket, отправляет сообщение, остальные получают событие.

🔑 Ключевая идея — контрактный подход
Тесты проверяют не «пришла строка из сокета», а модель взаимодействия. Все входящие/исходящие события — Pydantic-модели. Никаких json.loads и ручных проверок ключей.

🏗 Архитектура тестового слоя:
• Базовый HTTP-клиент → предметные клиенты (UsersHTTPClient, SystemHTTPClient)
• Базовый WebSocket-клиент → ChatWSClient
• Все запросы через Allure-шаги
• URL из pydantic-settings, не хардкодятся

💡 Что особенно полезно:
1. Разделение методов на *_api (возвращает Response) и высокоуровневые (возвращают Pydantic-модель)
2. WebSocket-события — единая модель WSOutgoingEvent с type + опциональными полями
3. Faker для генерации тестовых данных прямо в схемах
4. Сброс состояния через POST /api/reset в autouse-фикстуре
5. Модели в tests/ не импортируются из app/ — тесты как независимый потребитель API

📦 Стек: FastAPI + pytest + pytest-asyncio + httpx + websockets + allure-pytest + Faker

👉 Читать полностью на Хабре

#QA #Тестирование #Python #WebSocket #API #Автотесты #FastAPI #QA4Life
Automation QA!

🎯 Хотите стать Automation QA? Научиться писать автотесты на Java, JavaScript или Python (и использовать современные AI-инструменты!), а также получить реальные навыки для старта в IT? Вы в правильном месте! Добро пожаловать в RedRover.school.

📅 Старт курса: , 17 августа! Вводная лекция была в 19:00 по времени Калифорнии (PT).

🌍 Нет возможности быть онлайн из-за разницы во времени? Лекции (включая вводную) записываются и оперативно публикуются - смотрите их тогда, когда вам удобно!

🔗 Как присоединиться? Всё обучение и общение проходят в Slack. Актуальную ссылку-приглашение вы найдете в нашем Telegram-канале (ссылка в первом комментарии 👇). Переходите и добавляйтесь в канал

☝️ Больше информации о школе, курсе и ответы на вопросы - в канале #f_a_q и в документе https://github.com/tereshenkov29/RedRoverSchool.Help

👋 Ждем вас на курсе и желаем всем студентам успешного и продуктивного обучения!

ℹ️ P.S. Хотите присоединиться, но прочитали этот пост после начала занятий? Не переживайте - вы можете присоединиться позже и нагонять лекции в записи. Или приходите на наш следующий поток (предварительно - в январе 2027 года).

💎 Кому пост оказался полезен не жалейте 🔥 и ❤️

#QAAutomation #FreeCourse #IT #Java #Python #JavaScript #RedRoverSchool #КарьеравIT #БесплатноеОбучение #ТестированиеПО #СтартКурса
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥6