#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🥰2🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5🥰3🌚1
В Playwright это базовый способ не проходить логин заново в каждом тесте.
Смысл простой:
один раз выполняете аутентификацию, сохраняете состояние браузера (cookies, localStorage, иногда sessionStorage через дополнительные приёмы), а потом используете это состояние в других тестах.
1. Тесты становятся быстрее
если в каждом тесте заново открывать страницу логина, вводить данные и ждать редиректы — вы тратите время не на проверку фичи, а на повторяющийся технический шаг
2. Меньше flaky
логин через UI — одна из самых нестабильных частей E2E:
редиректы, captcha, задержки API, двухфакторка, медленная загрузка страницы
когда авторизация вынесена в отдельный setup и состояние уже готово, тест идёт сразу в нужный сценарий
3. Тесты проще поддерживать
если меняется логика входа, вы правите один setup, а не десятки тестов
4. Это лучше для параллельного запуска
если правильно организовать storage state, можно безопасно запускать тесты параллельно и не упираться в постоянный UI-логин
storageState — не серебряная пуля.
Если все тесты используют один и тот же аккаунт, а сценарии меняют данные пользователя, могут начаться конфликты.
Например:
— один тест очищает корзину
— второй ожидает, что в корзине есть товар
— третий меняет профиль
— отдельные аккаунты для разных воркеров
— отдельные storage state для ролей
— изоляция данных между тестами
Правильный подход в Playwright — вынести аутентификацию в setup, сохранить storageState и переиспользовать его в тестах. Это ускоряет прогоны, уменьшает flaky и упрощает поддержку. Но если тесты меняют пользовательский state, нужно использовать разные аккаунты или разные storage state для изоляции.
👍 — полезный разбор
🔥 — сделать ещё 5 таких вопросов по Playwright
#cтендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👏5👍3❤1🥰1
В классической разработке пытаются всё зафиксировать заранее: сначала требования → потом реализация → в конце тестирование. Но реальность всегда ломает этот план.
Пользователи ведут себя иначе, бизнес меняет приоритеты, появляются новые идеи и продукт начинает устаревать ещё до релиза.
Разработка идёт короткими итерациями (спринтами), и в каждой из них команда делает небольшой, но законченный кусок продукта.
1) Делают интернет-магазин: сначала реализуют каталог, пользователи начинают им пользоваться и быстро выясняется: фильтры неудобные. Команда не откладывает это на потом, а меняет подход уже в следующем спринте.
2) Дальше делают корзину и тут становится понятно, что пользователям важнее быстрый заказ, чем сложный процесс оформления. Добавляется новый сценарий, которого изначально не было.
3) К моменту реализации оплаты система уже учитывает реальные сценарии, а не гипотезы. Продукт не просто дописали, а постепенно адаптировали под пользователей.
Изменения не копятся до конца проекта, ошибки не доезжают до релиза, команда постоянно сверяется с реальностью, а не с устаревшим ТЗ.
В результате продукт получается не как задумывали год назад, а таким, каким он действительно нужен сейчас.
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2⚡1🥰1
Представьте конвейер на фабрике:
1. Разработчик делает коммит → сырьё попадает на линию.
2. Код собирается и проходят первые юнит-тесты → проверка деталей.
3. Интеграционные тесты → смотрим, как части работают вместе.
4. Деплой в тестовую среду → испытание прототипа.
5. Релиз в прод → запуск в массовое производство.
6. Мониторинг → отдел качества следит, чтобы всё работало.
— добавлять smoke/регрессионные тесты прямо в pipeline;
— останавливать «линию», если баг проскочил;
— следить, чтобы сам конвейер не стал узким местом.
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2🥰2
Automation QA получает на 20–40% больше, потому что уже частично конкурирует с разработчиками.
Рост есть, но: мидл с автоматизацией часто зарабатывает больше простого сеньора.
Чем ближе к реальной разработке — тем выше вилка.
Платят заметно больше, чем аутсорс и маленькие студии.
Открывает доступ к зарубежным проектам и валютным зарплатам.
Но удалёнка частично выровняла рынок, сейчас можно работать из региона на столичную вилку.
📌 Как проверить себя:
— смотрите вакансии @testerrjob
— сравнивайте несколько источников
— обновляйте ожидания раз в 6–12 месяцев
Если вы не знаете свою цену — её за вас определит работодатель.
#карьерный_трек
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👏3🤩2🥰1
Что внутри:
— структура тестов (describe, beforeEach, afterAll)
— все основные matchers без лишней воды
— работа с моками (fn, spyOn, mockReturnValue и т.д.)
— async-тесты (promises, async/await, done)
— таймеры, snapshot’ы, data-driven тесты
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤩3🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
GitHub огромный и найти в нем нужный инструмент сложно. Интузиасты придумали максимально простой формат — свайпать репозитории!
— находить инструменты для тестирования (Playwright, Cypress, утилиты)
— смотреть, как в реальных проектах пишут автотесты
— искать примеры для pet-проектов
— быстро находить полезные репозитории без долгого поиска
— фильтры по языкам и темам
— тренды (день / неделя / месяц)
— каждый проект показывается один раз
— можно сразу открыть README и оценить проект
#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🥰3🤩3
Junior QA engineer — 80 000 ₽, гибрид (Москва)
QA Manual Specialist — ≈ 100 000 — 150 000 ₽, гибрид (Москва)
QA Specialist — гибрид (Турция)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🤩3🥰2
Мы привыкли думать, что тестирование — это про проверки и факты, но есть нюанс:
И тогда возникает вопрос:
почему мы вообще решаем «релизить»?
QA каждый день опирается не только на проверки,
но и на допущения:
— что требования корректны
— что стенд похож на прод
— что тесты покрывают критичное
И часть из этого мы просто принимаем «на доверие».
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4😁2👍1🥰1
Нашли подробный гайд по тестированию, который можно использовать как шпаргалку и базу знаний 👇
Что внутри:
— основы тестирования (SDLC, STLC, принципы)
— виды тестирования (функциональное, нефункциональное, перфоманс)
— тест-менеджмент (баг-репорты, тест-кейсы, регресс)
— база по автоматизации (Cypress)
— примеры из реальной практики
👍 — заберу себе
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤩3🥰2
🧬 Что такое Mutation testing
Обычные метрики покрытия (coverage 90%) ничего не говорят о качестве тестов. Код можно покрыть, но не проверить. Mutation testing проверяет не код, а тесты.
Как это работает:
Инструмент специально вносит мелкие изменения (мутации) в код:
Если после этого тесты всё равно проходят — значит, они не ловят ошибку.
🔜 Пример:
Тест проверяет age = 18.
Мутация меняет код на > — тест всё ещё проходит.
Вывод: тест слабый, не покрывает граничные случаи.
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#теория_на_пальцах
Обычные метрики покрытия (coverage 90%) ничего не говорят о качестве тестов. Код можно покрыть, но не проверить. Mutation testing проверяет не код, а тесты.
Как это работает:
Инструмент специально вносит мелкие изменения (мутации) в код:
🟣 > заменяет на <🟣 == на !=🟣 убирает строки, инвертирует условия
Если после этого тесты всё равно проходят — значит, они не ловят ошибку.
def is_adult(age):
return age >= 18
Тест проверяет age = 18.
Мутация меняет код на > — тест всё ещё проходит.
Вывод: тест слабый, не покрывает граничные случаи.
#теория_на_пальцах
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🥰2🤩1
Как проверить, что сообщение в брокере (Kafka / RabbitMQ) не потерялось, если продюсер отправил его, а консюмер не получил?
#стендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩4🥰2🤔2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩3❤2🥰2
HTTP 200 от продюсера не гарантирует доставку → это только факт отправки
В брокерах сообщений важны:
— факт записи в очередь/топик
— подтверждение доставки (ack в RabbitMQ / offset commit в Kafka)
— состояние консюмера
👉 Сообщение может:
— не дойти до брокера
— записаться, но не обработаться
— обработаться, но не зафиксироваться
💡 Поэтому проверка всегда на уровне брокера + консюмера, а не только API
👍 — знал/а
🔥 — стало понятнее
#стендап_qa
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍5🤩2🥰1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14💯4🤩2🥰1😢1
english-for-it-specialists.pdf
187.7 KB
Можно знать грамматику, но теряться на простых словах вроде verify или deploy. В работе важен не уровень языка, а базовая IT-лексика, которая встречается каждый день.
— действия: deploy, debug, install, update, verify, restore
— базовые операции: copy, paste, delete, connect, reboot
— разработка: compile, implement, integrate, execute
— тестирование: regression testing, unit testing, acceptance testing
— окружение: OS, runtime, IDE, database, server software
— сеть: DNS, router, bandwidth, latency
С вас
#артефакт
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🤩3🥰2😁1
💡 Почему unit-тесты не ускоряют регресс
В большинстве проектов юниты есть, но QA на них не опирается. Причина в том, что их не видно, непонятно что покрыто и как это использовать. По итогу одни и те же проверки живут и в коде, и в ручном регрессе.
В статье разобран кейс, как это починили:
🔴 Юниты вывели в Allure, связали с тест-кейсами и встроили в общий прогон. После этого они перестали быть внутренней историей разработчиков и стали частью QA-процесса.
📌 Полезно, если у вас:
— юниты есть, но вы их игнорируете
— регресс занимает слишком много времени
— непонятно, что уже покрыто
🔗 Ссылка на гайд
📍 Навигация: [Вакансии]
🐸 Библиотека тестировщика
#тест_драйв
В большинстве проектов юниты есть, но QA на них не опирается. Причина в том, что их не видно, непонятно что покрыто и как это использовать. По итогу одни и те же проверки живут и в коде, и в ручном регрессе.
В статье разобран кейс, как это починили:
— юниты есть, но вы их игнорируете
— регресс занимает слишком много времени
— непонятно, что уже покрыто
#тест_драйв
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4🤩3🥰2
Что произойдёт, если не очищать тестовые данные между тестами?
— один тест может “сломать” другой
— появляются случайные падения (flaky tests)
— сложно понять, где реальная ошибка
— результаты в CI и локально могут отличаться
— базы данных (не очищаются записи)
— пользователи/сессии
— кэш и cookies
— файлы и временные данные
👍 — знал/а
🔥 — стало понятнее
#карьерный_трек #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5🥰2
🤖 Ваш ИИ-агент съедает бюджет на токены и падает при сбоях API?
Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах.
Рынок требует инженеров, которые умеют:
• Контролировать метрики и качество ответов;
• Эффективно работать с RAG-архитектурой;
• Строить системы, готовые к реальным нагрузкам.
Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др.
🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!
🔥 Забрать скидку и изучить программу.
Пора переходить на новый уровень. Открыли продажи курса по AgentOps — управлению ИИ-агентами в рабочих процессах.
Рынок требует инженеров, которые умеют:
• Контролировать метрики и качество ответов;
• Эффективно работать с RAG-архитектурой;
• Строить системы, готовые к реальным нагрузкам.
Обучение займет 6-12 недель под руководством практиков с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, МТС, Huawei, Raft и др.
🎁 Можно подождать, пока про AgentOps начнут говорить все. Или зайти сейчас — НА 30% ДЕШЕВЛЕ!
Работа с AI начинается с систем.
Системы — с AgentOps.
🔥 Забрать скидку и изучить программу.
🔥2