introduction to mobile applications testing (english)

Post on 01-Nov-2014

268 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

English version of my slides for Mobile Testing report (http://www.youtube.com/watch?v=pdWYmxbTgYw - video is russian) Link on iOS specifications map: https://www.dropbox.com/s/40eb09lvlsn8flm/ios_testing.png

TRANSCRIPT

Testing of iOS and Android applications

Practical guide

Who about what

Oleg Nikiforov in

• Features of mobile apps testing

• Preparation for testing process

• Types of mobile testing

• Information used for testing

• Useful tools

Android apps

iOS apps

http://stanfy.com

UX/UI Design

Features of mobile apps testing

• Form factors• Gestures• Network connection types• Social networks integration• Achievements• Push notifications• Media content• Usage of locale settings• Focus on visual components

Form factors

Smartphone:• Landscape• Portrait

Tablet:• 10 inch• 7 inch

Different interface, size of elements, usability of UI components

Gestures

• Standard actions, known by users of mobile apps

• Custom actions bound to standard gestures

• Custom gestures• Several swipes in different

directions on one screen (mostly for iOS)

Network connection types

3G

• Switching between 3G and WiFi• Size of requests/responses• Upload/download - pause, cancel• Time outs• Loss of connection

WiFiEdge

Social networks integration

• Authorization via social networks

• Share• Post messages: images, links • Comments• Login/logout -

app/browser/device settings (iOS)

Achievements

• Related to time(e.g. “Using app for 2 weeks”)• Related to certain actions – should trigger correctly• Share achievements

Push notifications

• Receiving• Open corresponding object• Errors handling (e.g. object corresponding to received

notification don’t exist any more, empty notification, etc.)

Media content

Interaction with media content (photo, video, sound) and external hardware:

• Usage of photos from library/camera, usage of panoramas (memory issues)

• Usage of microphone (including external hardware)

• Audio/video playback (pause, handling of incoming/outgoing calls, messages).

Link to time/localization/region: • Application language depending on device settings• Time depending on time zone • Received from server content’s language depending

on device settings• Date/time format depending on device settings• Weight/volume/temperature measures depending on

local settings

Usage of locale settings

Focus on visual components

• Button size depending on app language• Fonts• Blurry images• App resources should correspond to screen resolution• Animations

Preparation for testing process

• Investigation of requirements, prototypes, mock-ups -

main point – to understand application’s flow• Investigation of API documentation• Creating API tests• Creating application’s mind maps

Types of mobile testing

• Manual• Automated ui:

o Calabasho Franko Robotiumo UI Automationo Appium

• Automated API: o SoapUI o LoadUI

Information used for testing

• Use cases which correspond to tested application 30% - 50%• Specifications common for certain OS - iOS/Android 10% - 20%• Common cases - use cases which are common for certain type of

applications, or for components inside applications (list view, scroll view, alerts, etc.) 5% - 15%

• Testing patterns – boundary values, decision tables, etc 5% - 10%• Sixth sense ;) 20% - ∞

iOS testing mind map

Android

• Test on different devices:o Different screen size > display of contento Different pixel density > display of graphic elements (icons, buttons, images,

etc.)• Test on different OS versions:

o Media files playback;o Action bar;o Custom animations;o Web view.

• Test how application handles phone calls:o If in app there are services, which work with sound in background (e.g. music

playback when app is minimized) > test how app works during incoming call;o If in app there are no services, which work with sound in background >it is

possible just to test how app works when minimized.

Useful tools for testing mobile applications

• IDE: o Eclipse + DDMS + Simo Xcode + Organizer + Sim

• Visual:o Reflectoro Jingo DDMS - capture android

device

• Network:o Sniffers/proxy (Burp, Tcp

Catcher, Charles, etc.)o Network Link Conditioner

• Location:o iOS Simo Fake Location (Android)o Eclipse

• Other:o iPhone Configuration Utility -

manage certso XMindo Crashlytics

IDE

• Android:o Eclipse https://www.eclipse.org

o DDMS http://developer.android.com/tools/debugging/ddms.html

o Simulator

• iOS:o Xcode https://developer.apple.com/xcode/

o AppCode http://www.jetbrains.com/objc/

o Simulator

Visual

• Reflector http://www.airsquirrels.com/reflector/• Jing http://www.techsmith.com/jing.html• DDMS - capture android device• Droid-at-Screen http://droid-at-screen.ribomation.com/

Network

• Sniffers/proxy:o Burp Suite http://portswigger.net/burp/

o Tcp Catcher http://www.tcpcatcher.org/download.php

o Charles proxy http://www.charlesproxy.com/

• Network Link Conditioner

Location• iOS Sim• Fake GPS location (Android)

https://play.google.com/store/apps/details?id=com.lexa.fakegps&hl=en

• Eclipse

Other

• iPhone Configuration Utility http://support.apple.com/downloads/#iphone configuration utility

• XMind http://www.xmind.net

• Crashlytics http://try.crashlytics.com

Tips and Tricks

• Application update - preserve data (DB migration)• User created data and iCloud• Crashlytics and change of bundle• Crashlytics and debug• Crashlytics and Hockeyapp• Flurry analytics• NSLog and time to handle crash• Activity is recreated in android after device orientation is

changed• Cache• Auth token• Server errors handling• Server error vs. no connection error

nikiphor@hotmail.com

top related