Transcript
Page 1: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

mobile Automation in the cloud

Page 2: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Hello!Dmitry Lemeshko

QA Automation @ Ciklum Minsk / eBuilder Sweden

Page 3: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

PLAN for TODAY’s EVENING:× Automation without a cloud: any problems?

× Execution in cloud: server-side vs client-side

× Device labs, frameworks and integrations

× What may go wrong a.k.a limitations

× Tool set and Use case on real project

× Your Questions

Page 4: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

LOCALRUN

Page 5: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Who took the device?

UPDATE device os VERSION?APPIUM Server errors?

Device cleaning? Xcode 7 or xcode 8?

Who is responsible for maintenance?Parallel run?

Page 6: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

WITHCLOUD

Page 7: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Who took the device?

UPDATE device os version?APPIUM Server errors?

DEVice Cleaning? Xcode 7 or xcode 8?

Who is responsible for maintenance?Parallel run?

Page 8: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

LET’S START the JOURNEY

Page 9: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

POPULAR Mobile Device Clouds

Page 10: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Client-side vs Server side cloud execution

Page 11: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

SERVER-side CLOUD execution

PROS

× Tests execution self-managed× Parallel run out-of-box× Add extra data and apps× Automatic results aggregation

CONS

× Limited language support× Follow code structure× No control on test execution× Limited integration

Page 12: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

CLient-side cloud execution

PROS

× Language flexibility× Drive your own framework× Code privacy× More ways for integration

CONS

× Lots to manage yourself: device availability, test execution, parallel run, results

Page 13: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Device labs

Android/iOS 143 / 36 357 / 42 176 / 176

Android 4.4+/6.x/7.x 67 / 31 / 7 137 / 35 / 5 150 /16 / 8

iOS 9.x/10.x 23 / 3 5 / 14 100 / 10

Manufactures 20 32 22

Tablets 18% 30% 30%

Page 14: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Framework support

Android AppiumEspressoRobotium

Appium CalabashEspresso UI AutomatorRobotium

iOS Appium Appium CalabashUI Automation XCTest / XCUITest

Page 15: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Integration support

CLOUD API JAVA, RUBY CLIENTS JAVA, RUBY, PYTHON CLIENTS

AWS API / AWS CLI

PLUGINS JENkiNS, GRaDLE JENkiNS, GRaDLE

App release tools Hockey App

Bug Trackers JIRA, GITHUB JIRA

Page 16: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

URLhttp://appium.testobject.com/wd/hub

Desired capabilitiestestobject_api_key = 73A**********12Testobject_device = Samsung_Galaxy_S7_real

TEST OBJECT Appium Setup

Page 17: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

testobject_appium_version = 1.6.3testobject_app_id = 92testobject_suite_name = Smoke Testtestobject_test_name = Navigation via menutestobject_cache_device = truetestobject_session_creation_timeout = 30Returntestobject_test_live_view_urltestobject_test_report_url

TEST OBJECT OPTIONAL CAPABILITIES

Page 18: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

test execution output in cloud1. Device logs

2. Appium logs

3. Screenshots

4. Test run recording

5. Cpu/Memory usage

Page 19: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

What may go wrong a.k.a limitations

1. Appium server update frequency

2. test runs fail on device setup stage

3. No login with custom google account

4. No device settings change

5. No wifi turn on/off

Page 20: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Moved to testobject.. still have limitations1. No device storage access

2. Sms, contacts & call history cleaning

3. No push notifications for iOS

4. No Geo location setup

5. Camera usage

Page 21: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Tool set and Use case on real project× Appium× Java/TestNG× HockeyApp API× TestObject API× Team City CI

× Smoke: random in group× Regression: top 10 devices

(covers 70% Android users)× Feature test (on request):

50+ devices

Page 22: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

BACKUP & RESTORE FUNCTIONALity TESTING

Page 23: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

Can you try it?

Page 24: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

GO AHEAD!

250 min trial

5 free devices

3 free devices

Page 25: Тестирование мобильных приложений используя облачные сервисы. TestDroid, TestObject и многое другое

THANKS!Any questions?

You can find me at [email protected]


Recommended