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

Post on 16-Apr-2017

976 Views

Category:

Education

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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@gmail.com

dmitry.khimion

top related