Upload
sqalab
View
975
Download
4
Embed Size (px)
Citation preview
Software quality assurance days20 Международная конференция по вопросам качества ПОsqadays.com
Минск. 24–26 ноября 2016
Дмитрий ХимионМосква, Россия
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
Дмитрий Химион руководитель направления
автоматизации тестирования
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
Введение
Анализ инструментов автоматизации мобильного тестирования
SQA Days#16С инструментами автоматизации
тестированияВсё очень хорошо!
План доклада
• Чем пользуемся, в чём нуждаемся?• Ограничения исследования• Критерии анализа• Анализ инструментов• Main-stream & Trend инструменты• Итоги• Вопросы
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
Что нам необходимо?
Требования тестирования:• Работа в одной «эко-системе» с разработчиками• Покрытие устройств целевой аудитории• Удобный для проекта язык программирования• Наборы устройств• Наборы тестов • Наборы данных
o@regressiono@smokeo@sanity
@adminDataSet
@android
@managerDataSet@workerDataSet
по версии ОС @version[x.x]@ios
Анализ инструментов автоматизации мобильного тестирования
Что нам необходимо?
Требования к управлению тестами:• Доступность тестирования для каждого в команде• Полная информация о тестировании моб. приложений• Разделение ошибок по источникам появления• Общий доступ к результатам тестирования
Анализ инструментов автоматизации мобильного тестирования
Что нам необходимо?
Условия работы на проекте:• Распределённая команда• Физическая недоступность тестовых стендов• Разница часовых поясов
Анализ инструментов автоматизации мобильного тестирования
Ограничения исследования
Mobile OS:• WinPhone• BlackBerry• FireFoxOS
Анализ инструментов автоматизации мобильного тестирования
Ограничения исследования
Mobile OS:• WinPhone• BlackBerry• FireFoxOS
Эй, Windows Phone в тренде!!!
Ограничения исследования
Mobile OS:• WinPhone• BlackBerry• FireFoxOS
Анализ инструментов автоматизации мобильного тестирования
Но тренд же…
Анализ инструментов автоматизации мобильного тестирования
Ограничения исследования
Mobile OS:• WinPhone• BlackBerry• FireFoxOS
Remote mobile services:• Perfecto mobile• pCloud• Remote TestKit• SauceLabs• AWS Device Farm
• АПК типа SIGOS и т.п.• Emulators
Анализ инструментов автоматизации мобильного тестирования
• DeviceAnywhere Studio• SeeTest • TestComplete 12• Ranorex• Squish• HP UFT• IBM RFT• SilkMobile
• Espresso 2+• XCTest• Appium• Calabash• Selendroid• UI Automator• UI Automation• Robotium
Ограничения исследования
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии инструментов
• 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
Анализ инструментов автоматизации мобильного тестирования
Шкала оценки критериев
Критерий Оценка-2 -1 0 1 2
Рефакторинг
Анализ инструментов автоматизации мобильного тестирования
Шкала оценки критериев
Критерий Оценка-2 -1 0 1 2
Рефакторинг
Оценка
Open Source
Proprietary
1 2
Анализ инструментов автоматизации мобильного тестирования
Шкала оценки критериев
Критерий Оценка-2 -1 0 1 2
Рефакторинг
Оценка
Open Source
Proprietary-8… 0… +8
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии
Mobile Platforms
КритерийОценка
Open Source Proprietary
Распознавание UI элементов Android iOS Поддержка 1 моб. платформы Поддержка 2 моб. платформПоддержка более чем 2 моб. платформ
+6+3
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии
App type support
КритерийОценка
Open Source ProprietaryВзаимодействие с нативным приложением Взаимодействие с гибридным приложением Взаимодействие с веб приложением Необходимость инструментирования приложения
+1+2
Оценочные критерии
Context support +1-1
КритерийОценка
Open Source Proprietary
Взаимодействие с контекстом приложения Взаимодействие с контекстом устройства
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии
Record&Play
КритерийОценка
Open Source Proprietary
Запись теста Качество записанного кодаВоспроизведение теста Автоматическое определение элементов Форматирование записанного теста
-2-3
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии
IDE
КритерийОценка
Open Source Proprietary
Навигация по коду
Рефакторинг кода
Подсветка синтаксиса
Интеграция с Bug tracker/VCS
КастомизацияИнструментарий отладкиЯзык программирования
-2+11
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии
API
КритерийОценка
Open Source Proprietary
Надёжность работы API Скорость работы API Масштабируемость API BDD / Gherkin Data Driven TestingKeyword Driven TestingObject Driven Testing – Page Object / Objects Repository
-1-1
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии
Test Management
КритерийОценка
Open Source Proprietary
Параметризация тестов Комбинирование/предицирование тестов Механизм управления запуском тестовTest parallelization Test sharding
-2-1
Анализ инструментов автоматизации мобильного тестирования
Оценочные критерии
Logs&Reports
КритерийОценка
Open Source Proprietary
Глубина по разделению ошибок
Доступные расширения
Оптимизация объёма лога
Расширение информативности лога
Логирование утилизации аппаратных ресурсов
-1-1
Main-stream & Trend инструменты
• DeviceAnywhere Studio• SeeTest
• Appium 2• XCTest• Calabash• Espresso 2+
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
Примеры по инструментам - 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);}
Анализ инструментов автоматизации мобильного тестирования
Примеры по инструментам - 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" />
@Overrideprotected SECUREComponent createSECUREComponent() { mTestComponent = DaggerAndroidTestSECUREComponent.builder() .generalModule(new GeneralModule()) .managerModule(new ManagerModule(this)) .build(); return mTestComponent;}
clickAutomatorById(R.id.txt_choice_two);
Анализ инструментов автоматизации мобильного тестирования
Примеры по инструментам KeyNote Studio
Анализ инструментов автоматизации мобильного тестирования
Примеры по инструментам KeyNote Studio
Hardware
Keyboard
Анализ инструментов автоматизации мобильного тестирования
Итоги
IDEAPI
Mobile PlatformsApp type supportContext support
Record&Play
Test management
Logs/Reports
-1-3-1-3
+1-2-2-4
OS LS
+120
+3+3
-2+1+6+1
-14; +14
-14; +14
-12; +12
-8; +8
-4; +4
-10; +10
-10; +10
-10; +10
Анализ инструментов автоматизации мобильного тестирования
Итоги
• Функций «Test sharding» и «Test parallelization» НЕТ• Функционал App layer сильно превалирует над Device layer• Недооценена важность логирования Hardware.• Лицензионные инструменты мало чем лучше Open-Source
Анализ инструментов автоматизации мобильного тестирования
Вопросы?
Picasso-key
dmitry.khimion