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

Почему Appium?

  • Upload
    -

  • View
    94

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Почему Appium?

ПОЧЕМУAPPIUM?

АЛЬФА ЛАБОРАТОРИЯ

А С Е Е В А А Н А С Т А С И Я

Page 2: Почему Appium?

ПАРУ СЛОВ О СЕБЕ :АСЕЕВА АНАСТАСИЯ

П О Ч Е М У A P P I U M ?

Devops евангелист

Agile Testing тренер

Руководитель автоматизации

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

В QA c 2012 года

В IT с 2007 года

В Альфа­Банке внедряю Облака 

Немного пишу код =)

Люблю Linux

Page 3: Почему Appium?

ЗАЧЕМ НАМАВТОТЕСТЫ?

П О Ч Е М У A P P I U M ?

"У вебчика есть автотесты, а у нас нет!"

...на самом деле:Хотим быстро доставлять ценность до клиента!

Page 4: Почему Appium?

Исследовали "рынок"платформ и выбрали ТОП

подходящих, дляпроверки гипотезы

Исследование

А С Е Е В А А Н А С Т А С И Я

01

В итоге исследованиявыбрали appium.

Разработали ядро дляАБМ.

Пилот02

До конца 2016го года разработатькроссплатформенный smoke для Альфа

Мобайла

Разработка smoke-set для двухплатформ

03

СТРАТЕГИЯН А Ш Е

Р А З В И Т И Е

Page 5: Почему Appium?

Ограниченныйбюджет не позволяет

на проект братьразработчиков с

разнымтехнологическим

стеком

ЧТО ХОТИМ?

ios LIKES1500

75%

Java

Платформа должнаподдерживать BDD

библиотеки для написаниятестов, чтоб

супертестировщикисамостоятельно

поддерживали проект

Необходимавозможность

построить свою"ферму" с устройствамидля распределенного

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

Платформа должнаобладать развитым

интернет-community

КроссплатформенноеCore

Автотесты дляandroid и ios

Ci:Jenkins+Allure

Community

И С С Л Е Д О В А Н И Е

С П И С О КО Г Р А Н И Ч Е Н И Й

Page 6: Почему Appium?

Использованиебиблиотек BDD,например JBehave

Использованиепаттернов PageObject,

подхода DDD

А С Е Е В А А Н А С Т А С И Я

01DDD, PageObjectBDD

03

Selenium-оподобныйподход. Низкий порог

вхождения виспользованиеинструмента.

Selenium подход02

Единый технологический стек дляавтоматизации тестирования, как длямобильных приложений так и для веб-

приложений

Переиспользование инженерныхпрактик и экспертизы

04ПРИНЦИПЫР А З Р А Б О Т К И

Я Д Р А

Page 7: Почему Appium?

К А К И Е П Л А Т Ф О Р М ЫР А С С М А Т Р И В А Л И

А С ЧЕМ СРАВНИВАЛИ?

П Р О И С С Л Е Д О В А Н И Е

Native

CrossplatformVS.

Page 8: Почему Appium?

А С ЧЕМ СРАВНИВАЛИ?

П Р О И С С Л Е Д О В А Н И Е

Native platformРазработчик для UIAutomation - 150к +Java разработчик для UIautomator - 120к +

ИТОГО: - расходы на ЗП - 270к + - удорожание сопровождения автотестов

СЛОЖНОСТИ В ПОИСКЕ НЕОБХОДИМЫХ КАДРОВ НАРЫНКЕ

Page 9: Почему Appium?

К А К И Е П Л А Т Ф О Р М ЫР А С С М А Т Р И В А Л И

А С ЧЕМ СРАВНИВАЛИ?

П Р О И С С Л Е Д О В А Н И Е

CrossplatformJava разработчик - 120к +Поддержка и сопровождение автотестов - силамисупертестировищиков

СЛОЖНОСТИ ПРИ ВЫХОДЕ ОБНОВЛЕНИЙ ДЛЯПЛАТФОРМ ios

Page 10: Почему Appium?

OPEN SOURCE ФРЕЙМВОРКДЛЯ АВТОМАТИЗАЦИ

ТЕСТИРОВАНИЯ NATIVE,MOBILE, HYBRIDПРИЛОЖЕНИЙ

П Р О A P P I U M

Page 11: Почему Appium?

Ф И Л О С О Ф И ЯA P P I U M

4 ПРИНЦИПА

А С Е Е В А А Н А С Т А С И Я

1. Не нужно перекомпилировать или модифицировать приложение, для того чтобы

автоматизировать его

2. Не должны быть завязаны на определенный язык программирования или

фреймворк для того чтобы писать и запускать тесты

3. Фреймворк не должен переизобретать колесо, когда дело доходит до

автоматизации API

4. Фреймвор должен быть open source

Page 12: Почему Appium?

О Б Щ Е Е И Н Ф О

ПРО APPIUM

П Р О A P P I U M

iOSAndroid

на реальных девайсахна симуляторах (iOS, FirefoxOS)эмуляторах (Android).

нативныегибридныеweb приложения

Тесты можно запускать:

Можно тестировать:

Поддержка платформ:

Page 13: Почему Appium?

Н Е М Н О Г О П Р ОН А Ш

Ф Р Е Й М В О Р К

ЧТО ПОЛУЧИЛИ?

А С Е Е В А А Н А С Т А С И Я

Page 14: Почему Appium?

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

СТРУКТУРА ПРОЕКТА

П Р О Ф Р Е Й М В О Р К

Page 15: Почему Appium?

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

КОНФИГУРИРОВАНИЕ

П Р О Ф Р Е Й М В О Р К

Page 16: Почему Appium?

ТЕСТ-КЕЙСЫ В BDD

А С Е Е В А А Н А С Т А С И Я

Page 17: Почему Appium?

ТЕСТ-КЕЙСЫ В BDD

З А Ч Е М Н А М B D D ?

Конструкция:GivenWhenThen

Reports:Allure

orSerenity

Page 18: Почему Appium?

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

А С Е Е В А А Н А С Т А С И Я

А П О Т ОМ У Ч Т О S P E C I F I C A T I O N E X A M P L E

Page 19: Почему Appium?

ЛОКАТОРЫ

П Р О Ф Р Е Й М В О Р К

Использование DDD (Data Driven Development) дляпроектирования кроссплатформности

android­устройства

Page 20: Почему Appium?

ЛОКАТОРЫ

П Р О Ф Р Е Й М В О Р К

Использование DDD (Data Driven Development) дляпроектирования кроссплатформности

Преимущества данного подхода:

Файл могут отредактировать даже тестировщики

Переиспользуемые локаторы хранятся и редактируются в одном месте

Упрощение поддержки автотестов

Если в проекте много тест-кейсов, то хранить локаторы в коде -

неоптимально

Если над проектом работают более 1го разработчика, упрощается

взаимодействие

Page 21: Почему Appium?

CI: КАК ВЫГЛЯДИТ

И Н Ф Р А С Т Р У К Т У Р А

Наша целевая схема

Конфигурация CI

Jenkins

Appium

OS: Mac mini proNode.js

Job1Job2Job3

android­устройства

ios­устройства

эмуляторы android­устройств

Appium JavaJDK

Page 22: Почему Appium?

К О Н Т А К Т Ы

КАК СО МНОЙ СВЯЗАТЬСЯ?

anastasia.aseeva

itraviesonastya

@travieso_nastya

А С Е Е В А А Н А С Т А С И Я