Почему Appium?

Preview:

Citation preview

ПОЧЕМУ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

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