10 Questions due in 2 hours

profileSharfuk9t
it355unit11.pptx

IT355 Unit 11 – Mobile Application Testing

Fall 2016

Dr Diane Murphy

1

1

Change in Technology

Computer technology changes rapidly

Desktop

Laptop

Handheld

Special challenges associated with testing mobile devices

More variables and complexities

Designing robust test plan difficult

2

Types of Mobile Testing

Hardware testing

The device including the internal processors, internal hardware, screen sizes, resolution, space or memory, camera, radio, Bluetooth, WIFI etc.

Sometimes referred to as, simple “Mobile Testing”.

Software or application testing

The applications that work on mobile devices and their functionality is tested

It is called “Mobile Application Testing”

3

Types of Mobile Software

Native apps: A native application is created for use on a platform like mobile and tablets

Mobile web apps are server-side apps to access website/s on mobile using different browsers by connecting to a mobile network or wireless network like WIFI

Hybrid apps are combinations of native app and web app, they run on devices or offline and are written using web technologies like HTML5 and CSS

4

Differences between App Types

Native apps have single platform affinity while mobile web apps have cross platform affinity

Native apps are written in platforms like SDKs while Mobile web apps are written with web technologies like html, CSS, asp.net, java, php

For a native app, installation is required but for mobile web apps, no installation is required

Many native app do not require Internet connection but for mobile web apps it’s a must

Native app works faster when compared to mobile web apps

Native apps are installed from app stores like Google play store or app store where mobile web are websites and are only accessible through the Internet

5

Considerations When Testing Mobile Apps

Network performance and reliability

Consistent user interfaces

Transcoder influences

Device diversity

Limited resource platforms

6

Mobile Environment

Line between mobile computing and wireless networks has blurred

Is laptop a mobile device?

Mobile Device

Capability to run network-based application over a cellular or satellite data link

Devices have connectivity issues and different network speeds and regional availability

Must consider the numerous devices in the marketplace, the varying capabilities of each, and how uses interacts with the device

7

Mobile Environment Test Design Considerations

Area Comment
Connectivity Device provisioning Network speed Network latency Network availability in remote areas Service reliability
Diversity Devices Numerous web browsers to test Multiple versions of runtimes for Java or other language
Device Constraints Limited memory or processor Small screen size Multiple operating systems Multitasking capabilities Data cache sizes

8

Mobile Environment Test Design Considerations (Cont.)

Area Comment
Input devices Touch screens Stylus Mouse Buttons Rollers
Installation and Maintenance Installing and uninstalling Patching Upgrading

9

Testing Challenges

Four categories:

Device diversity

Carrier network infrastructure

Scripting

Usability

Consider each of those carefully when developing test cases

Also need to consider combinations:

Device types

Operating systems

User input methods

Network concerns

Trade-offs must be balanced with time, financial, and labor resource

10

Mobile Device Diversity

Significant testing challenge

Seems manufactures introduce new devices daily

Impossible to keep up with release cycles

Only with diversity of devices, come diversity of:

Operating systems

Browsers

Application run time environments

Screen resolutions

Ergonomics—screen size

11

Real Devices vs. Emulators

From an economic point of view, test on emulators as much as possible

Not the real device

Need to test on real devices and real networks

May see differences with emulators and actual device

May need to be selective in which devices to test

12

Carrier Network Infrastructure

Testing application on a carrier network is challenging if need to support multiple carriers

Understanding and adapting to the carrier’s infrastructure

Overcoming location-based obstacles

Need to understand the carrier’s infrastructure before developing test plan

RF vs. IP protocols

Web proxy (transcoder)

13

Role of Transcoder

Transform content into WAP or HTTP protocols

Compress data for better throughput

Encrypts content for privacy and security

Block access to certain high—bandwidth sites

Strip HTML headers and other metadata from Web pages

14

Impact of Transcoder

May cause user interface (UI) inconsistencies across multiple devices

Different protocols:

HTTP (hypertext transfer protocol)

WML (wireless markup language)

Most smartphones and tablets support HTML

15

Test Scripts

Need to test and run scripts manually

Walk through a written test script designed to find errors on the target device

Many targets in mobile environment

Emulators can be used to perform much of regression testing and system tests but finally someone must work with the device

16

Usability

Presents challenges to those who write test scripts

