Введение 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 Призыв делиться опытом и использовать гайды. Переход к обсуждению локаторов и документации. Призыв к комментариям и критике.