Удобная архитектура автотестов - подспорье для ввода QA в автоматизацию

5206c19df417b8876825b5561344c1a0?s=47 Exactpro
April 29, 2020

Удобная архитектура автотестов - подспорье для ввода QA в автоматизацию

Надежда Дебогори
Ведущий специалист по тестированию, Ozon

29 апреля 2020
Online QA Meetup

Надежда работает в сфере QA уже более 10 лет, и на QA Meetup расскажет о проекте, которым занималась, работая в HeadHunter.
Доклад будет посвящен вопросу автоматизации регрессионного тестирования и тому, как подходящая архитектура проекта может не только помочь поддержать имеющееся покрытие, но и наращивать его силами, в том числе, QA-инженеров с небольшим опытом программирования.
Тема будет интересна начинающим и опытным автоматизаторам, а также тест-менеджерам.

Видео: https://youtu.be/mfSFepitn4o

---
Подписывайтесь на Exactpro в социальных сетях:

LinkedIn https://www.linkedin.com/company/exactpro-systems-llc
Twitter https://twitter.com/exactpro
Facebook https://www.facebook.com/exactpro/
Instagram https://www.instagram.com/exactpro/

Подписывайтесь на YouTube канал Exactpro https://www.youtube.com/c/exactprosystems

5206c19df417b8876825b5561344c1a0?s=128

Exactpro

April 29, 2020
Tweet

