10 Questions due in 2 hours
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