introduction to android for quality engineers

108
Introduction to Android for Quality Engineers

Upload: ahmed-faidy

Post on 14-Jul-2015

322 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Introduction to Android for Quality Engineers

Introduction to Android for Quality

Engineers

Page 2: Introduction to Android for Quality Engineers

Agenda

• Introduction

• Android Diversity

• The Android Experience

• Building Blocks ’Controls’

• First Things First

• Content

• App Reporting

• Google Play Listing

• Tips and Tricks

• UX Don’ts

• Inspiring Apps

Page 3: Introduction to Android for Quality Engineers

Introduction

• A multi-screen world

• Android Domination

Page 4: Introduction to Android for Quality Engineers

A multi-Screen world

Page 5: Introduction to Android for Quality Engineers

Pope Benedict XVI

Pope Francis

Page 6: Introduction to Android for Quality Engineers

Android+multi-screen world

• Powering tablets, mobiles and much more…

Page 7: Introduction to Android for Quality Engineers

AOSP

Android Market Share

• #1 mobile OS

• Open platform

Android, 84%

iOS, 11.70%

Windows Phone, 2.50%

Blackberry, 0.50%

Others, 0.60%

IDC worldwide Smartphone Marketshare,Q2 2014

Page 8: Introduction to Android for Quality Engineers

Android Diversity (AKA Fragmentation)

• Tailored Experiences

• Versions

• Versions distribution

• Screen sizes distribution

Page 9: Introduction to Android for Quality Engineers

Tailored Experiences

TouchWiz

Page 10: Introduction to Android for Quality Engineers

Tailored Experiences

Page 11: Introduction to Android for Quality Engineers

Versions

9.1%

7%

7.8%

20.4%

21.3% 33.9%0.5%

4.1

4.2

4.3

2.3 4.0 4.4

Data collected during a 7-day period ending on December 1,

2014.

Page 12: Introduction to Android for Quality Engineers

Screen Sizes

• Dips and PPI

UI UI UI

UI

UI

UI

Unit Units / physical inch Density independentSame physical size on every screen

px varies no no

in 1 yes yes

mm 25.4 yes yes

pt 72 yes yes

dp ~160 yes no

sp ~160 yes no

Page 13: Introduction to Android for Quality Engineers

Screen Sizes

Page 14: Introduction to Android for Quality Engineers

Screen Sizes Distributionldpi mdpi tvdpi hdpi xhdpi xxhdpi Total

Small 5.4% 5.4%

Normal 9.4% 0.2% 36.9% 18.8% 16.3% 81.6%

Large 0.5% 4.6% 2% 0.6% 0.6% 8.3%

Xlarge 3.8% 0.3% 0.6% 4.7%

Total 5.9% 17.8% 2.2% 37.8% 20% 16.3%

Data collected during a 7-day period ending on December 1, 2014.

Page 15: Introduction to Android for Quality Engineers

The Android Experience

• OS UI

• Common app UI

• Responsiveness

• Icons

• Spacing

• Activity Lifecycle

Page 16: Introduction to Android for Quality Engineers

OS UI

• System buttons

• System bars

• Apps

• Notifications

• Widgets

Page 17: Introduction to Android for Quality Engineers

Common App UI

1. Main Action Bar

2. Navigation Drawer

3. Content Area

Page 18: Introduction to Android for Quality Engineers

Responsiveness

• Button states

• Communication

• Boundaries

Page 19: Introduction to Android for Quality Engineers

Icons

• Launcher: 3d effect

• Action bar: Flat, not too detailed

Page 20: Introduction to Android for Quality Engineers

Icons

• Contextual icons: Neutral, flat

and simple

• Notifications icons: Like the launcher

icon yet flat and simple(white)

Page 21: Introduction to Android for Quality Engineers

Spacing

Page 22: Introduction to Android for Quality Engineers

How it works

• Activity

• Service

• Content provider

Page 23: Introduction to Android for Quality Engineers

Activity States

Check activitydemo.apk for deeper understanding

Page 24: Introduction to Android for Quality Engineers

Building Blocks ‘Controls’• Basic Controls

• Progress and Activity

• Dialogs

Page 25: Introduction to Android for Quality Engineers

Basic Controls

Page 26: Introduction to Android for Quality Engineers

Progress and Activity

Page 27: Introduction to Android for Quality Engineers

Dialogs Clicking back dismisses the dialogs

Page 28: Introduction to Android for Quality Engineers

First Things First

App Installation

App Onboarding

Top Level Navigation

Action Bar

Page 29: Introduction to Android for Quality Engineers

App Installation

• From Play Store

• Side loading– Allow installation from unknown sources

– Install the apk directly

• Check the permissions

You can use: adb install ‘Path to apk’

Check app after moving to SDCard

Page 30: Introduction to Android for Quality Engineers

App Onboarding

• Don’t require registration upfront

• Splash screens are not recommended

• Integrate with popular login providers

Page 31: Introduction to Android for Quality Engineers

App Onboarding

• Display tips at the first use of

the application

• Help page->Action Bar

overflow or navigation drawer

Page 32: Introduction to Android for Quality Engineers

Top Level Navigation

