Playwright: E2E‑тесты на JavaScript, которые не флакуют
Привет, Хабр!Flaky‑тесты — бич E2E‑автоматизации. Команда перезапускает пайплайн, пока не позеленеет. Доверие к тестам падает. В итоге CI‑статус игнорируется, и баг всё равно попадает в прод.Playwright — фреймворк от Microsoft для E2E‑тестирования — был построен с нуля, чтобы решить именно эту проблемную. В нем есть автоматические ожидания, изоляция через Browser Contexts и встроенный тест‑раннер. Разберем, чем он отличается от Selenium и Cypress, и как писать тесты, которые не падают от ветра.Почему тесты флакуют: корень проблемы
Как меняются метрики контроля при переходе от чат‑ботов к агентным системам
Переход от простых чат‑ботов к автономным агентным системам требует новых метрик контроля и понимания, насколько эффективно агенты взаимодействуют друг с другом и насколько точно они используют внешние инструменты.Почему старые подходы ломаютсяКогда у нас не один LLM‑чат, а целая группа агентов, которые сами вызывают функции и общаются между собой, старые методы оценки не работают. Нужно измерять две вещи: синергию (помогают ли агенты друг другу решить задачу или просто гоняют токены по кругу);
Процесс тестирования: от анализа до завершения
Всем привет, меня зовут Сергей Прощаев, и в этой статье я расскажу про процесс тестирования программного обеспечения.Я Tech Lead и руководитель направления Java | Kotlin разработки в FinTech, а также преподаю на курсах разработки и архитектуры в OTUS. За годы работы я видел десятки команд, которые считали, что тестирование — это просто «прогнать тесты и сдать отчёт». Это опасное заблуждение. В прошлой статье мы разбирали природу дефектов и то, как они проникают в код. Сегодня поговорим о том, как выстроить вокруг них системную защиту — процесс тестирования.
76 открытых уроков апреля: от OpenAPI и Symfony до SQL, SIEM и Spark
Выбрать свое направлениеПрограммированиеАрхитектураИнфраструктураИнформационная безопасность
AbortController в Node.js: отмена чего угодно
Привет, Хабр!У Node.js исторически была проблема с отменой операций. Запустил HTTP‑запрос — жди, пока не ответит или не упадёт по таймауту. Читаешь огромный файл — читай до конца. Запустил пачку промисов — сиди, смотри, как они доедают ресурсы. Механизма сказать «стоп, хватит» в языке просто не было. Кто‑то мастерил свои костыли на флагах, кто‑то использовал библиотеки вроде p-cancelable, но единого стандарта не существовало.AbortController эту проблему решает. Пришёл он из браузерного API (там его придумали для отмены fetch
Из ИТ в бизнес или зачем бизнес‑архитектура корпоративному архитектору
Статья подготовлена в рамках курса «Директор информационных технологий / CIO».Долгие годы я занимаюсь бизнес‑архитектурой, и в последние годы к этой теме появился интерес со стороны корпоративных архитекторов. В этой статье я попробую разобраться, какие преимущества для организации в целом, и для ИТ в частности, можно получить разобравшись с бизнес‑архитектурой организации.Что же такое бизнес‑архитектураЕсли посмотреть какие инструменты сейчас в моде у корпоративных архитекторов, то можно увидеть Capability Map (карту способностей) и
12 полезных материалов HubSpot по нейросетям для бизнеса, маркетинга и продаж
Компания HubSpot работает на рынке маркетингового софта уже более двадцати лет. За это время она стала одним из главных источников практических материалов по маркетингу, продажам и работе с клиентами.Отдельное направление их исследований связано с использованием искусственного интеллекта. Каждый год команда HubSpot выпускает отчёты, гайды и подборки инструментов, в которых разбирает, как именно компании применяют нейросети в реальной работе.
Ключевые принципы процессного подхода
Материал подготовлен для будущих студентов курса «BPMN: Углубленная практика».Я многие годы работаю в процессной теме, и как консультант, и как руководитель внутреннего процессного подразделения, и в этой статье я решил в краткой и максимально структурированной форме рассказать, что же такое процессный подход. Процессное регулирование (Process Governance) на уровне организации
Как писать изолированные интеграционные тесты с Testcontainers
Есть две основные категории тестов: модульные (или юнит-тесты) и интеграционные. Модульные тесты — маленькие, быстрые и изолированные. Они проверяют одну единицу кода, обычно функцию или метод, отдельно от остальной системы. Интеграционные тесты, наоборот, проверяют, как разные части системы работают вместе. Обычно они крупнее и могут выполняться медленнее, чем модульные. Поскольку интеграционные тесты охватывают больше сценариев, для них требуется более сложная подготовка окружения, и это препятствие приходится преодолевать.