Usability testing is mostly a white-box approach

Manual test needed to try to find bugs in the user interface and user interaction layers

Involves testing multiple platforms and likely to find differences

Apple vs. Android

17

Testing Approaches

Back-end components user similar techniques as other software

Performance

Data validation

Transaction processing

Response times

Fault tolerance

Recoverability

Test separately from device tests

18

Test Categories for Mobile Application Testing

Test Category Description
Install/uninstall Ensure the user can correctly install the application from its source
Network infrastructure Verify the application responds appropriately to loss of network Verify the application responds appropriately to network restoration Verify the application responds appropriately to weak signals
Incoming Call/Message Handing Test whether user can accept calls/text messages while application is running Test whether user can resume application when finishing calls/text messages Test whether user can reject calls/text messages without disrupting the application

19

Test Categories for Mobile Application Testing (Cont.)

Test Category Description
Low Memory Ensure application remains stable when device encounters a low memory situation
Key Mappings Test that all key mapping works as specified
Feedback Ensure user feedback to keypress occurs within application design specifications
Exiting Verify that the application exits gracefully when initiated through pressing keys, closing the cover, or using the slider
Charging Ensure that application works as designed when entering charge mode Ensure that application works as designed while in charge mode Ensure that application works as designed when exiting charge mode

20

Test Categories for Mobile Application Testing (Cont.)

Test Category Description
Battery Test how the application behaves on a low battery
Conditions Measure how quickly application drains the battery Ensure the application responds per specification when the battery is removed while the device is powered on
Device Interaction Ensure the application does not overload the CPU Ensure the application does not consume too much memory

21

Devices vs. Emulators

Testing Approach Disadvantages Advantages
Real Devices Expensive, especially if you target a broad based of mobile devices Inability to install metering or diagnostic development tools Unable to install on run test scripts Network availability Ability to test responsiveness of the application Visual inspection of application of real device to verify UI consistency Test carriers’ network responsiveness Identify device-specific bugs
Emulators Inability to identify device-related bugs Underlying hardware may skew performance on real device Cost-effective Easy to manage; multiple device support with single emulator

22

Testing with Real Devices

Manual testing with real devices is inevitable

Experience nuances and get real feel for user experience

Test certain test cases

Need to test reliability of carrier’s network

Determine impact of an incoming call or text message

How application behaves

Load time

Application speed

Find device specific bugs

23

Costs of Testing with Real Devices

Costly because the device needs to be purchased

Must also pay for carrier airtime

Experience grow if need to test on multiple carriers in multiple regions

May be able to rent devices and access remotely

Spared if target single platform (e.g. Apple) but still have multiple devices

24

Manual Processes

Testing with real devices is a manual, while-box process

Push buttons

Tap screen

Manual testing is error-prone even with good instructor and trained users

User generic scripts, not device specific

Keep track of scripts that fail to find bugs

Devices usually “locked down” so cannot load tools to monitor or debug the application

25

Generic Device Test Scripts

1. Start e-reader application
2. Open e-book
3. Initiate SMS message to device from another device
4. Verify SMS message alert is displayed
5. Open SMS Message
6. Choose Reply to SMS message
7. Compose SMS message
8. Send SMS message
9. Verify SMS message sent notification
10. Return to e-book
11. Verify e-book application is running
12. Verify return to same page or bookmark
13. Exit e-reader application

26

Testing with Emulators

Emulator testing not the preferred method but is the most practical and cost-effective

Allow for inexpensive and quick functional testing of the application

Step through application to find events and circumstances that do not meet program requirements

27

Advantages of Testing with Emulators

Emulators are easy to manage as they run on PCs and can be made available to each tester

Most emulators support multiple devices

Can load different device profiles

Incur no carrier airtime costs

PCs have more resources so generally tests run faster

Employ high-level scripting languages to create consistent automated tests

28

Disadvantages of Using Emulators

Cannot identify the nuances and bugs of each device

Can not be 100% sure that all compatibility and performance requirements are met

Should be used for bulk of testing but final testing must be done on the real devices

29

Unit 11 - Using An Emulator

Find an iPhone emulator

Review appearance of the Marymount web site in the emulator

What can you do? What tests does it allow?

Write a memo to your testing team leader with a short description of the emulator that you used, a link to where it is available, how to use it, and what it can and cannot do

30