• Tabs

Page 33: Introduction to Android for Quality Engineers

Top Level Navigation

• Spinner

Page 34: Introduction to Android for Quality Engineers

Top Level Navigation

• Navigation

Drawer

Page 35: Introduction to Android for Quality Engineers

Action Bar

• Structure

1. App icon

2. View control

3. Action buttons

4. Action overflow

Page 36: Introduction to Android for Quality Engineers

Action Bar

• Split Action Bar

1. Main action bar

2. Top bar

3. Bottom bar

Page 37: Introduction to Android for Quality Engineers

Action Bar

• Checklist

Use the FIT scheme

–Frequent

– Important

–Typical

Page 38: Introduction to Android for Quality Engineers

Up vs. Back

• Up brings the home screen of the application

• Back brings the previous screen

Page 39: Introduction to Android for Quality Engineers

Up vs. Back

• Special Cases

–A screen with multiple entry points

–The application is opened from a widget or a

notification

Page 40: Introduction to Android for Quality Engineers

Overflow Button Behavior

• Old app(2.3-), new device

Page 41: Introduction to Android for Quality Engineers

Overflow Button Behavior

• Phones with physical buttons

Page 42: Introduction to Android for Quality Engineers

Overflow Button Behavior

• New app(4.0+), virtual navigation

Page 43: Introduction to Android for Quality Engineers

Break

Page 44: Introduction to Android for Quality Engineers

ContentLists and Grids

Contextual Action Bar

Action Shortcuts

Confirming and acknowledging

Swiping

Full Screen

Top Level Navigation

Action Bar

Views and Orientation

Page 45: Introduction to Android for Quality Engineers

Lists & Grids

Page 46: Introduction to Android for Quality Engineers

Contextual Action Bars

• Appears after long press on

an element

• Enters selection mode

• Dismissed by clicking back

Page 47: Introduction to Android for Quality Engineers

Action Shortcuts

Page 48: Introduction to Android for Quality Engineers

Confirming and Acknowledging

• Visual feedback

• Displaying a confirmation popup

• Displaying a toast to acknowledge

• Acknowledging an action with undo

Page 49: Introduction to Android for Quality Engineers

Swiping

• Between tabs

• Between content

• Swiping to dismiss

Page 50: Introduction to Android for Quality Engineers

Swiping

• Swipe to refresh

Page 51: Introduction to Android for Quality Engineers

Swiping

• Sliding Up panel

Page 52: Introduction to Android for Quality Engineers

Full Screen

• Lean Back

Page 53: Introduction to Android for Quality Engineers

Full Screen

• Immersive

Page 54: Introduction to Android for Quality Engineers

Full Screen

• Lights Out(4.0-4.3)

Page 55: Introduction to Android for Quality Engineers

Combining Multiple Views

Page 56: Introduction to Android for Quality Engineers

Compound Views and Orientation

• Stretch/compress

Adjust the column

width of your left pane

to achieve a balanced layout

The view is refreshed on changing the orientation

Page 57: Introduction to Android for Quality Engineers

Compound Views and Orientation

• Stack

Rearrange the panels

on your screen

Page 58: Introduction to Android for Quality Engineers

Compound Views and Orientation

• Expand/Collapse

collapse the left pane view

to only show the most

important information

Page 59: Introduction to Android for Quality Engineers

Compound Views and Orientation

• Show/hide

Use the Up icon to show

the parent screen.

Page 60: Introduction to Android for Quality Engineers

Compound Views and Orientation

• Sliding Pane layout

Page 61: Introduction to Android for Quality Engineers

Cards

http://www.google.com/design/spec/components/cards.html

Page 62: Introduction to Android for Quality Engineers

Notifications and widgets

Page 63: Introduction to Android for Quality Engineers

Notifications

• Display important information

• Actionable(4.1+)

• Expandable(4.1+)

• Sorted by priority(4.1+)

Page 64: Introduction to Android for Quality Engineers

Notifications

Structure

• The application's notification icon or the sender's

photo

• A notification title and message

• A timestamp

• A secondary icon

Page 65: Introduction to Android for Quality Engineers

Notifications

Ongoing Notifications

Page 66: Introduction to Android for Quality Engineers

Notifications

• Popup Notifications

Page 67: Introduction to Android for Quality Engineers

Notifications

• Checklist

Actions should be essential(max:3)

Opens the app to the right place

Stacked if there are more than one notification

Page 68: Introduction to Android for Quality Engineers

Widgets

• Showing important data

on the home screen

• Easy access to app

Page 69: Introduction to Android for Quality Engineers

Widgets

Widget Types

• Information widgets

• Collection widgets

• Control widgets

• Hybrid widgets

Page 70: Introduction to Android for Quality Engineers

Widgets

Guidelines

• Interaction by touch & Vertical

swipe

• Resizable

• Can fit on different screen sizes

• Configurable

Page 71: Introduction to Android for Quality Engineers

App Reporting

Page 72: Introduction to Android for Quality Engineers

Internal Error Reporting

• Extracting the error log

–Using Android ADT LogCat for all versions

–Using CatLog/alogCat for Android 4.0-

