10 практик в построении автоматизации тестирования с нуля для веб приложения - Alex Pshe

YOUTUBE · 26.11.2025 07:10

Ключевые темы и таймкоды

Введение

0:00
  • Приветствие и благодарность за участие.
  • Тема: десять лучших практик для автоматизации тестирования веб-приложений с нуля.
  • Обещание оставить ссылку на полное выступление.

Представление спикера

0:27
  • Спикер: Алекс Пше, специалистка по автоматизации тестирования.
  • Опыт: более 15 веб-проектов, выявление общих практик.
  • Призыв к подписке на соцсети и вопросы.

Проблемы и вопросы

1:14
  • Вопросы без ответов: выбор инструмента, масштабируемость, архитектура тестирования, подготовка данных, язык программирования.
  • Важность инвестиций в стабильность автотестов.

План и структура

2:11
  • План: обсуждение проблемы, лучшая практика, решение.
  • Практичность и пошаговое применение.
  • Призыв к использованию гайда.

Тестируемость

3:11
  • Важность тестируемости с самого начала.
  • Проблемы: быстрые автотесты без настройки CI/CD и контроля покрытия.
  • Решение: настройка CI/CD и контроль покрытия.

Инвестиции в тестируемость

5:05
  • Тестируемость как оценка качества продукта.
  • Важность локального развертывания приложения.
  • Контроль покрытия как ворота качества.

Развертывание приложения

7:20
  • Инвестиции в развертывание приложения локально.
  • Важность адекватного времени развертывания.
  • Обнаружение отсутствия инфраструктуры для тестов.

Тестовая инфраструктура

9:02
  • Создание тестового энд-пойнта для удаления пользователей.
  • Финализация инфраструктуры на раннем этапе.
  • Базовый контейнер CI/CD: проверка линтера, автотесты, сбор метрик.

Анализ пирамиды тестирования

10:56
  • Выбор языка программирования для автотестов.
  • Хранение тестов рядом с кодом или в разных репозиториях.
  • Создание тестовых кейсов для автоматизации.
  • Неэффективное тестирование из-за игнорирования анализа пирамиды тестирования.

Эффективность тестирования

11:55
  • Тестирование должно быть эффективным, быстрым и стабильным.
  • Автотесты предпочтительнее ручного тестирования.
  • Повторное использование структур на каждом уровне тестирования.

Выбор языка программирования

12:46
  • Рекомендуется использовать тот же язык программирования для автотестов, что и для бэкенда.
  • Это позволяет повторно использовать сложные структуры и модели.
  • Переиспользование вызовов методов и описаний сущностей.

Пирамида тестирования

14:34
  • Важно покрывать бизнес-логику на уровне API.
  • Проблемы интеграции решаются на уровне UI.
  • Хранение тестов и кода в одном репозитории улучшает совместимость.

Покрытие пользовательских сценариев

17:28
  • Все пользовательские сценарии должны быть покрыты на уровне API.
  • Если это невозможно, нужно сигнализировать о проблемах.
  • Покрытие на уровне API делает тесты стабильными и быстрыми.

Масштабируемость тестирования

19:05
  • Важно анализировать конечное состояние приложения и его масштабируемость.
  • Тестовый фреймворк должен быть адаптирован к будущим изменениям.
  • Инициатива в планировании масштабируемой архитектуры тестирования.

Спецификация энд-пойнтов

22:20
  • Разработка спецификаций для энд-пойнтов на бэкенде и фронтенде.
  • Инициатива в определении паттернов для однотипных действий.
  • Внедрение быстрого и понятного автотестирования.

Точки масштабируемости

23:51
  • Использование интерфейсов и шаблонов проектирования для масштабируемости.
  • Генерация энд-пойнтов через шаблоны вместо создания новых классов.
  • Соблюдение точек масштабируемости для улучшения фреймворка.

Тестовые данные

26:10
  • Проблемы с использованием сложных тестовых данных.
  • Парадокс пестицида: тесты не выявляют ошибки.
  • Решение: генерация тестовых данных для стабильности тестов.

Генерация тестовых данных

28:00
  • Генерация данных на основе реальных данных пользователей.
  • Использование спейс-холдеров и генераторов для создания тестовых данных.
  • Преимущества: ясность тестов и стабильность.

Изоляция данных

30:41
  • Проблемы с использованием данных из тестовой среды и базы данных.
  • Решение: создание и очистка собственных тестовых данных.
  • Важность первого пункта тестируемости для стабильности тестов.

Работа с базами данных

32:44
  • Проблемы с тестированием через базы данных.
  • Невозможность гарантировать работоспособность на всех уровнях тестирования.
  • Решение: создание энд-пойнтов для создания сущностей и очистка данных.

Заключение

35:39
  • Призыв делиться опытом и использовать гайды.
  • Переход к обсуждению локаторов и документации.
  • Призыв к комментариям и критике.