Transcript

  1. Удобная архитектура автотестов — подспорье для ввода qa в автоматизацию

    Надежда Дебогори , ведущий специалист по тестированию в OZON Convenient architecture of autotests is a tool for introducing qa into automation
  2. В тестировании около 11 лет Долгое время провела в Headhunter

    Lead QA в Функциональное тестирование и автоматизация Java, Kotlin, TS, GO Кто я? 2
  3. Автоматизация Релиз задач на продакшен Развертывание тестовых сред Мониторинг логов

    прода Нагрузочное тестирование Регрессионное тестирование 3
  4. Метрики автоматизации регресса ❏ Величина покрытия функционала ❏ Скорость прохождения

    автоматизированных тестов ❏ Стабильность 4
  5. Метрики автоматизации регресса ❏ Величина покрытия функционала ❏ Скорость прохождения

    автоматизированных тестов ❏ Стабильность ❏ Простота и понятность фреймворка 5
  6. Бэклог слишком велик. Что делать? Программисты помогают писать тесты 6

  7. Бэклог слишком велик. Что делать? Программисты помогают писать тесты Не

    везде возможно в долгосрочной перспективе 7
  8. Бэклог слишком велик. Что делать? Программисты помогают писать тесты Наймем

    еще автоматизаторов Не везде возможно в долгосрочной перспективе 8
  9. А что на рынке? 9 Кол-во qa для московского региона

    С навыками автоматизации
  10. Бэклог слишком велик. Что делать? Программисты помогают писать тесты Наймем

    еще автоматизаторов Не везде возможно в долгосрочной перспективе Дорого и долго 10
  11. Бэклог слишком велик. Что делать? Программисты помогают писать тесты Наймем

    еще автоматизаторов Взращивать специалистов изнутри Не везде возможно в долгосрочной перспективе Дорого и долго ( или обучать самим ) 11
  12. Бэклог слишком велик. Что делать? Программисты помогают писать тесты Наймем

    еще автоматизаторов Взращивать специалистов изнутри Не везде возможно в долгосрочной перспективе Дорого и долго Долго Знание бизнес - логики Профессиональное развитие Параллельный выпуск тестового покрытия с задачами ( или обучать самим ) 12
  13. Автотесты в Headhunter 13 Около 9 000 регрессионных автотестов ~

    1 час прохождение всего набора В среднем 10 релизов в день Регрессионное тестирование всех задач Java 11, Selenium, TestNG, Jenkins
  14. План развития QA 1. Изучение языка выбранного фреймоворка 2. Тривиальные

    задачи 3. Дополнение уже покрытого функционала 4. Тесты на новые фичи 5. Работа над фреймворком и сопутствующими сервисами 14
  15. Не архитектурные практики Ментор 15

  16. Не архитектурные практики Ментор Помогает с основными вопросами Следит за

    прогрессом Корректирует задачи 16
  17. Не архитектурные практики Ментор Code style 17

  18. Не архитектурные практики Ментор Code style Экономия времени Задокументирован Можно

    автоматизировать проверку в IDE (linter) и / или при сборке проекта 18
  19. Не архитектурные практики Ментор Code style Общий рабочий чат 19

  20. Не архитектурные практики Ментор Code style Общий рабочий чат Помогает

    всем qa делиться опытом . Общая практика просмотра пулреквестов 20
  21. Не архитектурные практики Ментор Code style Общий рабочий чат Code

    Review 21
  22. Не архитектурные практики Ментор Общий рабочий чат Code style Code

    Review Хорошо для обучения Поиск ошибок Синхронизация знаний 22
  23. 1. Изучение языка программирования Практика • Книги и курсы •

    Чтение пулреквестов • Изучение логов падений тестов 23
  24. 1. Изучение языка программирования Практика • Книги и курсы •

    Чтение пулреквестов • Изучение логов падений тестов Какая цель • Подкрепление теории практикой • Учимся читать реальный код • Привыкаем к общему code style • Человек поставит себя на место ревьюера 24
  25. 2. Тривиальные задачи Практика • Простые и несложные задачи из

    беклога • Добавление дополнительных проверок 25
  26. 2. Тривиальные задачи Практика • Простые и несложные задачи из

    бэклога • Добавление дополнительных проверок Какая цель • Изучаем основы ( как найти элемент в DOM) • Приучаем к code style • Быстрый фидбек • Прошли весь релизный цикл проекта автоматизации 26
  27. 3. Дополнение и изменение функционала Практика • Новые тесты в

    имеющихся классах , комплектах • Актуализация старых тестов • Несложный рефакторинг 27
  28. 3. Дополнение и изменение функционала Практика • Новые тесты в

    имеющихся классах , комплектах • Актуализация старых • Несложный рефакторинг Какая цель • Изучить фреймворк : ◦ PageObject 28
  29. 3. Дополнение и изменение функционала Практика • Новые тесты в

    имеющихся классах , комплектах • Актуализация старых • Несложный рефакторинг Какая цель • Изучить фреймворк : ◦ PageObject ◦ Chain of Invocation 29
  30. 3. Дополнение и изменение функционала Практика • Новые тесты в

    имеющихся классах , комплектах • Актуализация старых • Несложный рефакторинг Какая цель • Изучить фреймворк : ◦ PageObject ◦ Chain of Invocation ◦ DataProvider 30
  31. 3. Дополнение и изменение функционала Практика • Новые тесты в

    имеющихся классах , комплектах • Актуализация старых • Несложный рефакторинг Какая цель • Изучить фреймворк • Освоиться с системой логирования 31
  32. 3. Дополнение и изменение функционала Практика • Новые тесты в

    имеющихся классах , комплектах • Актуализация старых • Несложный рефакторинг Какая цель • Изучить фреймворк • Освоиться с системой логирования • Написать стабильный тест 32
  33. 4. Тесты на новые фичи Практика • Полное покрытие нового

    функционала 33
  34. 4. Тесты на новые фичи Практика • Полное покрытие нового

    функционала Какая цель • Разобраться с устройством запуска тест - сьютов 34
  35. 4. Тесты на новые фичи Практика • Полное покрытие нового

    функционала Какая цель • Разобраться с устройством запуска тест - сьютов • Научиться распараллеливать тесты 35
  36. 5. Работа над фреймворком Практика • Доработка фреймворка • Работа

    со связными сервисами 36
  37. 5. Работа над фреймворком Практика • Доработка фреймворка • Работа

    со связными сервисами Что интересного? • Внедрение новых паттернов • Фикстуры 37
  38. Немного про рефакторинг Мелкий • Поправь сразу , если дешево

    • Заведи задачу в бэклог , если дорого 38
  39. Немного про рефакторинг Мелкий Средний, но важный • Разбор топа

    нестабильных тестов • Дополнение покрытия при развитии функционала 39
  40. Немного про рефакторинг Мелкий Средний, но важный Генеральные задачи •

    Анализ тестов с точки зрения бизнес - логики • Анализ методов • Поиск легаси • Работа над нестабильными местами 40
  41. Какие результаты? Middle QA к концу испытательного срока пишет небольшие

    рабочие тесты Все QA в командах разработки занимаются автоматизацией Около 9 000 регрессионных актуальных автотестов 41
  42. 42 Спасибо за внимание! Надежда Дебогори Lead QA Ozon Facebook:

    Nadia Debogori