Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Добиваемся эффективности каждого из 9000+ UI-тестов

201 views

Published on

Доклад Максима Сахарова на SQA Days-22. 17-18 ноября 2017. Санкт-Петербург, Россия
www.sqadays.com

Published in: Education
  • Be the first to comment

  • Be the first to like this

Добиваемся эффективности каждого из 9000+ UI-тестов

  1. 1. Добиваемся эффективности каждого из 9000+ UI-тестов
  2. 2. Мы продаем ж/д, авиа и автобусные билеты, туры, бронируем отели и рассказываем о расписании. Самый посещаемый сервис туристических услуг в России (по версии comScore).
  3. 3. • 31 сотрудник в 7 проектах • UI-тесты, CI, релиз-инжиниринг, тестирование API-модулей • В Туту.ру нет сотрудников, которые занимаются только ручным тестированием • Покрытие UI-тестами больше 90%
  4. 4. Про что поговорим 1. Принципы архитектуры 2. UI-тесты в релизном цикле 3. Приемы улучшения эффективности каждого теста 4. Тест-кейсы и управление тестовыми комплектами 5. UI-тесты + CI 6. Метрики и выводы
  5. 5. Принципы архитектуры
  6. 6. Принципы архитектуры • Создавайте тесты понятными • Применяйте парадигмы ООП
  7. 7. Не дублируйте код Принципы архитектуры
  8. 8. Принципы архитектуры Не дублируйте код
  9. 9. Используйте наследование Принципы архитектуры
  10. 10. Скрывайте реализацию в отдельных классах Принципы архитектуры
  11. 11. Скрывайте реализацию в отдельных классах Принципы архитектуры
  12. 12. • Создавайте тесты понятными • Применяйте парадигмы ООП • Обязательный Code Review Принципы архитектуры
  13. 13. Принципы архитектуры. Code Review • Улучшаем качество кода • Информируем участников о изменениях • Код приводится к единому стилю написания • Обучаем «новичков», быстро набирается навык, происходит выравнивание опыта, обмен знаниями
  14. 14. • Создавайте тесты понятными • Применяйте парадигмы ООП • Обязательный Code Review • Unit-тесты Принципы архитектуры
  15. 15. Принципы архитектуры. Тесты для тестов — это отлично • Позволяют разрабатывать быстрее • Снижают количество багов в системе
  16. 16. UI-тесты в релизном цикле
  17. 17. Инструмент UI-тестирования в процессах QA-команды UI-тесты в релизном цикле: • Запуск тестов как можно чаще, согласно этапам разработки задачи • Каждый этап с максимально «зелеными» тестами
  18. 18. Инструмент UI-тестирования в процессах QA-команды
  19. 19. Улучшаем эффективность каждого теста
  20. 20. Улучшаем эффективность каждого теста • Проект контроля и управления тестовыми контейнерами • Управление потоками тестов • Деактивация неработающих тестовых контейнеров • Лучшая интеграция с модулем Runner
  21. 21. Улучшаем эффективность каждого теста • Свой Runner тестов • Низкое потребление ресурсов • Гибкость в развитии • Балансировка загруженности с учетом приоритета • Лучшая интеграция с другими модулями системы
  22. 22. Улучшаем эффективность каждого теста
  23. 23. Тест-кейсы и управление тестовыми комплектами
  24. 24. Улучшаем эффективность каждого теста • Тестовая документация хранится в коде
  25. 25. Улучшаем эффективность каждого теста Тест-кейс еще не реализован в коде — todocase
  26. 26. Улучшаем эффективность каждого теста Тест-кейс для ручного исполнения — manualcase
  27. 27. Улучшаем эффективность каждого теста • Механизм тегов позволяет автоматически считать UI-покрытие в каждом проекте
  28. 28. Управление тестовыми комплектами
  29. 29. Улучшаем эффективность каждого теста Тест относится к релизному комплекту тестов
  30. 30. Улучшаем эффективность каждого теста • Тестовый комплект можно запустить в любое время локально или на контейнерах
  31. 31. Улучшаем эффективность каждого теста • Гибкая система настроек запуска • Отвечаем потребностям QA-специалистов • Обеспечивает лучшую интеграцию с CI • Факты • Больше 30 параметров • on-demand • bug-skipped • js-error-seeker • notify-maintainer • …
  32. 32. UI-тесты + CI
  33. 33. UI-тесты + CI • Интеграция проекта UI-тестов в Bamboo • Запуск билдов • Поддержка релизного процесса • Отчетность • Отличная кастомизация запуска ++
  34. 34. Конфигурация запуска Bamboo -> Acceptance • Bamboo поддерживает переменные кастомизации запуска UI-тесты + CI
  35. 35. Метрики
  36. 36. Метрики • Проект контроля и управления тестовыми контейнерами • Мониторинг загруженности • Точки роста системы
  37. 37. Метрики
  38. 38. Выводы
  39. 39. В чем профит • Минимизировали стоимость регрессионного тестирования • Релизы «монолитных» проектов 2 раза в неделю • Развитие сотрудников в смежных к QA областях IT • Высокий уровень мотивации QA-специалистов Детализация релизного цикла одной из команд в человеко-часах
  40. 40. Выводы 1. Запускайте тесты как можно чаще 2. Работайте над лучшей интеграцией системы UI-тестов с другими инструментами 3. Гибкость и поддерживаемость — не пустые слова 4. Следите за показателями QA-процессов 5. QA должно быть частью процесса разработки
  41. 41. Спасибо!

×