SlideShare a Scribd company logo
ПОЧЕМУ
APPIUM?
АЛЬФА ЛАБОРАТОРИЯ
А С Е Е В А А Н А С Т А С И Я
ПАРУ СЛОВ О СЕБЕ:
АСЕЕВА АНАСТАСИЯ
П О Ч Е М У A P P I U M ?
Devops евангелист
Agile Testing тренер
Руководитель автоматизации
тестирования 
В QA c 2012 года
В IT с 2007 года
В Альфа­Банке внедряю Облака 
Немного пишу код =)
Люблю Linux
ЗАЧЕМ НАМ
АВТОТЕСТЫ?
П О Ч Е М У A P P I U M ?
"У вебчика есть автотесты, а у нас нет!"
...на самом деле:
Хотим быстро доставлять ценность до клиента!
Исследовали "рынок"
платформ и выбрали ТОП
подходящих, для
проверки гипотезы
Исследование
А С Е Е В А А Н А С Т А С И Я
01
В итоге исследования
выбрали appium.
Разработали ядро для
АБМ.
Пилот
02
До конца 2016го года разработать
кроссплатформенный smoke для Альфа
Мобайла
Разработка smoke-set для двух
платформ
03
СТРАТЕГИЯ
Н А Ш Е
Р А З В И Т И Е
Ограниченный
бюджет не позволяет
на проект брать
разработчиков с
разным
технологическим
стеком
ЧТО ХОТИМ?
ios LIKES
1500
75%
Java
Платформа должна
поддерживать BDD
библиотеки для написания
тестов, чтоб
супертестировщики
самостоятельно
поддерживали проект
Необходима
возможность
построить свою
"ферму" с устройствами
для распределенного
тестирования
Платформа должна
обладать развитым
интернет-community
Кроссплатформенное
Core
Автотесты для
android и ios
Ci:
Jenkins+Allure
Community
И С С Л Е Д О В А Н И Е
С П И С О К
О Г Р А Н И Ч Е Н И Й
Использование
библиотек BDD,
например JBehave
Использование
паттернов PageObject,
подхода DDD
А С Е Е В А А Н А С Т А С И Я
01
DDD, PageObjectBDD
03
Selenium-оподобный
подход. Низкий порог
вхождения в
использование
инструмента.
Selenium подход
02
Единый технологический стек для
автоматизации тестирования, как для
мобильных приложений так и для веб-
приложений
Переиспользование инженерных
практик и экспертизы
04ПРИНЦИПЫ
Р А З Р А Б О Т К И
Я Д Р А
К А К И Е П Л А Т Ф О Р М Ы
Р А С С М А Т Р И В А Л И
А С ЧЕМ СРАВНИВАЛИ?
П Р О И С С Л Е Д О В А Н И Е
Native
Crossplatform
VS.
А С ЧЕМ СРАВНИВАЛИ?
П Р О И С С Л Е Д О В А Н И Е
Native platform
Разработчик для UIAutomation - 150к +
Java разработчик для UIautomator - 120к +
ИТОГО:
- расходы на ЗП - 270к +
- удорожание сопровождения автотестов
СЛОЖНОСТИ В ПОИСКЕ НЕОБХОДИМЫХ КАДРОВ НА
РЫНКЕ
К А К И Е П Л А Т Ф О Р М Ы
Р А С С М А Т Р И В А Л И
А С ЧЕМ СРАВНИВАЛИ?
П Р О И С С Л Е Д О В А Н И Е
Crossplatform
Java разработчик - 120к +
Поддержка и сопровождение автотестов - силами
супертестировищиков
СЛОЖНОСТИ ПРИ ВЫХОДЕ ОБНОВЛЕНИЙ ДЛЯ
ПЛАТФОРМ ios
OPEN SOURCE ФРЕЙМВОРК
ДЛЯ АВТОМАТИЗАЦИ
ТЕСТИРОВАНИЯ NATIVE,
MOBILE, HYBRID
ПРИЛОЖЕНИЙ
П Р О A P P I U M
Ф И Л О С О Ф И Я
A P P I U M
4 ПРИНЦИПА
А С Е Е В А А Н А С Т А С И Я
1. Не нужно перекомпилировать или модифицировать приложение, для того чтобы
автоматизировать его
2. Не должны быть завязаны на определенный язык программирования или
фреймворк для того чтобы писать и запускать тесты
3. Фреймворк не должен переизобретать колесо, когда дело доходит до
автоматизации API
4. Фреймвор должен быть open source
О Б Щ Е Е И Н Ф О
ПРО APPIUM
П Р О A P P I U M
iOS
Android
на реальных девайсах
на симуляторах (iOS, FirefoxOS)
эмуляторах (Android).
нативные
гибридные
web приложения
Тесты можно запускать:
Можно тестировать:
Поддержка платформ:
Н Е М Н О Г О П Р О
Н А Ш
Ф Р Е Й М В О Р К
ЧТО ПОЛУЧИЛИ?
А С Е Е В А А Н А С Т А С И Я
Ф А Й Л О В А Я
С Т Р У К Т У Р А
СТРУКТУРА ПРОЕКТА
П Р О Ф Р Е Й М В О Р К
Г И Б К О Е
К О Н Ф И Г У Р И Р О В А Н И Е
КОНФИГУРИРОВАНИЕ
П Р О Ф Р Е Й М В О Р К
ТЕСТ-КЕЙСЫ В BDD
А С Е Е В А А Н А С Т А С И Я
ТЕСТ-КЕЙСЫ В BDD
З А Ч Е М Н А М B D D ?
Конструкция:
Given
When
Then
Reports:
Allure
or
Serenity
И ВСЁ-ТАКИ ПОЧЕМУ
НА РУССКОМ ЯЗЫКЕ?
А С Е Е В А А Н А С Т А С И Я
А П О Т О М У Ч Т О S P E C I F I C A T I O N E X A M P L E
ЛОКАТОРЫ
П Р О Ф Р Е Й М В О Р К
Использование DDD (Data Driven Development) для
проектирования кроссплатформности
android­устройства
ЛОКАТОРЫ
П Р О Ф Р Е Й М В О Р К
Использование DDD (Data Driven Development) для
проектирования кроссплатформности
Преимущества данного подхода:
Файл могут отредактировать даже тестировщики
Переиспользуемые локаторы хранятся и редактируются в одном месте
Упрощение поддержки автотестов
Если в проекте много тест-кейсов, то хранить локаторы в коде -
неоптимально
Если над проектом работают более 1го разработчика, упрощается
взаимодействие
CI: КАК ВЫГЛЯДИТ
И Н Ф Р А С Т Р У К Т У Р А
Наша целевая схема
Конфигурация CI
Jenkins
Appium
OS: Mac mini pro
Node.js
Job1
Job2
Job3
android­устройства
ios­устройства
эмуляторы android­
устройств
Appium 
Java
JDK
К О Н Т А К Т Ы
КАК СО МНОЙ СВЯЗАТЬСЯ?
anastasia.aseeva
itraviesonastya
@travieso_nastya
А С Е Е В А А Н А С Т А С И Я