Page 73: Introduction to Android for Quality Engineers

Top Crash Reporting Tools

Free Free

HTML5

HTML5

HTML5

Page 74: Introduction to Android for Quality Engineers

Top App Analytics Tools

• Use analytics tools to track how the app is used

Free

Free

Free

Page 75: Introduction to Android for Quality Engineers

Google Play Listing

Market Checklist

Alpha & Beta testing

Staged Rollout

Page 76: Introduction to Android for Quality Engineers

Market Checklist

One APK/multiple APKs

Determine app distribution

Max size of apk: 50 MB

Expansion files

Free/priced

Page 77: Introduction to Android for Quality Engineers

Listing Details

• Language

• Title

• Description

• Recent Changes

• Promo Text

• Application Type

• Category

Page 78: Introduction to Android for Quality Engineers

Graphics for Play

• Screenshots(2 minimum)

• High Resolution app icon

• Feature Graphic(optional)

• Promotional Graphic(optional)

• Video link(optional)

Page 79: Introduction to Android for Quality Engineers

Alpha & Beta Testing

• Alpha/beta test apps will appear only for testers

• Testers access the app from:

–Google+ Community

–Google Groups

Page 80: Introduction to Android for Quality Engineers

Staged Rollout

• Updates rollout can start with a small percentage

of your userbase

• Monitor crashes and issues

• Fix issues and update affected users

Page 81: Introduction to Android for Quality Engineers

Tips and Tricks• Common Issues

• Clear Data

• Compatibility

• RTL Support

• Lock Screen Widgets

• Process Stats

• Memory allocation

• Android Screenshooter

• Performance Check

• Stay Updated

Page 82: Introduction to Android for Quality Engineers

Common Issues

• Sync

• Crash on opening from recents screen

• Crash on a call

• App drains battery

Page 83: Introduction to Android for Quality Engineers

Common Issues

• Selection in the list view

• Keyboard + Popups

• App auto-sleep

Page 84: Introduction to Android for Quality Engineers

Clear Data

• Restores the app to a working state

Page 85: Introduction to Android for Quality Engineers

Compatibility

• Forward compatibility for new versions is

supported by Google.

• Backward compatibility can be handled.

Page 86: Introduction to Android for Quality Engineers

RTL Support (4.2+)

Page 87: Introduction to Android for Quality Engineers

Lock Screen Widgets(4.2+)

Page 88: Introduction to Android for Quality Engineers

Process Stats(4.4)

Page 89: Introduction to Android for Quality Engineers

BLE(4.3+)

• Effective connectivity

• Low power consumption

Page 90: Introduction to Android for Quality Engineers

Performance Check

• Ram Read/Write speed

• Ram Size

• Internal Memory Read/Write speed

• Processor

• GPU

Page 91: Introduction to Android for Quality Engineers

Memory Allocation

Screen Size Screen Density Application Memory

small / normal / large ldpi / mdpi 16 MB

small / normal / large tvdpi / hdpi 32 MB

small / normal / large xhdpi 64 MB

small / normal / large 400dpi 96 MB

small / normal /large xxhdpi 128 MB

xlarge mdpi 32 MB

xlarge tvdpi / hdpi 64 MB

xlarge xhdpi 128 MB

xlarge 400dpi 192 MB

xlarge xxhdpi 256 MB

This is the baseline for the max ram that OEMs can support per app. App will crash if it crossed this line.

Page 92: Introduction to Android for Quality Engineers

Android Screenshooter

• Takes a screenshot, saves it to your pc and

deletes it from the device in seconds

https://github.com/faidy/AndroidScreenshooter/

Page 93: Introduction to Android for Quality Engineers

Adb-multi-device-installer

• You can use it to install the same apk on multiple

devices connected to a mac at the same time

https://github.com/faidy/adb-multi-device-

installer/

Page 94: Introduction to Android for Quality Engineers

Rooting(Not recommended)

• Rooting is getting super user access.

• It allows you to add hosts

• You can access the db of the tested app

Page 95: Introduction to Android for Quality Engineers

Google Unification

This will change, check

Page 96: Introduction to Android for Quality Engineers

Stay Updated

• Predict issues for new android versions

• Find new areas of enhancement

Page 97: Introduction to Android for Quality Engineers

UX Don’ts

Page 98: Introduction to Android for Quality Engineers

UX Don’ts

Blocking loading progress indicator

Page 99: Introduction to Android for Quality Engineers

UX Don’ts

Page 100: Introduction to Android for Quality Engineers

UX Don’ts

Always offer the option to explore the app without signing in

Page 101: Introduction to Android for Quality Engineers

UX Don’ts

Page 102: Introduction to Android for Quality Engineers

UX Don’ts

Page 103: Introduction to Android for Quality Engineers

UX Don’ts

Back button doesn’t close the app

Page 104: Introduction to Android for Quality Engineers
Page 105: Introduction to Android for Quality Engineers

Inspiring Apps

Page 106: Introduction to Android for Quality Engineers

Inspiring Apps

Page 107: Introduction to Android for Quality Engineers

Using DDMS

Workshop

Page 108: Introduction to Android for Quality Engineers

Thank You!Questions?