Интересное
В этой статье я поделюсь некоторыми мыслями и соображениями с людьми, которые увлекаются как программированием, так и тестированием, и которые, возможно, рассматривают аналогичный путь.
Тесты кэширования в Playwright
Рассмотрим простое демо-приложение, которое использует кэшированные данные для поддержания работоспособности в автономном режиме, и покажем, как написать автотесты Playwright для проверки этого поведения.
Как индустрия тестирования оказалась в кризисе
С тех пор, как на конференции по тестированию STARWest Джеймс Уиттакер (тогда он работал в Google) объявил, что «тестирование мертво» и что тестировщики больше не нужны, прошло 15 лет.
Также
Как справиться с падениями ChromeDriver в Kubernetes: история об устойчивой автоматизации
Мне, как инженеру-тестировщику, поставили задачу разработать автоматизированные UI-тесты (пользовательского интерфейса) для сложного веб-приложения с динамически генерируемым содержимым. Это означает, что у веб-элементов, с которыми мне нужно взаимодействовать, зачастую отсутствуют статические атрибуты, на которые можно легко сослаться. В результате нужно использовать более сложные стратегии поиска и взаимодействия с этими элементами. Попрыгав через ряд колец локализации веб-элементов и убедившись, что я кликаю по нужным кнопкам и имею доступ к правильным встроенным фреймам, я закончил работу над тестами.
Веб-приложение запускается, как отдельная K8S (Kubernetes) копия для каждой клиентской компании, на отдельном кластере K8S, где ресурсы этой конкретной копии сгруппированы в пространства. UI-тесты автоматически запускаются перед крупными обновлениями версий веб-приложения, а также сразу после, чтобы проверить, что обновление не повредило работе приложения. Это было достигнуто через контейнеризацию кода UI-тестов в образ Docker, его отправку в репозиторий организации и использование задачи K8S для деплоя тестов в конкретном пространстве копии перед обновлением и сразу после него.
Образ Docker, разворачивающийся на сотнях ресурсов, должен быть легким, поэтому тесты запускались в окружении Linux. Запуск в Linux без поддержки дисплея означал, что тесты не могли открыть обычный браузер и вынуждены были использовать режим без графического интерфейса. Вся разработка и тестирование в компании проводятся в Chrome, и поэтому я, естественно, использовал ChromeDriver для запуска настройки Chromium в деплое контейнера. Сервер, отслеживающий расписание обновлений, использовался для запуска тестов в конкретной копии веб-приложения, а тесты возвращали на сервер JSON-отчет о результатах.
Новости QA за второй квартал 2025 года
Тестирование почты, Redis, совместимости, составление ИПР, TDD и BDD, AI для автотестов. Подборка Software-Testing.ru
Примеры тест-кейсов для гамбургер-меню
Тестирование гамбургер-меню — важная часть UI-проверок веб-приложений. В статье собраны базовые и расширенные тест-кейсы: от простых кликов до адаптивности и загрузки.
UI Mode в Playwright — это мощный инструмент для визуального анализа и пошаговой отладки тестов с интуитивным интерфейсом. В статье разбираем все ключевые функции: от фильтрации тестов и сравнения скриншотов до анализа сетевых запросов и работы с логами. Узнайте, как эффективно находить и исправлять ошибки в автотестах с помощью встроенных возможностей Playwright.
T-shaped тестировщики: ваш секрет ускорения веб-проектов в 2 раза
Ключевые задачи в заказной веб-разработке: предсказуемые сроки, высокое качество продукта, эффективное использование ресурсов, удовлетворенность клиента и способность брать сложные/инновационные проекты. Традиционная модель, построенная на »bug hunters» (специалистах с узким фокусом только на поиск дефектов без понимания контекста) и изолированных автоматизаторах, становится главным тормозом. Почему?
От хаоса к системе: фасилитация и SMART-цели
В первой части мы разобрали важные вопросы относительно требований. Сегодня поговорим о фасилитации – как собрать разрозненные мнения команды в единую систему. И о SMART-целях – чтобы «хочу, чтобы покупали» превратилось в измеримый результат.
End-to-End тестирование: когда приложению нужен детектив, а не смотритель музея
В 2025 искушенные пользователи безжалостно уходят после первой же ошибки, поэтому в заказной разработке доверие клиента – самая хрупкая и ценная валюта. E2E-тестирование помогает ее не просто сохранить, но и приумножить. Оно ловит те коварные проблемы, что рождаются на стыках миров – вашего кода и легаси-системы клиента, нового фича-бренча и старой базы данных, идеального стейджинга и непредсказуемого продакшена.
Хабр
Тестировщики могут стать связующим звеном между отделами
Как улучшить коммуникацию с разработчиками, аналитиками, маркетингом и бизнес‑партнерами, учитывая разный возраст, уровень образования и опыт.
Автоматизация рутины в Postman: 10 pre-request скриптов, которые мне упростили жизнь
В этой серии из двух статей мы пошагово разберем 10 самых полезных pre-request и 10 post-request скриптов, которые, по моему опыту, являются наиболее востребованными при тестировании API, особенно для начинающих QA инженеров. В этой и следующей статьях выполнено ранжирование этих скриптов по их важности и частоте использования, чтобы вы могли сразу осваивать и применять на практике самые необходимые из них. Каждый из 20 скриптов будет сопровождаться простым, понятным примером кода на JavaScript, готовым к применению, а также примерами из практики.
Чтобы завтра отчет был на столе (автоматизация и TMS)
На QA-митапе опытные автоматизаторы из YADRO, Avito.Tech и Т-Банка, а также создатели тест-менеджмент системы TestY обсудили, как вести отчетность в тестировании без лишнего напряжения и какие инструменты должны стать «лучшими друзьями QA-инженера».
Лучшее сообщение об ошибке — это его отсутствие
Тестированием занимаюсь около 20 лет. До Ozon занимался проверкой качества ПО таких компаний как Smartbear, Evernote. За это время в результате проб и ошибок, анализа обратной связи от пользователей, удалось найти решения, которые смогли уменьшить негатив от сообщений об ошибках.
Подмена входящего трафика: скрытые, но крайне полезные фичи браузера Chrome
У нашего продукта микросервисная архитектура и Web UI. Часто при тестировании фронтенда я имею дело с ещё не дописанной функциональностью API, или же с ситуациями, когда в контракте API есть расхождения с ожиданиями фронтенда.
Хорошо, когда можно заносить моки в окружение или использовать снифферы с возможностью подмены трафика. Но, по разным причинам, не всегда бывает такая возможность. Что остаётся? Ждать, пока разработчик приведёт API в порядок? Но ведь фронтенд-часть готова уже сейчас и ждёт своего тестировщика…
Решение нашлось под рукой — в моём браузере Chrome. Если вы пользуетесь Chrome, то, вероятно, открываете DevTools. Чаще всего нам хватает вкладок Elements, Console, Network и Application. Но так ли прост DevTools? С этой статьи я начинаю цикл коротких руководств, посвящённых скрытым, но крайне полезным фичам Chrome. И начну с подмены входящего трафика.
Как вырастить QA-команду, которая не боится будущего
В мире QA, как и в любом другом процессе разработки, всегда важно не только следить за текущими результатами, но и стратегически развивать команду. Почему одни QA-команды становятся основой успешных продуктов, а другие остаются на месте, так и не достигнув желаемого результата? В этой статье мы разберёмся, как правильно формировать команду, какие навыки и роли должны быть в ней, а также как выстроить систему, которая будет способствовать не только качественному тестированию, но и постоянному росту специалистов.
Как улучшить прогоны автотестов при помощи карантина
Привет, меня зовут Андрей и я автоматизатор (остальные в кругу хлопают в знак сочувствия) в hh.ru. В статье расскажу, как мы ввели карантин автотестов, повысив стабильность релизов и скорость доставки.
Как тестировать хуки в React с @testing-library/react-hooks
Сегодня рассмотрим, как.
Из чата в TMS: Как Telegram-бот с GPT ускоряет создание и выполнение тестов
В текущих реалиях тестировщики часто остаются в тисках рутины: трудозатраты на создание тест-кейсов и их ручной импорт в TMS (системы управления тестированием) съедают до 40-60% рабочего времени QA-инженера (по данным World Quality Report). Это не просто неэффективно, это тормозит весь релизный цикл.
Но что, если рутину можно переложить на ИИ, не ломая процессы? Представьте: вместо часов кропотливой работы — готовые тест-кейсы за минуты, сразу загруженные в вашу TMS (Allure, Zephyr, TestLink, Test IT и др.) без танцев с авторизациями, VPN и десятками открытых вкладок.
В эпоху AI стало модно писать посты, используя его возможности. Однако, я — старовер и до сих пор доверяю прежде всего своим мозговым извилинам и пальцам, которые с ними связаны мириадами нервных волокон, а также синапсами, пропускающими посредством нейромедиаторов через себя сообщение, куда именно следует какому пальцу ткнуть, чтобы на экране появилась нужная буква.
Как мы построили систему автотестов с 5 000+ проверками
Мы вышли на рынок четыре года назад, в условиях, когда уже сформировалась сильная конкуренция, и облачные платформы были далеко не новинкой. Поэтому с самого начала для нас критичной стала скорость доставки изменений — чтобы не отставать, а опережать. Но когда твой продукт — чья-то продовая инфраструктура, нельзя позволить себе нестабильность.
Чтобы не выбирать между скоростью и стабильностью, мы сразу сделали ставку на автоматизацию и автотесты. Это позволило команде быстро выпускать новые фичи, не боясь сломать что-то важное, и при этом держать контроль над качеством на каждом уровне.
Скриншот-тестирование фронтенда: руководство по применению
Часто приходилось видеть тесты опосредовано проверяющие визуальное отображение html-элемента, что-то в стиле expect(elem.classList.contains(«visible»)).toBe(true). Говорить о надежности таких тестов конечно-же не приходится, так как изменив содержимое css-селектора стилизующий данный класс, данный тест все еще будет зелёным, несмотря на то что по факту элемент будет скрыт.
Результат от подобных тестов вполне ожидаемый. Обновили версию UI-библиотеки и на всем проекте поехала верстка? Тесты зелёные. Случайно переопределили CSS-переменную и теперь вместо приятной тщательно подобранной дизайнером гаммы цветов вы видите лишь кислотно-вырвиглазную солянку? “Бывает, надо было ручками протестировать” — скажет менеджер.
Посмотреть
Пишем тесты на race conditions, deadlocks и остальной concurrency hell ⏱️45 минут
Асинхронный Python помогает справляться с высокой нагрузкой, но приносит новые, коварные баги. В этом докладе мы разобрали самые опасные ошибки: гонки данных, дедлоки, зомби-корутины и потерянные исключения. Нина показала, почему стандартные тесты не спасают, и как писать тесты, которые действительно находят проблемы. На реальном примере разобрали, как отладить сложные ошибки в асинхронном коде. Увидели, какие баги могут разрушить ваш прод и как предотвратить их появление.
Будет полезно разработчикам, работающим с FastAPI, Django, AIOHTTP и другими асинхронными фреймворками. Смотрите, если хотите, чтобы ваш продакшен работал стабильно.
Playwright TypeScript — Page Object Model (POM) ⏱️40 минут
In this video, learn about the Page Object Model, also known as POM, in Playwright with TypeScript. Using the POM pattern helps keep your test automation code organized and reusable. We’ll also discuss the DRY and KISS principles for efficient coding.
Месяц собесов на позицию QA Auto ⏱️1 час
Консультация.