М У A P P I U M ? Devops евангелист Agile Testing тренер Руководитель автоматизации тестирования В QA c 2012 года В IT с 2007 года В АльфаБанке внедряю Облака Немного пишу код =) Люблю Linux
Исследование А С Е Е В А А Н А С Т А С И Я 01 В итоге исследования выбрали appium. Разработали ядро для АБМ. Пилот 02 До конца 2016го года разработать кроссплатформенный smoke для Альфа Мобайла Разработка smoke-set для двух платформ 03 СТРАТЕГИЯ Н А Ш Е Р А З В И Т И Е
технологическим стеком ЧТО ХОТИМ? ios LIKES 1500 75% Java Платформа должна поддерживать BDD библиотеки для написания тестов, чтоб супертестировщики самостоятельно поддерживали проект Необходима возможность построить свою "ферму" с устройствами для распределенного тестирования Платформа должна обладать развитым интернет-community Кроссплатформенно е Core Автотесты для android и ios Ci: Jenkins+Allure Community И С С Л Е Д О В А Н И Е С П И С О К О Г Р А Н И Ч Е Н И Й
А С Е Е В А А Н А С Т А С И Я 01 DDD, PageObject BDD 03 Selenium-оподобный подход. Низкий порог вхождения в использование инструмента. Selenium подход 02 Единый технологический стек для автоматизации тестирования, как для мобильных приложений так и для веб- приложений Переиспользование инженерных практик и экспертизы 04 ПРИНЦИПЫ Р А З Р А Б О Т К И Я Д Р А
Л Е Д О В А Н И Е Native platform Разработчик для UIAutomation - 150к + Java разработчик для UIautomator - 120к + ИТОГО: - расходы на ЗП - 270к + - удорожание сопровождения автотестов СЛОЖНОСТИ В ПОИСКЕ НЕОБХОДИМЫХ КАДРОВ НА РЫНКЕ
О Р М Ы Р А С С М А Т Р И В А Л И А С ЧЕМ СРАВНИВАЛИ? П Р О И С С Л Е Д О В А Н И Е Crossplatform Java разработчик - 120к + Поддержка и сопровождение автотестов - силами супертестировищиков СЛОЖНОСТИ ПРИ ВЫХОДЕ ОБНОВЛЕНИЙ ДЛЯ ПЛАТФОРМ ios
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 приложения Тесты можно запускать: Можно тестировать: Поддержка платформ:
О Р К Использование DDD (Data Driven Development) для проектирования кроссплатформности Преимущества данного подхода: Файл могут отредактировать даже тестировщики Переиспользуемые локаторы хранятся и редактируются в одном месте Упрощение поддержки автотестов Если в проекте много тест-кейсов, то хранить локаторы в коде - неоптимально Если над проектом работают более 1го разработчика, упрощается взаимодействие
Р У К Т У Р А Наша целевая схема Конфигурация CI Jenkins Appium OS: Mac mini pro Node.js Job1 Job2 Job3 androidустройства iosустройства эмуляторы android устройств Appium Java JDK