32
Авто%тесты в кармане Open%source решения для автоматизации тестирования на мобильных платформах Черемушкин Дмитрий

Авто-тесты в кармане // SECR-2015

Embed Size (px)

Citation preview

Page 1: Авто-тесты в кармане // SECR-2015

Авто%тесты)в)кармане)Open%source+решения+для+автоматизации+тестирования+на+мобильных+платформах+

! !

Черемушкин*Дмитрий*

Page 2: Авто-тесты в кармане // SECR-2015

! 3Тестирование*кросс3платформенных*приложений*

2Введение*

1 О*себе*

План доклада

Page 3: Авто-тесты в кармане // SECR-2015

!

5

6

7

Тестирование*адаптивных*веб3сайтов*

Переход*от*ручной**к*автоматизированной*

регрессии**(Android)*

Итоги*

*

Page 4: Авто-тесты в кармане // SECR-2015

О+себе+

Page 5: Авто-тесты в кармане // SECR-2015

Черемушкин**Дмитрий*QA3лид***|**инженер*по*автоматизации*

2"

О"себе"

***Мобильное*тестирование*

****Тестирование*и*автоматизация*

7"1" ***Консуль3*тирование*

2" ***Управление*QA3командой*

время,'лет'

•  Руководство+QA%командой+•  Аналитические+задачи+•  Разработка+фреймворков+•  Автоматизация+рутинных+задач+•  Консультирование+

слайд"5"

Page 6: Авто-тесты в кармане // SECR-2015

Введение+

Page 7: Авто-тесты в кармане // SECR-2015

Введение+

�!

С"чего"начинается"

автоматизация*мобильного*тестирования?"

!

03#

бюджет* +

¸+¦+

особенности*проекта*

выбор*инструмента*

слайд"7"

Page 8: Авто-тесты в кармане // SECR-2015

Open/source"средства"автоматизации+

Appium"

!RoboYum"UI"Automator"

MonkeyTalk"Calabash"

Coded"UI"

Selendroid"

!Winium"UI"AutomaAon"

!

KIF"Frank"

ios3driver"AndroidDriver"

fMBT"

Bot3Bot"

WinPhone*WebDriver"BridgIt"

Espresso"

!!

слайд"8"

Culebra"EventRecorder"

Page 9: Авто-тесты в кармане // SECR-2015

�!!

Тестирование+кросс%

платформенных+приложений+

! ! !

Page 10: Авто-тесты в кармане // SECR-2015

