MadeStone

Кодекс Автотестов в Яндекс.Лавке: Как Организовать Автоматизацию | Playwright + Best Practices

Просмотры:
0
Дата загрузки:
06.10.2026 18:30
Длительность:
01:48:16
Категория:
Разное

Описание

📄 Кодекс автотестов Яндекс.Лавки (основные тезисы): https://t.me/qabigtech
💬 Чат поддержки QA: https://t.me/+NT-IOeLALxszN2Zi

Милена — фронтенд-разработчик Яндекс.Лавки, создатель "Кодекса по написанию автотестов" — свода правил, который помог команде вырастить покрытие с 0 до 4000+ автотестов на Playwright.

В этом подкасте разбираем:
✅ Как создать кодекс автотестов и внедрить его в команду
✅ Почему Playwright лучше Selenium
✅ Как организовать структуру тестов без Page Object
✅ Моки vs End-to-End: когда что использовать
✅ Визуальное тестирование и работа со скриншотами
✅ CI/CD, параллелизация, борьба с флапами
✅ Как продать автоматизацию руководству

⏱️ ТАЙМКОДЫ:

00:00 — Введение: что такое кодекс автотестов и зачем он нужен
03:32 — Откуда взялся кодекс: проблемы с хаотичным написанием тестов
09:46 — Как продать кодекс команде и руководству
15:02 — Структура автотестов: древовидная организация без паттернов
20:34 — Философия шагов и человекочитаемые тесты
25:24 — Правило: первый шаг — открытие страницы
29:38 — Моки: что мокать, что нет, как создавать пресеты
38:18 — End-to-End тесты на реальных данных: сложности и решения
42:54 — Локаторы: только data-test-id, никаких XPath и CSS
48:22 — Визуальное тестирование: когда скриншотить, как избежать флапов
54:21 — Проверки: to be visible vs not to be attached
58:29 — Таймауты: почему их нельзя использовать (кроме аналитики)
1:00:46 — Код-ревью: как кодекс упрощает проверку автотестов
1:07:13 — Нейро-ревьюер: обучение ИИ на кодексе
1:15:25 — Метрики: 4000+ тестов, стабильность, дашборды
1:20:18 — Флапы и их отслеживание
1:25:43 — Старые тесты: как актуализировать легаси
1:30:33 — Параллелизация: 5 шардов, проблемы с памятью
1:32:01 — Советы: с чего начать автоматизацию на проекте
1:38:02 — Что сделали бы по-другому: пирамида тестирования
1:42:15 — Главный совет: не бояться и пробовать

🔥 КЛЮЧЕВЫЕ ИНСАЙТЫ ИЗ ВИДЕО:

О кодексе:
- Кодекс — это не бюрократия, а инструмент унификации
- Появился из-за хаоса: каждый писал тесты по-своему
- Написание заняло 2-3 дня, стабилизация — сразу
- Правки вносились всего 3 раза за 2+ года
- Используется для обучения нейро-ревьюера

О структуре тестов:
- Древовидная: Фича → Субфича → Проверка
- Совпадает с названиями в TMS (тест-менеджмент системе)
- Шаги содержат ожидаемые результаты (вложенные степы)
- Человекочитаемые описания на русском языке
- Никаких паттернов типа Page Object — всё проще

О моках:
- Мокаем только сложновоспроизводимое
- Пресеты должны быть полезными (не просто JSON)
- Не изменять существующие моки — создавать новые
- Базовые моки + обогащение для специфичных кейсов
- End-to-End тесты на реальных данных для критичных интеграций

О локаторах:
- ТОЛЬКО data-test-id (забудьте про XPath и CSS)
- Для вложенных элементов — data-item-id
- Легко читать, легко найти в коде
- Разработчики просто добавляют атрибут в JSX
- Никаких костылей с CSS-классами

О визуальном тестировании:
- Один скриншот на фичу (не больше!)
- Скриншотим элемент + offset для проверки расположения
- Утилиты: ожидание видимости, загрузка картинок, скрытие элементов
- Флапы неизбежны, но можно минимизировать
- Обновление скриншотов через UI — по кнопке

О проверках:
- to be visible — базовая проверка отображения
- not to be attached — элемент убран из DOM (не просто скрыт)
- Никаких таймаутов (кроме аналитики с 1 сек ожиданием)
- Отключаем анимации для стабильности
- Не проверяем текст напрямую — только через i18n ключи

О процессах:
- Код-ревью с обязательной ссылкой на кодекс
- Нейро-ревьюер обучен на кодексе (4 из 5 замечаний валидны)
- Комитет по автоматизации: разработчики + тестировщики
- Регулярные встречи каждую неделю
- Дашборды стабильности: топ флапающих тестов, метрики

О метриках:
- ~4000 тестов только на webview и web (без e2e, B2B)
- Стабильность ~99%
- Параллелизация: 5 шардов × 10 параллельных процессов
- Ручное время vs автотесты: 3 минуты → 1.5 секунды
- Проблема: нужно актуализировать старые тесты


#playwright #автотесты #автоматизациятестирования #qaинженер #тестирование #endtoend #cicd #яндекс #bestpractices #кодекс #selenium #тестировщик #automation #testing #qaautomation

Источники:

Рекомендуемые видео