UI-автотесты:
неочевидные очевидности
в планировании и реализации
Глеб Саркисов / 22.11.19
Slide 2
Slide 2 text
.QA Team Lead в
Обо мне:
Redmadrobot
.Web & Mobile Applications
.❤ testing
.учусь на BI в ВШЭ
Slide 3
Slide 3 text
показать, как осуществить
переход от неосознанной
некомпетентности к
осознанной в планировании и
написании UI-автотестов.
Цель презентации:
Redmadrobot
Slide 4
Slide 4 text
Как это обычно
бывает…
Redmadrobot
Slide 5
Slide 5 text
В сети 100500 статей на тему UI-automation с
информацией типа:
- какой язык надо учить
- что такое page object
- на какие курсы пойти
Redmadrobot
Ok, Google!
Slide 6
Slide 6 text
Сейчас все автоматизирую
и получу на выходе:
Redmadrobot
.более быстрый регресс
.больше времени на FT
.более высокое качество
тестирования
Slide 7
Slide 7 text
Как?
Redmadrobot
Что?
Для
кого?
❌
☑
❌
Slide 8
Slide 8 text
Автоматизация
ради
автоматизации?
Redmadrobot
Slide 9
Slide 9 text
Специфика моего проекта
Redmadrobot
1. Разработка МП для крупного банка
2. Over 50 экранов и 200 состояний
3. Мало рук и времени на регресс
Slide 10
Slide 10 text
Пункт №1.
Разбираемся с ответом
на вопрос «Что?»
Redmadrobot
Slide 11
Slide 11 text
2. Насколько это
целесообразно?
Разговор
с бизнесом
Redmadrobot
1. Что будем
автоматизировать?
Slide 12
Slide 12 text
Определимся с возможностью, необходимостью
и предварительными сроками.
Транслируем бизнесу
наш vision и
договариваемся
Redmadrobot
Slide 13
Slide 13 text
1. Как будем строить тесты? Здесь же: размер
сценария, ассерты, debug-сообщения.
2. Как скоро редизайн?
Разговор с собой
Redmadrobot
Slide 14
Slide 14 text
Пункт №2.
А у меня на проекте Dev’ы
уже подготовили архитектуру
для UI-тестов!
Redmadrobot
Slide 15
Slide 15 text
Dev сетапит автотесты -
плюсы?
Redmadrobot
- готовая архитектура
- простой сетап (меньше зависимостей)
- поделенная зона ответственности
- Code Review от Dev
- случай с iOS: Dev вынужден добавлять
accessibility id всегда
Slide 16
Slide 16 text
Redmadrobot
- необходимость знать 2 языка
- двойная работа для QA
- нужен ответственный Dev
- излишняя требовательность к качеству кода
А минусы?
Slide 17
Slide 17 text
Некоторые кейсы имеет смысл отдать на
юнит-тестирование разработчикам.
Пункт №3.
Поделись работой с Devом
Redmadrobot
Slide 18
Slide 18 text
Пункт №4.
UI test != Integration test
Redmadrobot
Разделяем два понятия.
UI-автотесты должны быть максимально
изолированы от внутренних сервисов
бэка.
Slide 19
Slide 19 text
GET /test 500
POST /qa 502
PATCH /qc 504
Redmadrobot
Пункт №5.
Не доверяй серверу
Slide 20
Slide 20 text
Redmadrobot
Но следи за изменениями бэка и
вовремя обновляй моки.
У тебя нестабильный сервер?
Нет доступа к БД?
Мокай!
- статически
- динамически
Slide 21
Slide 21 text
Пункт №6.
UI-автотесты и Design Review
Redmadrobot
Slide 22
Slide 22 text
22
Это Иван.
Redmadrobot
Slide 23
Slide 23 text
Redmadrobot
Это Иван.
Иван не хочет
бороться с
сервером.
Он хочет делать
авторский
надзор.
Slide 24
Slide 24 text
01 Будешь ли тестить на разных девайсах?
02 Будь готов менять логику работы тестов!
Redmadrobot
Пункт №7.
Определись с таргет-девайсами
Slide 25
Slide 25 text
Redmadrobot
Пункт №8.
Мы пишем автотесты не
для себя
^бизнес
Slide 26
Slide 26 text
Отчетность? В каком виде?
Информирование бизнеса
Redmadrobot
Slide 27
Slide 27 text
Уведомления о результатах прогона
Историчность?
Информирование бизнеса
Redmadrobot
Slide 28
Slide 28 text
Redmadrobot
Вердикт:
С таким подходом UI-
автотесты имеют шанс
на успех! *
Slide 29
Slide 29 text
1. Автотесты не должны существовать ради самих
себя
2. Их внедрение и реализуемый подход должны быть
оговорены с бизнесом
3. Вы должны знать свои возможности и
ограничения при внедрении автотестов
Резюмируем:
Redmadrobot
Slide 30
Slide 30 text
Good luck!
Redmadrobot
Slide 31
Slide 31 text
Спасибо за внимание!
Вопросы?
Глеб Саркисов:
QA Team Lead
+7 (968) 666-23-25
[email protected]
linkedin.com/in/glebsarkisov
Офис Redmadrobot в Москве:
Пресненский вал 27, стр. 9
+7 (495) 933-05-95
[email protected]
Habr:
qps.ru/kN4vg