29
APPIUM+CUCUMBER+RUBY: МОБИЛЬНАЯ АВТОМАТИЗАЦИЯ МАЛОЙ КРОВЬЮ Малых Андрей Медиахолдинг “Абак- Пресс”

Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Embed Size (px)

Citation preview

Page 1: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

APPIUM+CUCUMBER+RUBY:МОБИЛЬНАЯ АВТОМАТИЗАЦИЯ

МАЛОЙ КРОВЬЮ

Малых АндрейМедиахолдинг “Абак-Пресс”

Page 2: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Кто я?

● Тестировщик

● 3.5 года в тестировании (2 web, 1.5 mobile)

● Ручное/Автоматизированное

● Мобильное приложение “Пульс Цен” (МоПЦ)

Page 3: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

● О наших автотестах

● Примерные затраты

● Профиты, которые получили

О чем я расскажу?

Page 4: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс
Page 5: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Разные версии ОС

IOS 7+ Android 2.3+

Page 6: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Наши устройства

Page 7: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Регрессия

● ~ 10 - 15 мин. на устройство

● 5 IOS● 8 Android● IOS 50 - 80 мин.● Android 80 – 120 мин.

Page 8: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Ресурсы

Немного свободного времени

Начальное знание Ruby

Некоторый опыт написания тестов для Web

Page 9: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

● Сократить время на регрессию

● Покрыть тестами основную

функциональность

Цели

Page 10: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Инструменты

Page 11: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

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

Page 12: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Низкий порог вхождения

Page 13: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Тестирование на реальных устройствах

Page 14: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс
Page 15: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Отсутствие многопоточности IOS

Page 16: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Отдельный Mac

Page 17: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Отличие интерфейсов

Page 18: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

С чего начать?

node lib/server/main.js --command-timeout "90"

--debug-log-spacing --platform-version "8.3"

--platform-name "iOS" --app "/imopc.app"

--udid "81275bc9e031d8567830c9cc4959064f"

--show-ios-log --device-name "iPad Air"

--language "ru" --launch-timeout "190000"

--locale "ru_RU" --native-instruments-lib

--isolate-sim-device

node .

Page 19: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Особенности написания тестов

Page 20: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Appium inspector

Page 21: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Appium ruby console

Page 22: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Потрачено времени

● ~ 3 месяца

● 0 - 4 часов в неделю на

написание/портирование тестов

Page 23: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Результаты

Page 24: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Чего добились?

● ~ 40 - 50 минут на ОС

● Поддержка/Написание тестов от 1 - 3ч в

неделю

● Покрыто 60 - 70% функциональности

Page 25: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Чего добились?

● Тесты находят баги

● Crash-free users было 94.5 - 95.5%

стало 98.5 - 99.5%

Page 26: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Чего добились?

● Было 5%● Стало <1%

Page 27: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Планы

● Многопоточность для Android

● Полноценное подключение к CI

Page 28: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Заключение

● Мобильные автотесты – это не сложно

● Даже неполное покрытие приносит профиты

● Автоматизируйте, не бойтесь

Page 29: Appium+Cucumber+Ruby: мобильная автоматизация малой кровью, Андрей Малых, Абак Пресс

Вопросы?

Малых Андрей✉ [email protected]