Почему Appium?

anastasiaaseeva 489 views 22 slides Oct 05, 2016
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

Доклад о том, какими принципами мы руководствовались при выборе платформы для автоматизации тестирования мобильных приложений. И почему Appium оптимальное решение д...


Slide Content

ПОЧЕМУ
APPIUM?
АЛЬФА ЛАБОРАТОРИЯ
АСЕЕВА АНАСТАСИЯ

ПАРУ СЛОВ О СЕБЕ:
АСЕЕВА АНАСТАСИЯ
ПОЧЕМУ APPIUM?
Devops евангелист
Agile Testing тренер
Руководитель автоматизации
тестирования 
В QA c 2012 года
В IT с 2007 года
В Альфа­Банке внедряю Облака 
Немного пишу код =)
Люблю Linux

ЗАЧЕМ НАМ
АВТОТЕСТЫ?
ПОЧЕМУ APPIUM?
"У вебчика есть автотесты, а у нас нет!"
...на самом деле:
Хотим быстро доставлять ценность до клиента!

Исследовали "рынок"
платформ и выбрали ТОП
подходящих, для
проверки гипотезы
Исследование
АСЕЕВА АНАСТАСИЯ
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
ПРИЛОЖЕНИЙ
ПРО APPIUM

ФИЛОСОФИЯ
APPIUM
4 ПРИНЦИПА
АСЕЕВА АНАСТАСИЯ
1. Не нужно перекомпилировать или модифицировать приложение, для того чтобы
автоматизировать его
2. Не должны быть завязаны на определенный язык программирования или
фреймворк для того чтобы писать и запускать тесты
3. Фреймворк не должен переизобретать колесо, когда дело доходит до
автоматизации API
4. Фреймвор должен быть open source

ОБЩЕЕ ИНФО
ПРО APPIUM
ПРО APPIUM
iOS
Android
на реальных девайсах
на симуляторах (iOS, FirefoxOS)
эмуляторах (Android).
нативные
гибридные
web приложения
Тесты можно запускать:
Можно тестировать:
Поддержка платформ:

НЕМНОГО ПРО
НАШ
ФРЕЙМВОРК
ЧТО ПОЛУЧИЛИ?
АСЕЕВА АНАСТАСИЯ

ФАЙЛОВАЯ
СТРУКТУРА
СТРУКТУРА ПРОЕКТА
ПРО ФРЕЙМВОРК

ГИБКОЕ
КОНФИГУРИРОВАНИЕ
КОНФИГУРИРОВАНИЕ
ПРО ФРЕЙМВОРК

ТЕСТ-КЕЙСЫ В BDD
АСЕЕВА АНАСТАСИЯ

ТЕСТ-КЕЙСЫ В BDD
ЗАЧЕМ НАМ BDD?
Конструкция:
Given
When
Then
Reports:
Allure
or
Serenity

И ВСЁ-ТАКИ ПОЧЕМУ
НА РУССКОМ ЯЗЫКЕ?
АСЕЕВА АНАСТАСИЯ
А ПОТОМУ ЧТО SPECIFICATION EXAMPLE

ЛОКАТОРЫ
ПРО ФРЕЙМВОРК
Использование 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
АСЕЕВА АНАСТАСИЯ