Mobile Saturday. Тема 3. Особенности тестирования приложения...

Post on 22-Jan-2018

570 views 1 download

Transcript of Mobile Saturday. Тема 3. Особенности тестирования приложения...

(Human Interface Guideline, Tools)

Android Mobile Application Testing

Smirnova Iuliia

QC Engineer at

SoftServe

Who am I

Smirnova Iuliia

QC Engineer,

- Android manual and automation

- iOS manual

Agenda

1. Mobile technologies

2. Application types

3. User Guides

4. Tools

Mobile Technologies

Global mobile statistics 2014

• There are nearly 7 billion mobile subscriptions worldwide. This is equivalent to 95.5 percent of the world population

• Sales of smartphones worldwide topped 1.2 billion in 2014, up 28% from 2013

Source: The International Telecommunication Union (May 2014)

The Future of Mobile Testing

Why is it challenging?

•Device Fragmentation

•Data Consumption

•Processing Power and Battery Life

•GPS, Biometric Scanners, Gyroscopes, Accelerometers

•Touchscreen UX and GUI

Mobile platforms

Evolution of Android

Application types

Applications

•Applications are the top layer in the Android architecture and this is where our application are going to fit

•Several standard applications come pre-installed with every device, such as:

1. SMS client app

2. Web browser

3. Contact manager

Native apps

•Downloadable

•Native APIs.

•Performance

Examples:

Facebook (from 2013)

LinkedIn (from 2013)

Evernote (from 2015)

Hybryd apps

•Cross platform

•Web view limitations

•Downloadable

Examples

Basecamp

Web apps

•Cross platform

•No need to download

User guide

Design principles

Common App UI

1. Action Bar2. Navigation Drawer3. Content Area

Action bar

1. App icon

2. View control

3. Action buttons

4. Action overflow

Contextual Action bar

Gestures

Users don’t click, they use gestures

•Tap/Double Tap

•Drag

•Flick/Swipe

•Zoom/Pinch

•Long Tap

Users expect all these gestures to work the same regardless of the app they are currently running

Tools

Device. Enable developers mode

• Settings > General > About phone• Software information > Build number

Rapidly tap on 'Build Number' five times and you will see the message 'You are now a developer!'

Developers options

•USB debugging

•Stay awake

•Show touches

•Pointer location

•Don't keep activities

•Background process limit

•Show all ANRs

•Allow mock locations

•Desktop backup password

•Take bug report

•Process stats

•Revoke USB debugging authorizations

•Show surface updates

•Show layout bounds

•Force RTL layout direction

USB debugging

Workstation. Android SDK

http://developer.android.com

Android Debug Bridge (ADB)

Is a command line tool that lets you communicate with an emulator and device.

Includes three components:

▪ The ClientIt is what runs on your development machine

▪ The ServerIt is held responsible for communication between the client and daemon running on a device/emulator

▪ The DaemonIt runs as a background process on each device/emulator instance

<sdk>/platform-tools/

ADB Commands

ADB Debugging

adb devices adb kill-server

Package manager

adb install adb uninstall adb shell pm list packages

File manager

adb pull adb push adb shell [ls/cd..]

$ adb logcat

$ android avd

1. From the main screen, click Create Virtual Device

2. In the Select Hardware window, select a device configuration, such as Nexus 6, then click Next.

3. Select the desired system version for the AVD and click Next.

4. Verify the configuration settings, then click Finish.

To launch the AVD in the Android Emulator, click the launch button in the list of AVDs.

Android Device Monitor

Tool with a graphical user interface for several Android application debugging and analysis tools.

From the command line, in the SDK tools/ directory, enter the following command:

$ monitor

Hierarchy viewer

Inspecting layouts

Take screenshot

Video record

1. Android 4.4 and higher:

adb shell screenrecord

•File under /sdcard/movie.mp4.

•Limit is 180 seconds (3 minutes)

2. Lower Android versions:

Using apps from GooglePlay (root required)

Network troubleshooting

• Burp Suite

• TCP Catcher

Location

• Fake GPS location from PlayMarket

• Android Device Monitor