More Related Content

Viewers also liked

Different types of mobile apps
Different types of mobile appsDifferent types of mobile apps
Different types of mobile apps
MVM Infotech Co. Ltd.
 
Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014
Joelith
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qaISsoft
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Paul Sons
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
SQALab
 

Viewers also liked (6)

Different types of mobile apps
Different types of mobile appsDifferent types of mobile apps
Different types of mobile apps
 
Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014Mobile Application Framework - OFM Canberra September 2014
Mobile Application Framework - OFM Canberra September 2014
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 

Similar to Почему Appium?

Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
SQALab
 
Infotex corpsite concept
Infotex corpsite conceptInfotex corpsite concept
Infotex corpsite concept
IRCIT.Uspeshnyy
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"
Fwdays
 
Презентация компании Энтерра
Презентация компании ЭнтерраПрезентация компании Энтерра
Презентация компании Энтерра
enterra-inc
 
[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт
[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт
[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт
Maxim Salnikov
 
Атипичный Генератор Документации
Атипичный Генератор ДокументацииАтипичный Генератор Документации
Атипичный Генератор Документации
Pavel Sharanda
 
Узнай за 15 минут, как проектировать бизнес онлайн
Узнай за 15 минут, как проектировать бизнес онлайнУзнай за 15 минут, как проектировать бизнес онлайн
Узнай за 15 минут, как проектировать бизнес онлайн
Михаил Лудчак
 
Developer experience и API как продукт
Developer experience и API как продуктDeveloper experience и API как продукт
Developer experience и API как продукт
Anastasia Goryacheva
 
Алексей Гришин «бесплатные инструменты аналитика»
Алексей Гришин «бесплатные инструменты аналитика»Алексей Гришин «бесплатные инструменты аналитика»
Алексей Гришин «бесплатные инструменты аналитика»
Alexey Nikushin
 
RealSpeaker Ru
RealSpeaker RuRealSpeaker Ru
RealSpeaker Ru
RealSpeaker 2.0
 
Автоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОАвтоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПО
SQALab
 
Сергей Белов
Сергей БеловСергей Белов
Сергей Белов
CodeFest
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
Voximplant
 
Валерий Куваев, HP на пути к Enterprise Agile
Валерий Куваев, HP на пути к Enterprise AgileВалерий Куваев, HP на пути к Enterprise Agile
Валерий Куваев, HP на пути к Enterprise Agile
ScrumTrek
 
855493.pptx
855493.pptx855493.pptx
855493.pptx
ssuseraf5995
 
Ml and its bright future
Ml and its bright futureMl and its bright future
Ml and its bright future
Sergey Melekhin
 
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)
SIPLABS Communications
 

Similar to Почему Appium? (20)

Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 
Infotex corpsite concept
Infotex corpsite conceptInfotex corpsite concept
Infotex corpsite concept
 
Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"Serghei Iakovlev "Chaos engineering in action"
Serghei Iakovlev "Chaos engineering in action"
 
Презентация компании Энтерра
Презентация компании ЭнтерраПрезентация компании Энтерра
Презентация компании Энтерра
 
[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт
[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт
[Russian] Прогрессивные веб-приложения: по-настоящему кросс-платформенный опыт
 
Атипичный Генератор Документации
Атипичный Генератор ДокументацииАтипичный Генератор Документации
Атипичный Генератор Документации
 
Узнай за 15 минут, как проектировать бизнес онлайн
Узнай за 15 минут, как проектировать бизнес онлайнУзнай за 15 минут, как проектировать бизнес онлайн
Узнай за 15 минут, как проектировать бизнес онлайн
 
Developer experience и API как продукт
Developer experience и API как продуктDeveloper experience и API как продукт
Developer experience и API как продукт
 
Алексей Гришин «бесплатные инструменты аналитика»
Алексей Гришин «бесплатные инструменты аналитика»Алексей Гришин «бесплатные инструменты аналитика»
Алексей Гришин «бесплатные инструменты аналитика»
 
RealSpeaker Ru
RealSpeaker RuRealSpeaker Ru
RealSpeaker Ru
 
Автоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПОАвтоматизация тестирования встроенного ПО
Автоматизация тестирования встроенного ПО
 
Сергей Белов
Сергей БеловСергей Белов
Сергей Белов
 
RealSpeaker PRO RUS
RealSpeaker PRO RUSRealSpeaker PRO RUS
RealSpeaker PRO RUS
 
RealSpeaker RUS
RealSpeaker RUSRealSpeaker RUS
RealSpeaker RUS
 
Видеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложенииВидеозвонки и шаринг экрана в мобильном приложении
Видеозвонки и шаринг экрана в мобильном приложении
 
Валерий Куваев, HP на пути к Enterprise Agile
Валерий Куваев, HP на пути к Enterprise AgileВалерий Куваев, HP на пути к Enterprise Agile
Валерий Куваев, HP на пути к Enterprise Agile
 
test
testtest
test
 
855493.pptx
855493.pptx855493.pptx
855493.pptx
 
Ml and its bright future
Ml and its bright futureMl and its bright future
Ml and its bright future
 
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)
KAZOOMEETUP MOSCOW 2015. Михаил Родионов. Введение в KAZOO (KAZOO 101)
 

Почему Appium?

  • 1. ПОЧЕМУ APPIUM? АЛЬФА ЛАБОРАТОРИЯ А С Е Е В А А Н А С Т А С И Я
  • 2. ПАРУ СЛОВ О СЕБЕ: АСЕЕВА АНАСТАСИЯ П О Ч Е М У A P P I U M ? Devops евангелист Agile Testing тренер Руководитель автоматизации тестирования  В QA c 2012 года В IT с 2007 года В Альфа­Банке внедряю Облака  Немного пишу код =) Люблю Linux
  • 3. ЗАЧЕМ НАМ АВТОТЕСТЫ? П О Ч Е М У A P P I U M ? "У вебчика есть автотесты, а у нас нет!" ...на самом деле: Хотим быстро доставлять ценность до клиента!
  • 4. Исследовали "рынок" платформ и выбрали ТОП подходящих, для проверки гипотезы Исследование А С Е Е В А А Н А С Т А С И Я 01 В итоге исследования выбрали appium. Разработали ядро для АБМ. Пилот 02 До конца 2016го года разработать кроссплатформенный smoke для Альфа Мобайла Разработка smoke-set для двух платформ 03 СТРАТЕГИЯ Н А Ш Е Р А З В И Т И Е
  • 5. Ограниченный бюджет не позволяет на проект брать разработчиков с разным технологическим стеком ЧТО ХОТИМ? ios LIKES 1500 75% Java Платформа должна поддерживать BDD библиотеки для написания тестов, чтоб супертестировщики самостоятельно поддерживали проект Необходима возможность построить свою "ферму" с устройствами для распределенного тестирования Платформа должна обладать развитым интернет-community Кроссплатформенное Core Автотесты для android и ios Ci: Jenkins+Allure Community И С С Л Е Д О В А Н И Е С П И С О К О Г Р А Н И Ч Е Н И Й
  • 6. Использование библиотек BDD, например JBehave Использование паттернов PageObject, подхода DDD А С Е Е В А А Н А С Т А С И Я 01 DDD, PageObjectBDD 03 Selenium-оподобный подход. Низкий порог вхождения в использование инструмента. Selenium подход 02 Единый технологический стек для автоматизации тестирования, как для мобильных приложений так и для веб- приложений Переиспользование инженерных практик и экспертизы 04ПРИНЦИПЫ Р А З Р А Б О Т К И Я Д Р А
  • 7. К А К И Е П Л А Т Ф О Р М Ы Р А С С М А Т Р И В А Л И А С ЧЕМ СРАВНИВАЛИ? П Р О И С С Л Е Д О В А Н И Е Native Crossplatform VS.
  • 8. А С ЧЕМ СРАВНИВАЛИ? П Р О И С С Л Е Д О В А Н И Е Native platform Разработчик для UIAutomation - 150к + Java разработчик для UIautomator - 120к + ИТОГО: - расходы на ЗП - 270к + - удорожание сопровождения автотестов СЛОЖНОСТИ В ПОИСКЕ НЕОБХОДИМЫХ КАДРОВ НА РЫНКЕ
  • 9. К А К И Е П Л А Т Ф О Р М Ы Р А С С М А Т Р И В А Л И А С ЧЕМ СРАВНИВАЛИ? П Р О И С С Л Е Д О В А Н И Е Crossplatform Java разработчик - 120к + Поддержка и сопровождение автотестов - силами супертестировищиков СЛОЖНОСТИ ПРИ ВЫХОДЕ ОБНОВЛЕНИЙ ДЛЯ ПЛАТФОРМ ios
  • 10. OPEN SOURCE ФРЕЙМВОРК ДЛЯ АВТОМАТИЗАЦИ ТЕСТИРОВАНИЯ NATIVE, MOBILE, HYBRID ПРИЛОЖЕНИЙ П Р О A P P I U M
  • 11. Ф И Л О С О Ф И Я A P P I U M 4 ПРИНЦИПА А С Е Е В А А Н А С Т А С И Я 1. Не нужно перекомпилировать или модифицировать приложение, для того чтобы автоматизировать его 2. Не должны быть завязаны на определенный язык программирования или фреймворк для того чтобы писать и запускать тесты 3. Фреймворк не должен переизобретать колесо, когда дело доходит до автоматизации API 4. Фреймвор должен быть open source
  • 12. О Б Щ Е Е И Н Ф О ПРО APPIUM П Р О A P P I U M iOS Android на реальных девайсах на симуляторах (iOS, FirefoxOS) эмуляторах (Android). нативные гибридные web приложения Тесты можно запускать: Можно тестировать: Поддержка платформ:
  • 13. Н Е М Н О Г О П Р О Н А Ш Ф Р Е Й М В О Р К ЧТО ПОЛУЧИЛИ? А С Е Е В А А Н А С Т А С И Я
  • 14. Ф А Й Л О В А Я С Т Р У К Т У Р А СТРУКТУРА ПРОЕКТА П Р О Ф Р Е Й М В О Р К
  • 15. Г И Б К О Е К О Н Ф И Г У Р И Р О В А Н И Е КОНФИГУРИРОВАНИЕ П Р О Ф Р Е Й М В О Р К
  • 16. ТЕСТ-КЕЙСЫ В BDD А С Е Е В А А Н А С Т А С И Я
  • 17. ТЕСТ-КЕЙСЫ В BDD З А Ч Е М Н А М B D D ? Конструкция: Given When Then Reports: Allure or Serenity
  • 18. И ВСЁ-ТАКИ ПОЧЕМУ НА РУССКОМ ЯЗЫКЕ? А С Е Е В А А Н А С Т А С И Я А П О Т О М У Ч Т О S P E C I F I C A T I O N E X A M P L E
  • 19. ЛОКАТОРЫ П Р О Ф Р Е Й М В О Р К Использование DDD (Data Driven Development) для проектирования кроссплатформности android­устройства
  • 20. ЛОКАТОРЫ П Р О Ф Р Е Й М В О Р К Использование DDD (Data Driven Development) для проектирования кроссплатформности Преимущества данного подхода: Файл могут отредактировать даже тестировщики Переиспользуемые локаторы хранятся и редактируются в одном месте Упрощение поддержки автотестов Если в проекте много тест-кейсов, то хранить локаторы в коде - неоптимально Если над проектом работают более 1го разработчика, упрощается взаимодействие
  • 21. CI: КАК ВЫГЛЯДИТ И Н Ф Р А С Т Р У К Т У Р А Наша целевая схема Конфигурация CI Jenkins Appium OS: Mac mini pro Node.js Job1 Job2 Job3 android­устройства ios­устройства эмуляторы android­ устройств Appium  Java JDK
  • 22. К О Н Т А К Т Ы КАК СО МНОЙ СВЯЗАТЬСЯ? anastasia.aseeva itraviesonastya @travieso_nastya А С Е Е В А А Н А С Т А С И Я