61
Practical software Testing for mobile apps --- 24May2014 By Alex Hung (alex@crossover- int.com) CEO, Crossover MBA, MSc(ISM), BSc(CS)

Mobile testing

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Mobile testing

Practical software Testing for mobile apps --- 24May2014

By Alex Hung ([email protected])CEO, CrossoverMBA, MSc(ISM), BSc(CS)

Page 2: Mobile testing

Agenda

1. Mobile Trends2. Mobile Platforms3. Mobile Development Platforms4. Mobile Apps Testing5. Practical case sharing

Page 3: Mobile testing

Feature phone

• Contains a fixed set of functions beyond voice calling and text messaging

• Not as extensive as a smartphone.

• For example, – offer Web browsing and e-mail, but

generally cannot download apps from an online marketplace, such as Whatsapp

Difference between feature phones and smartphones

Page 3

Page 4: Mobile testing

Smartphone

• With built-in applications and Internet access.

• Advanced application programming interfaces (APIs)

• Able to run different kinds of free and paid third-party applications to have better integration with the phone's OS and hardware

Difference between feature phones and smartphones

Page 4

Page 5: Mobile testing

Marketplace

Mobile Platform

Page 6: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

iOS Android Windows Phone BlackBerry OS

Company Apple, Inc Google Microsoft BlackBerry

Current Version 7 4.4 8 7.1

License ProprietaryFree and open-

sourceProprietary Proprietary

Accessibility features

Yes Yes Yes Yes

NFC Payment Software

No

Available on any device that

supports the hardware.

Available for Version 8+

Yes

Official Application Store

App Store Google PlayWindows Phone

StoreBlackBerry World

Voice Recognition Yes Yes Yes Yes

Multitasking Yes Yes Yes Yes

Desktop interactive

widgetsNo Yes

Yes (through "live tiles")

No

Comparison of various mobile platforms

Page 6

Page 7: Mobile testing

Evolution of Mobile Devices

Source: mobileworldcapital.com

Page 7

Page 8: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

Evolution of Mobile Devices

?

Page 8

Page 9: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

Evolution of Mobile Devices

Page 9

Page 10: Mobile testing

Mobile Evolution

Page 11: Mobile testing

Mobile Evolution

Page 12: Mobile testing

Mobile OS

Page 13: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Type of Apps:– Communication, calendar, clock, calculator– Photos, weather, maps– Games, eBooks– Tablet applications

• Total Apps Number:– Over 800,000 Apps available on Google Play

(2013 May)– Around 850,000 mobile apps in the Apple App

Store (2013 May)

Evolution of Mobile Applications

Page 15

Page 14: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

Difference between Mobile Web and Mobile App

Mobile Web Mobile App

Storage of application In server side Download and install to the mobile device

Activation of application Access through mobile browser

Directly access by clicking the icon

Require user to install any application

No Yes

Data traffic over network More Less

Integration with phone specific features

No Yes

User experience Normal Richer

Page 17

Page 15: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

Difference between Mobile Web and Mobile App

Mobile Web Mobile App

OS dependence Low High

Development effort Less More

Application Update Only on server side Users are required to download and install a new version

Maintenance and support effort

Less More

Page 18

Page 16: Mobile testing

Moblie Apps Development platforms

Page 17: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Development Kit for some of the popular platforms:

Overview of Development Platforms for Mobile App Development

iOS Android BlackBerry Windows

Mobile/Windows Phone

Symbian

iOS SDK Android SDK BlackBerry Java Development Environment (JDE)

Windows Mobile – Microsoft Visual Studio 2008

Windows Phone – Windows Phone Developer Tools

Qt SDK, Symbian^3 SDK

Page 20

Page 18: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Other than SDK, each mobile platform has additional development tools for facilitating the programming.

Overview of Development Platforms for Mobile App Development

iOS Android BlackBerry Windows

Mobile/Windows Phone

Symbian

Xcode IDE Android Development Tools (ADT) Plugin for Eclipse, Android Native Development Kit (NDK)

BlackBerry Java Plug-in for Eclipse

Visual Basic for Windows Phone Develop Tools

Carbide.c++ IDE

Page 21

Page 19: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Xcode IDE

Overview of Development Platforms for Mobile App Development

iPhone Simulator

Page 22

Page 20: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Eclipse with Android SDK

Overview of Development Platforms for Mobile App Development

Android Emulator

Page 23

Page 21: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Developing multiple mobile apps with single source code

• Some tools use web standards for development while some need to use proprietary programming languages.

• For development tools using web standards, they work in two approaches. – generate the codes as embedded web content

within the mobile app (e.g. PhoneGap)– recompile the web codes into native codes (e.g.

Titanium Mobile)

Cross-Platform Development Tools

Page 24

Page 22: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

These tools have some common limitations:

• Most of the tools cannot support all common mobile OS platforms.

• Although web standards are used by some of these tools, some advanced features like AJAX are not supported by tools like MotherApp.

• Performance of mobile apps developed by these tools may not as good as those developed by native programming language.

• Most of the tools do not provide API for interfacing with Bluetooth and video capture.

Cross-Platform Development Tools

Page 25

Page 23: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

PhoneGap Titanium Mobile MotherApp Rhodes Corona

Company Nitobi Appcelerator MotherApp Rhomobile Ansca

Product Type Open Source Open Source Proprietary Open Source Proprietary

