Почему appium?
TRANSCRIPT
ПОЧЕМУ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 LIKES1500
75%
Java
Платформа должнаподдерживать BDD
библиотеки для написаниятестов, чтоб
супертестировщикисамостоятельно
поддерживали проект
Необходимавозможность
построить свою"ферму" с устройствамидля распределенного
тестирования
Платформа должнаобладать развитым
интернет-community
КроссплатформенноеCore
Автотесты дляandroid и ios
Ci:Jenkins+Allure
Community
И С С Л Е Д О В А Н И Е
С П И С О КО Г Р А Н И Ч Е Н И Й
Использованиебиблиотек BDD,например JBehave
Использованиепаттернов PageObject,
подхода DDD
А С Е Е В А А Н А С Т А С И Я
01DDD, PageObjectBDD
03
Selenium-оподобныйподход. Низкий порог
вхождения виспользованиеинструмента.
Selenium подход02
Единый технологический стек дляавтоматизации тестирования, как длямобильных приложений так и для веб-
приложений
Переиспользование инженерныхпрактик и экспертизы
04ПРИНЦИПЫР А З Р А Б О Т К И
Я Д Р А
К А К И Е П Л А Т Ф О Р М ЫР А С С М А Т Р И В А Л И
А С ЧЕМ СРАВНИВАЛИ?
П Р О И С С Л Е Д О В А Н И Е
Native
CrossplatformVS.
А С ЧЕМ СРАВНИВАЛИ?
П Р О И С С Л Е Д О В А Н И Е
Native platformРазработчик для UIAutomation - 150к +Java разработчик для UIautomator - 120к +
ИТОГО: - расходы на ЗП - 270к + - удорожание сопровождения автотестов
СЛОЖНОСТИ В ПОИСКЕ НЕОБХОДИМЫХ КАДРОВ НАРЫНКЕ
К А К И Е П Л А Т Ф О Р М ЫР А С С М А Т Р И В А Л И
А С ЧЕМ СРАВНИВАЛИ?
П Р О И С С Л Е Д О В А Н И Е
CrossplatformJava разработчик - 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
iOSAndroid
на реальных девайсахна симуляторах (iOS, FirefoxOS)эмуляторах (Android).
нативныегибридныеweb приложения
Тесты можно запускать:
Можно тестировать:
Поддержка платформ:
Н Е М Н О Г О П Р ОН А Ш
Ф Р Е Й М В О Р К
ЧТО ПОЛУЧИЛИ?
А С Е Е В А А Н А С Т А С И Я
Ф А Й Л О В А ЯС Т Р У К Т У Р А
СТРУКТУРА ПРОЕКТА
П Р О Ф Р Е Й М В О Р К
Г И Б К О ЕК О Н Ф И Г У Р И Р О В А Н И Е
КОНФИГУРИРОВАНИЕ
П Р О Ф Р Е Й М В О Р К
ТЕСТ-КЕЙСЫ В BDD
А С Е Е В А А Н А С Т А С И Я
ТЕСТ-КЕЙСЫ В BDD
З А Ч Е М Н А М B D D ?
Конструкция:GivenWhenThen
Reports:Allure
orSerenity
И ВСЁ -ТАКИ ПОЧЕМУНА РУССКОМ ЯЗЫКЕ?
А С Е Е В А А Н А С Т А С И Я
А П О Т ОМ У Ч Т О 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 proNode.js
Job1Job2Job3
androidустройства
iosустройства
эмуляторы androidустройств
Appium JavaJDK
К О Н Т А К Т Ы
КАК СО МНОЙ СВЯЗАТЬСЯ?
anastasia.aseeva
itraviesonastya
@travieso_nastya
А С Е Е В А А Н А С Т А С И Я