Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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

Почему 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 А С Е Е В А А Н А С Т А С И Я