Programming Language

HTML, CSS, JavaScript

HTML, CSS, JavaScript

MotherAPP HTML

HTML, CSS, JavaScript,

Ruby

Lua

Online Conversion Service

Yes No Yes No No

Development Kit

Nil Titanium Studio

Nil RhoStudio Corona SDK

Cross-Platform Development Tools

Page 26

Page 24: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

Supported Platforms

Cross-Platform Development Tools

PhoneGap Titanium Mobile MotherApp Rhodes Corona

iOS Yes Yes Yes Yes Yes

Android Yes Yes Yes Yes Yes

BlackBerry Yes Yes(beta) Yes Yes No

Windows Mobile Yes No No Yes No

Windows Phone No No No Yes No

Symbian Yes No No Yes No

Others WebOS Nil Nil WebOS Nil

Page 27

Page 25: Mobile testing

MOBILE APPS TESTING

Page 26: Mobile testing

Mobile Application Testing

Page 27: Mobile testing

Mobile Testing

Page 28: Mobile testing

Mobile App Diversity

Page 29: Mobile testing

• Integration with existing Systems

• Accelerated Development

• Performance & Security

• Backward Compatibility

Challenges

Page 30: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Quick swipe (user experience, quit app scenarios)

• Orientation

• Different devices (resolutions, compatibility)

• No network scenario

• Features Test (esp. cross app cases)

• Stress Test (including server side)

Testing Strategy for Mobile App

Page 36

Page 31: Mobile testing
Page 32: Mobile testing

Components of Mobile Testing

Page 33: Mobile testing

Understanding of Mobile App and Its Development Life Cycle

• Mobile emulator provides an easy way for testing the application without the needs of actual device.

• Emulator cannot perform some hardware related testing– onboard camera– GPS,– sensors,– multitouch,– telephony,– accelerometer feedback

• Testing with actual device must be conducted before the application is released.

Testing Strategy for Mobile App

Page 39

Page 34: Mobile testing
Page 35: Mobile testing

Tool Selection Criteria

Page 36: Mobile testing

Some Popular Mobile Testing Tools

Page 37: Mobile testing

Mobile Automation – Desktop Based

• Mobile test automation tools are installed on a desktop locally

• Interacts with the mobile devices Through USB connection or Wi-Fi

• Mobile Apps can be installed & tested on both Emulators and real devices

Page 38: Mobile testing

Mobile Automation - Image vs Object Recognition

Page 39: Mobile testing

Comparison of Mobile Test Tools in Market

Page 40: Mobile testing

• Stable Automation Framework useful across multiple Platforms

• Use Emulators for Automation early in the development cycle

• Use Real device for automation only to emulate real time usage

When to plan Automation?

Page 41: Mobile testing

1. Define the automation scope

2. Select the Test Automation Tool suitable for your application and supports multiple Oss

3. Start by building automation scripts for smoke testing

4. Gradually build a basic test suite for regression testing that represents business critical use cases

How to implement Automation Tools?

Page 42: Mobile testing

• Supports Android applications for Auotmation

• Robotium RC can be utilized to run testscripts in a Test Lab setup

Robotium

Page 43: Mobile testing

Mobile Infrastructure - Emulators

Page 44: Mobile testing

Mobile Infrastructure – Real Devices

Page 45: Mobile testing

• Test Early and Often

• Create matrix of Platforms, Device, Network Connections (2G, 3G, wi-fi, LTE, etc.), Carriers for Testing (Including different OS versions)

• Test for Performance and Security

• Keep Target Audience in mind while testing

• Tool selection should take into account emulator and real device support across platforms

Best Practices

Page 46: Mobile testing

PRACTICAL CASE SHARINGSick Bird Free

Page 47: Mobile testing
Page 48: Mobile testing

SOS! Sick Bird病咗鳥

Page 49: Mobile testing

SOS! Sick Bird 病咗鳥• Search location & provide information of HK government clinics

Page 50: Mobile testing

• Search the nearest government clinic

• Provide telephone number and address of the clinic

• Provide map view to identify the locations

• Augmented reality (AR) function

• Service target: Hong Kong residents / visitors

Introduction

Page 51: Mobile testing

• Multi-language:Traditional Chinese,Simplified Chinese, andEnglish

• Positioning function(GPS):Identify the current location

• Facebook Login:Sign in Facebook accounts to facilitate sharing of content

Setting

Page 52: Mobile testing

Map View (with GPS function)

Page 53: Mobile testing

• Clinics under the Hospital Authority

• Clinics / Health Centres under the Department of Health

Clinic location

Page 54: Mobile testing

• Find the location of the clinic based on the actual circumstances by the AR function

Augmented reality (AR) function

Page 55: Mobile testing

• Top right radar displays the position and the number of clinics within a specified range

• Range of the radar can be adjusted by the bottom bar, increasing or decreasing the number of clinics

Augmented reality (AR) function

Page 56: Mobile testing

• Different clinic information can be shared with friends and relatives via Facebook

Facebook sharing

Page 57: Mobile testing

• http://www.gov.hk/en/theme/psi/datasets/

Database - Data.One

Page 58: Mobile testing
Page 59: Mobile testing
Page 60: Mobile testing
Page 61: Mobile testing

Thanks

More Apps in www.crossover-int.comContact: Alex Hung [email protected]