Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Анализ инструментов автоматизации мобильного тестирования

1,188 views

Published on

Доклад Дмитрия Химиона на конференции SQA Days-20. 24-26 ноября 2016. Минск
www.sqadays.com

Published in: Education
  • Be the first to comment

  • Be the first to like this

Анализ инструментов автоматизации мобильного тестирования

  1. 1. Software quality assurance days 20 Международная конференция по вопросам качества ПО sqadays.com Минск. 24–26 ноября 2016 Дмитрий Химион Москва, Россия Анализ инструментов автоматизации мобильного тестирования
  2. 2. Анализ инструментов автоматизации мобильного тестирования Дмитрий Химион руководитель направления автоматизации тестирования Performance Lab Докладчик на конференциях: 62 проектов по автоматизации тестирования +9 проекта - прототипы инструментария АТ Надо фото• SQA Days 13 • ITSM Forum • SQA Days 14 • SQA Days 15 • SQA Days 16 • CodeFest 2015 • SQA Days 17 • Quality days • SQA Days 18 • CodeFest 2016 • SQA Days 19 • QA FEST 2016
  3. 3. Введение Анализ инструментов автоматизации мобильного тестирования SQA Days#16 С инструментами автоматизации тестирования Всё очень хорошо!
  4. 4. План доклада • Чем пользуемся, в чём нуждаемся? • Ограничения исследования • Критерии анализа • Анализ инструментов • Main-stream & Trend инструменты • Итоги • Вопросы Анализ инструментов автоматизации мобильного тестирования
  5. 5. Анализ инструментов автоматизации мобильного тестирования Что нам необходимо? Требования тестирования: • Работа в одной «эко-системе» с разработчиками • Покрытие устройств целевой аудитории • Удобный для проекта язык программирования • Наборы устройств • Наборы тестов • Наборы данных o @regression o @smoke o @sanity @adminDataSet @android @managerDataSet @workerDataSet по версии ОС @version[x.x] @ios
  6. 6. Анализ инструментов автоматизации мобильного тестирования Что нам необходимо? Требования к управлению тестами: • Доступность тестирования для каждого в команде • Полная информация о тестировании моб. приложений • Разделение ошибок по источникам появления • Общий доступ к результатам тестирования
  7. 7. Анализ инструментов автоматизации мобильного тестирования Что нам необходимо? Условия работы на проекте: • Распределённая команда • Физическая недоступность тестовых стендов • Разница часовых поясов
  8. 8. Анализ инструментов автоматизации мобильного тестирования Ограничения исследования Mobile OS: • WinPhone • BlackBerry • FireFoxOS
  9. 9. Анализ инструментов автоматизации мобильного тестирования Ограничения исследования Mobile OS: • WinPhone • BlackBerry • FireFoxOS Эй, Windows Phone в тренде!!!
  10. 10. Ограничения исследования Mobile OS: • WinPhone • BlackBerry • FireFoxOS Анализ инструментов автоматизации мобильного тестирования Но тренд же…
  11. 11. Анализ инструментов автоматизации мобильного тестирования Ограничения исследования Mobile OS: • WinPhone • BlackBerry • FireFoxOS Remote mobile services: • Perfecto mobile • pCloud • Remote TestKit • SauceLabs • AWS Device Farm • АПК типа SIGOS и т.п. • Emulators
  12. 12. Анализ инструментов автоматизации мобильного тестирования • DeviceAnywhere Studio • SeeTest • TestComplete 12 • Ranorex • Squish • HP UFT • IBM RFT • SilkMobile • Espresso 2+ • XCTest • Appium • Calabash • Selendroid • UI Automator • UI Automation • Robotium Ограничения исследования
  13. 13. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии инструментов • Object spy • Technology interaction • Process interaction Mobile platforms • Record management • Object auto-definition • Test forming Record&Play • Parameterization • Test configuration • Test parallelization • Test sharding Test management • Extansions • Customisation • Informativeness Logs/Reports • Native • Hybrid • Mobile web App type support • Application • Device Context support • Language • Dev. usability • Debug tools IDE • Integrations • HandlersAPI
  14. 14. Анализ инструментов автоматизации мобильного тестирования Шкала оценки критериев Критерий Оценка -2 -1 0 1 2 Рефакторинг
  15. 15. Анализ инструментов автоматизации мобильного тестирования Шкала оценки критериев Критерий Оценка -2 -1 0 1 2 Рефакторинг Оценка Open Source Proprietary 1 2
  16. 16. Анализ инструментов автоматизации мобильного тестирования Шкала оценки критериев Критерий Оценка -2 -1 0 1 2 Рефакторинг Оценка Open Source Proprietary -8… 0… +8
  17. 17. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии Mobile Platforms Критерий Оценка Open Source Proprietary Распознавание UI элементов Android iOS Поддержка 1 моб. платформы Поддержка 2 моб. платформ Поддержка более чем 2 моб. платформ +6+3
  18. 18. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии App type support Критерий Оценка Open Source Proprietary Взаимодействие с нативным приложением Взаимодействие с гибридным приложением Взаимодействие с веб приложением Необходимость инструментирования приложения +1+2
  19. 19. Оценочные критерии Context support +1-1 Критерий Оценка Open Source Proprietary Взаимодействие с контекстом приложения Взаимодействие с контекстом устройства Анализ инструментов автоматизации мобильного тестирования
  20. 20. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии Record& Play Критерий Оценка Open Source Proprietary Запись теста Качество записанного кода Воспроизведение теста Автоматическое определение элементов Форматирование записанного теста -2-3
  21. 21. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии IDE Критерий Оценка Open Source Proprietary Навигация по коду Рефакторинг кода Подсветка синтаксиса Интеграция с Bug tracker/VCS Кастомизация Инструментарий отладки Язык программирования -2+11
  22. 22. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии API Критерий Оценка Open Source Proprietary Надёжность работы API Скорость работы API Масштабируемость API BDD / Gherkin Data Driven Testing Keyword Driven Testing Object Driven Testing – Page Object / Objects Repository -1-1
  23. 23. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии Test Management Критерий Оценка Open Source Proprietary Параметризация тестов Комбинирование/предицирование тестов Механизм управления запуском тестов Test parallelization Test sharding -2-1
  24. 24. Анализ инструментов автоматизации мобильного тестирования Оценочные критерии Logs& Reports Критерий Оценка Open Source Proprietary Глубина по разделению ошибок Доступные расширения Оптимизация объёма лога Расширение информативности лога Логирование утилизации аппаратных ресурсов -1-1
  25. 25. Main-stream & Trend инструменты • DeviceAnywhere Studio • SeeTest • Appium 2 • XCTest • Calabash • Espresso 2+ Анализ инструментов автоматизации мобильного тестирования
  26. 26. Анализ инструментов автоматизации мобильного тестирования Примеры по инструментам - Espresso 2.+ public void applyEducation() throws ScreenException, AssertionException { clickAutomatorById(R.id.txt_choice_two); } package android.support.test.uiautomator; UiObject element = FindersAutomator.byResourceId(resourceId, timeoutMs); public UiSelector resourceId(String id) { if (id == null) { throw new IllegalArgumentException("id cannot be null"); } return buildSelector(SELECTOR_RESOURCE_ID, id); }
  27. 27. Анализ инструментов автоматизации мобильного тестирования Примеры по инструментам - Espresso 2.+ <com.SECURE.views.CustomTextView android:id="@+id/txt_choice_two" style="@style/dialog_standard_action" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button 2" app:font="semi_bold" /> @Override protected SECUREComponent createSECUREComponent() { mTestComponent = DaggerAndroidTestSECUREComponent.builder() .generalModule(new GeneralModule()) .managerModule(new ManagerModule(this)) .build(); return mTestComponent; } clickAutomatorById(R.id.txt_choice_two);
  28. 28. Анализ инструментов автоматизации мобильного тестирования Примеры по инструментам KeyNote Studio
  29. 29. Анализ инструментов автоматизации мобильного тестирования Примеры по инструментам KeyNote Studio Hardware Keyboard
  30. 30. Анализ инструментов автоматизации мобильного тестирования Итоги IDE API Mobile Platforms App type support Context support Record&Play Test management Logs/Reports -1 -3 -1 -3 +1 -2 -2 -4 OS LS +12 0 +3 +3 -2 +1 +6 +1 -14; +14 -14; +14 -12; +12 -8; +8 -4; +4 -10; +10 -10; +10 -10; +10
  31. 31. Анализ инструментов автоматизации мобильного тестирования Итоги • Функций «Test sharding» и «Test parallelization» НЕТ • Функционал App layer сильно превалирует над Device layer • Недооценена важность логирования Hardware. • Лицензионные инструменты мало чем лучше Open-Source
  32. 32. Анализ инструментов автоматизации мобильного тестирования Вопросы? Picasso-key dmitry.khimion@gmail.com dmitry.khimion

×