Ситуация(

Идет*разработка*

приложений*под*3*платформы:*

Android,*iOS,*Windows*Phone*

поддержка*нескольких*платформ *

*

*

*

Требования(к(инструменту:*

Определение"требований"

отсутствие*изменений*в*коде*приложения

*работа*на*физических*устройствах*и*эмуляторах*

сообщество*пользователей | запуск*в*“облаках” *

слайд"10"

Нужно(

Автоматизировать*

тестирование*“основных”*

сценариев*использования*

Page 11: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"! ! !

AndroidDriver* � N/A#Appium* * * *BridgIt* � * N/A#Calabash* * * � !Coded*UI* * !Espresso* * * *fMBT* * *Frank* *ios3driver* * *KIF* *MonkeyTalk* * * *RoboYum* * *Selendroid* * !UI*Automator* * !UI*AutomaYon* * * * !Winium* * * * *WinPhone*WebDriver* * * � * N/A#

слайд"11"

Page 12: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"! ! !

AndroidDriver" � " N/A#Appium* * * *BridgIt" � " N/A#Calabash* * * � !Coded*UI* * !Espresso* * * * !fMBT* * *Frank* *ios3driver* * *KIF* *MonkeyTalk* * * *RoboYum* * *Selendroid* * !UI*Automator* * !UI*AutomaYon* * * * !Winium* * * * *WinPhone"WebDriver" * * � " N/A#

слайд"12"

Page 13: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"! ! !

Appium* * * *Calabash" * * � !Coded*UI* * !Espresso* * * * !fMBT* * *Frank" *ios3driver* * *KIF" *MonkeyTalk" * * *RoboYum* * *Selendroid* * !UI*Automator* * !UI*AutomaYon* * * * !Winium* * * * *

слайд"13"

Page 14: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"

! ! !Appium" " " " ! ! ! ! C#,"Java,"JavaScript,"

PHP,"Python,"Ruby,"…"

Selendroid* * ! ! ! ! ! C#,*Java,*JavaScript,*PHP,*Python,*Ruby,*…*

Espresso* * * * * ! ! Java*

RoboYum* * * * * ! ! Java*

UI*Automator* * ! ! ! ! ! Java*

UI*AutomaYon* * * * ! ! ! ! ! JavaScript*

fMBT* * * * * * * * C++,*Javascript,*Python*

ios3driver* * * � * * * * C#,*Java,*JavaScript,*PHP,*Python,*Ruby,*…*

Coded"UI" " ! ! ! C#,"C++,"VB"

Winium" " " " " ! ! C#,"Java,"JavaScript,"PHP,"Python,"Ruby,"…"

слайд"14"

Page 15: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"

слайд"15"

&## #:#

Автоматизация*тестирования*мобильных*приложений"

#:#

Page 16: Авто-тесты в кармане // SECR-2015

Что*автоматизировать?*

Что*НЕ*автоматизировать?*

•  позитивные'действия'

•  направленные'на'получение'результата'

•  в'виде'сценариев,'близких'к'поведению'

пользователя'

Практические"рекомендации"

•  камера,'геолокация,'сеть,'Bluetooth,'NFC,'…'

•  интеграции'с'другими'сервисами'

слайд"16"

Page 17: Авто-тесты в кармане // SECR-2015

Экраны*—*PageObject*

Практические"рекомендации"

ХPath3локаторы*

Локаторы*—*Map*/*HashMap*

Устройства*в*”облаках”*

слайд"17"

Page 18: Авто-тесты в кармане // SECR-2015

�!!

Тестирование+адаптивных+веб%сайтов+

Page 19: Авто-тесты в кармане // SECR-2015

Ситуация(

Веб3сайт*адаптируется*

под*мобильные*платформы.*

Есть*настольные*Selenium3тесты.*

Нужно(

Покрыть*тестами*

мобильные*браузеры*на*

платформах*Android*и*iOS.*

Определение"требований"

слайд"19"

запуск*браузера,*поддержка*фреймов

интеграция*с*Selenium Se#

Требования(к(инструменту:*

поддержка*платформ*Android,*iOS *

работа*на*физических*устройствах*и*эмуляторах *

Page 20: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"

слайд"20"

! ! ! Se#

Appium* * * * * ! ! * *

Selendroid* * * * ! ! *

AndroidDriver* * * * * * * *

ios3driver* * * * * � * ! � *

BridgIt* * * * * * ! * *

WinPhone*WebDriver* * * * * * ! *

Page 21: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"

слайд"21"

еще'слишком'много'ограничений'для'полноценной'автоматизации'мобильного'“веба”'

:#

&## #:#

Автоматизация*тестирования*мобильных*веб3сайтов"

Page 22: Авто-тесты в кармане // SECR-2015

Инициализируйте*элементы*в*зависимости*от*размера*экрана*�

Практические"рекомендации"

слайд"22"

!

!

js:!return!document.documentElement.clientWidth!

определить*ширину*экрана*—*сравнить*её*с*граничным*значением*—*подгрузить*соответствующие*элементы*

Page 23: Авто-тесты в кармане // SECR-2015

Учитывайте*статистику*по*использованию*устройств*

Практические"рекомендации"

слайд"23"

Page 24: Авто-тесты в кармане // SECR-2015

¨�!

!Переход+от+ручной+к+автомати%+зированной+регрессии+

Page 25: Авто-тесты в кармане // SECR-2015

Ситуация(

Android3приложение*

тестируется*вручную.*

Специалистов*по*автоматизации*нет.*

Нужно(

Проводить*регрес3*

сионное*тестирование*

автоматизированно.*

Определение"требований"

слайд"25"

поддержка*record*&*replay

Требования(к(инструменту:*

независимость*от*разрешения*экрана *

наличие*функций*проверки*UI3элементов ¾*

автоматизация*действий*вне*приложения ­

Page 26: Авто-тесты в кармане // SECR-2015

Сравнение"инструментов"

слайд"26"

¾ ­! UX

Culebra* * * * * * *

Bot3Bot* * * * * * ~#Appium*Inspector* * * * * ~# ~#Selendroid*Inspector* * * * * ~# ~#EventRecorder* * * * * * *

Page 27: Авто-тесты в кармане // SECR-2015

слайд"27"

Автоматизация*регрессионного*тестирования"

!

Сравнение"инструментов"

ulebra*

Page 28: Авто-тесты в кармане // SECR-2015

Итоги+

Page 29: Авто-тесты в кармане // SECR-2015

®!

!

Гибридные"приложения"

Мобильный"веб"

Что"рассмотрено""|""что"существует?"

Нативные"приложения"

!

52%#*#кросс3платформенные#

Всё'то,'чем'пользуются'конечные'потребители'

*'State'of'Mobility'Survey'2015,'Progress'

слайд"29"

Page 30: Авто-тесты в кармане // SECR-2015

Программирование*

IDEA)

Воспроизведение*действий*

Автоматические*анализ*и*проверка*!

!

Способы"автоматизации"

слайд"30"

Page 31: Авто-тесты в кармане // SECR-2015

опытные"специалисты"

Selenium,*тест3дизайн,*архитектура*фреймворков*

опытные"+"начинающие"

начинающие"Record*&*replay*

тест3дизайн,*соглашения*

тест3дизайн*

Appium*

Appium*&*keyword3driven*BDD*/*Robot*Framework*

Способы"автоматизации"

слайд"31"

Page 32: Авто-тесты в кармане // SECR-2015

Контакты+

!!Спасибо!

за!внимание!dmitry.cheremushkin*

[email protected]@griddynamics.com*

+dcheremushkin**

+