Testing Mobile Software

Similar documents
Mobile App Testing Process INFLECTICA TECHNOLOGIES (P) LTD

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

Image Area. White Paper. Best Practices in Mobile Application Testing. - Mohan Kumar, Manish Chauhan.

Mobile App Testing Guide. Basics of Mobile App Testing

NAS 242 Using AiMaster on Your Mobile Devices

Medstar Health Dell Services

Following statistics will show you the importance of mobile applications in this smart era,

Adobe Marketing Cloud Bloodhound for Mac 3.0

Testing & Assuring Mobile End User Experience Before Production. Neotys

Internet Services. Amcom. Support & Troubleshooting Guide

SBBWU PROXY SETTING IT CENTRE How to Set a Proxy Server in All Major Internet Browsers for Windows

NETGEAR genie Apps. User Manual. 350 East Plumeria Drive San Jose, CA USA. August v1.0

Addressing Mobile Load Testing Challenges. A Neotys White Paper

ANDROID GUEST GUIDE. Remote Support & Management PC Tablet - Smartphone. 1. An Introduction. Host module on your PC or device

Dwebs IIS Log Archiver Installation and Configuration Guide for Helm 4

White Paper. Bridging the essential gap between Mobile Cloud and crowd based testing. 1. Introduction. 2. Testing Lifecycle

How To Choose A Mobile Application Testing Tool

White Paper Bridging the Essential Gap between Continuous Quality and Crowd Based Testing

Mobile Performance Testing Approaches and Challenges

7 6.2 Windows Vista / Windows IP Address Syntax Mobile Port Windows Vista / Windows Apply Rules To Your Device

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

Android Softphone App for the Opera IP System. Installation and user guide

DETERMINATION OF THE PERFORMANCE

AUTOMATED MOBILE TESTING REQUIRES BOTH REAL DEVICES AND EMULATORS

Automated Mobile Testing Requires Both Real Devices and Emulators

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Anchor End-User Guide

Connecting your Aiki phone to a network

Load testing with. WAPT Cloud. Quick Start Guide

Information for NGT Trialists A Guide to Using the NGT App

Mixing Station Manual Manual Version This manual is not yet complete, please be patient

Qsync Install Qsync utility Login the NAS The address is :8080 bfsteelinc.info:8080

Setting up RDP on your ipad

Mobile Application Testing Challenges & Best Practices

Launch High-Performing Mobile Apps with Appurify. Manish Lachwani CTO and Co-founder Jay Srinivasan CEO and Co-founder

FI8910W Quick Installation Guide. Indoor MJPEG Pan/Tilt Wireless IP Camera

Installation and Setup: Setup Wizard Account Information

Whitepaper Performance Testing and Monitoring of Mobile Applications

Quick Installation Guide

CHAPMAN & HALL/CRC INNOVATIONS IN SOFTWARE ENGINEERING AND SOFTWARE DEVELOPMENT. Software Test Attacks to Break Mobile and Embedded Devices

Clickfree frequently asked questions

Mobile Application Testing

Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

SNMP Web card. User s Manual. Management Software for Uninterruptible Power Supply Systems

Workday Mobile Security FAQ

Syllabus Version

Workshop: Testing Mobile Application with 'I SLICED UP FUN'

Error! Bookmark not defined. Error! Bookmark not defined. Error! Bookmark not defined.

SEACW DELIVERABLE D.1.6

Sample Exam Foundation Level Syllabus. Mobile Tester

Introduction to the AirWatch Browser Guide

Linksys WAP300N. User Guide

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Enhancing Performance Test Strategy for Mobile Applications

DEPLOYMENT. ASSURED. SEVEN ELEMENTS OF A MOBILE TEST STRATEGY. An Olenick & Associates White Paper

Magnet Voice. Android App Installation

A Tool for Evaluation and Optimization of Web Application Performance

BCS Bristol Autumn School Testing your App. Jim Thomas Director of Software Testing

Cloud based Testing for Mobile Apps

ShareLink 200 Setup Guide

Understanding offline files

Network Virtualisation in Testing

WISE-4000 Series. WISE IoT Wireless I/O Modules

Synergy Controller Cloud Storage Features and Benefits

MOBILE APPS. QA Testing for mobile applications

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

DroboAccess User Manual

Connecting With Lifesize Cloud

Gauge Drawing Tool Slider Drawing Tool Toggle Button Drawing Tool One-Way List Drawing Tool... 8

Propalms TSE Deployment Guide

Synergy Controller Cloud Storage Features and Benefits

Lee Barnes, CTO Utopia Solutions. Utopia Solutions

Mobile Application Performance

Cloud Portal for imagerunner ADVANCE

The day-to-day of the IT department. What is Panda Cloud Systems Management? Benefits of Panda Cloud Systems Management

genie app and genie mobile app

Aspera Mobile An Open Platform for Rapid Content Acquisition and Delivery WHITE PAPER

Sample Exam Foundation Level Syllabus. Mobile Tester

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Measure wireless network performance using testing tool iperf

A state-of-the-art solution that brings mobility to SCADA alarms

Penetration Testing for iphone Applications Part 1

User Management Tool 1.6

RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

Mobile Automation: Best Practices

Polycom Converged Management Application (CMA ) Desktop for Mac OS X. Help Book. Version 5.1.0

Introduction to ios Testing

Mobile Testing That s Just a Smaller Screen, Right?

Connecting With Lifesize Cloud

Druva insync: Simplified, Robust Endpoint Data Protection Date: August 2011 Author: Tony Palmer, Senior Lab Engineer /Analyst

VIA CONNECT PRO Deployment Guide

Make a folder named Lab3. We will be using Unix redirection commands to create several output files in that folder.

Welcome to icue! Version 4

You're reading an excerpt. Click here to read official APPLE REMOTE DESKTOP 1.2 user guide

TELUS Business Connect Customer Onboarding Guide. How to successfully set up your service

Android App Installation

Android App End User Installation Guide

Virtual Office. Network Tests. Revision x8, Inc O'Nel Drive San Jose, CA Phone: Fax:

STeP-IN SUMMIT June 2014 at Bangalore, Hyderabad, Pune - INDIA. Mobile Performance Testing

Transcription:

Page 1 by Hans Schaefer Hans.Schaefer@ieee.org Some tips and tricks Some decisive test techniques 2014 Hans Schaefer Slide no. 1 What determines app success? The decisive fact: User experience Usability Reliability (Some advice on functional testing) Security Power use 2014 Hans Schaefer Slide no. 2

Page 2 General Test Approaches Emulation based Device based Cloud based Crowdsourcing based 2014 Hans Schaefer Slide no. 3 General Approaches 2014 Hans Schaefer Slide no. 4

Page 3 Tool Overview 2014 Hans Schaefer Slide no. 5 "Software Test Attacks to Break Mobile and Embedded Devices" by Jon Hagar. Developer attacks Static analysis White box test coverage Control system Forcing unusual bugs (the unusual 80% outputs) Long duration tests HW/SW attacks Interfaces and integration testing (normal integration) 2014 Hans Schaefer Slide no. 6

Page 4 "Software Test Attacks to Break Mobile and Embedded Devices" by Jon Hagar. Mobile and embedded AW attacks Breaking digital communications (simulators needed) Bugs in the data Bugs in system-software computation Using simulation of real situations Time attacks Interrupt handling and priority inversion General time related bugs (with distributed systems) Time related tours, scenarios Performance testing 2014 Hans Schaefer Slide no. 7 "Software Test Attacks to Break Mobile and Embedded Devices" by Jon Hagar. Usability, Install-ability, Help Smartphone / App attacks Bugs in apps due to Network communication Data exchanged within the device Interference from other apps or the OS Restricted size Restricted UI Restricted functionality (unmet needs) General coding and design bugs Game attacks Cloud dependencies 2014 Hans Schaefer Slide no. 8

Page 5 "Software Test Attacks to Break Mobile and Embedded Devices" by Jon Hagar. Security attacks Big area, for specialists Generic attacks Combination tests Attacking functional bugs (usual functional testing) 2014 Hans Schaefer Slide no. 9 "Software Test Attacks to Break Mobile and Embedded Devices" by Jon Hagar. How to use the book? As a checklist Lot of advice Lots of tricks Some attacks are expert level Understand criticality! 2014 Hans Schaefer Slide no. 10

Page 6 Tips and Tricks The next 13 pages 2014 Hans Schaefer Slide no. 11 Taking Screenshots on a Mobile 1. Press the power and volume down button at the same time and hold them 2. On/off button and at the same time, press the home button 3. If you don't want to use or don't know how to use in-built functions of your Smartphone to take screenshot, you can use simple & free screen capture apps available on app-stores for ios, Android, OVI, etc. and tune them to take automated screenshots on particular intervals. Save the screen capture as a picture in the local picture gallery. Depending upon the device, you will know you've done so if the screen quickly flashes to blank and then back, or a ring around your display appears and disappears, or if your sound is on - you hear the "click" like after using an old-fashioned camera. Then, email, save, toss, etc. 2014 Hans Schaefer Slide no. 12

Page 7 Installing Test-apps on a Mobile Example: Google Drive. New builds from the continuous integration server to a shared Google Docs folder. (This is for Android, which is less restrictive than ios when it comes to installing apps). From the test device, download the build through the web browser, install. Opposite way also possible, for example pasting the contents of a debug console on the mobile app to a Google doc and the analyzer and handle it on your desktop machine. Generate test data on the laptop, then paste it into a Google doc, copy it from the doc on the device, and paste it into the app und test. 2014 Hans Schaefer Slide no. 13 Testability: Logging Ask your developers to provide several levels of log output. Utilize the most detail for learning how the app ACTUALLY works as opposed to what the dev team or others tell you what the app should be doing. But if you utilize this method, BE CAREFUL to test without the high detail level of logging turned on, to be sure the detailed logging doesn't affect PERFORMANCE BEFORE reporting any bugs, turn your logging off, and slowly increase the level of detail for retesting the presumed bug. 2014 Hans Schaefer Slide no. 14

Page 8 Simulating Wifi Speed The tool Linktropy can be used to mimic good to poor WIFI connections as well as 3G/4G. With this device you can mimic a WIFI connection via wired Ethernet but also schedule drops in speed or connection and packet reordering. Linktropy and Netropy WAN emulators simulate bandwidth, latency, jitter, loss, congestion, and other important network impairments to test the performance of applications under a spectrum of real-world conditions. http://www.apposite-tech.com Older / more primitive ways: Faraday cages (metal boxes) and modified APIs). 2014 Hans Schaefer Slide no. 15 Testing Functionality with Variable Context Ref: Schulte, M. and Majchrzak, T.A.: Context-Dependent Testing of Apps. In TestingExperience no. 19. testingexperience.com 2014 Hans Schaefer Slide no. 16

Page 9 What is What Test case A sequence of blocks with actions and corresponding result checks (like a use cases with data) Context One or more parameters that influence a test case i.e. a platform configuration, kind or speed of connection, change of location, memory state, battery state etc. 2014 Hans Schaefer Slide no. 17 Why context based testing Run the same test case many times with different constant or variable context Possible to automatically generate test cases 2014 Hans Schaefer Slide no. 18

Page 10 How to Set up (usage based) test cases Blocks containing actions Result checks for every block Set up contexts for testing For every block: Result checks for different contexts (if available) Generate many concrete test cases By changing contexts between blocks 2014 Hans Schaefer Slide no. 19 Concept for context-based testing 2014 Hans Schaefer Slide no. 20

Page 11 A test case with two context changes 2014 Hans Schaefer Slide no. 21 The Tests Should be Automated Execution Generation Checking 2014 Hans Schaefer Slide no. 22

Page 12 Using Fiddler Proxy the device under test through your desktop, while running a tool like Fiddler (http://www.fiddlertool.com, http://www.telerik.com/fiddler) to capture all http traffic (headers, requests, responses, payloads, sizes, server response time, sequences, caching status, cookies, and other attributes of the communication) to and from the device. Fiddler also interfaces to other tools making it possible to use proxies for IP addresses from different geo-locations. Next level: repeat the tests with new sessions/new devices/new builds, and capture the new traffic. Then, diff the request/response contents to identify what changed between sessions, requests, devices, etc. 2014 Hans Schaefer Slide no. 23 Developments in Automated Test Running Improving the Accuracy of Automated GUI Testing for Embedded Systems Yang Dar Lin et al., IEEE Software Jan/Feb 2014. They used a newly developed tool Smart Phone Automated GUI (SPAG) to test automatically from a PC driving an Android device. Trouble: More load on the device makes replay of events uncertain and unreliable. Alternative is MonkeyRunner (part of Android software development kit). SPAG uses Android screencast and Sikuli. Android screencast couples the Android device screen to a PC and lets the tester drive the device from the PC. Sikuli is a capture-replay tool for GUI tests allowing to program verification points. Most trouble with gestures, because each gesture is composed of many events. And both displacements (i.e. distance between touches) and time difference (i.e. how fast the user moves) is interesting. 2014 Hans Schaefer Slide no. 24

Page 13 End of Tips and Tricks 2014 Hans Schaefer Slide no. 25 Testing Usability 2014 Hans Schaefer Slide no. 26

Page 14 The Dimensions of Usability Learnability: How easy it is to learn to use it first time Efficiency: How many steps to complete a task Memorability: Does it get easier to repeat the task? Error recovery: How graceful is it? Accessibility: Easiness and simplicity of accessing key tasks or usability with handicaps Mapping: Do UI responses match user expectations? Visibility: Are important informations the most visible? Feedback: Is the user in control of the UI? Kept informed of what happens? Consistency: Are like items displayed and act the same way? Responsiveness: How responsive is UI interaction? 2014 Hans Schaefer Slide no. 27 Learnability: How easy it is to learn to use it first time Measure with sample user population Time until user is able to do use cases without help Online help / manual (?) Typical use cases Special use cases 2014 Hans Schaefer Slide no. 28

Page 15 Efficiency: How many steps to complete a task How many gestures / button presses / selections / menus? How many fields to fill in? How long text? Need to look up / refer to? 2014 Hans Schaefer Slide no. 29 Memorability: Does it get easier to repeat the task? Hotkeys? User defined shortcuts? Auto complete? Defaults? Remembering vs. other apps / devices? 2014 Hans Schaefer Slide no. 30

Page 16 Error recovery: How graceful? User should not lose control! No sudden (dangerous) actions Auto save / recovery 2014 Hans Schaefer Slide no. 31 Accessibility: Ease and simplicity of accessing key tasks or usability with handicaps Most important tasks on main screen Hotkeys Shortcuts Keys not in remote location For handicaps: Special area! 2014 Hans Schaefer Slide no. 32

Page 17 Mapping: Do UI responses match user expectations? Scenario testing with typical users Computer / Mobile / Domain literacy What do they expect? Test this early! Prototypes! 2014 Hans Schaefer Slide no. 33 Visibility: Is important information the most visible? What is most important? For whom? Visibility by font / size / contrast / placement Where do people look first? 2014 Hans Schaefer Slide no. 34

Page 18 Feedback: Is the user in control of the UI? Kept informed of what happens? Touching controls makes things happen User information especially if things take time. 2014 Hans Schaefer Slide no. 35 Consistency: Are like items displayed and act the same way? Review screen vs. screen 2014 Hans Schaefer Slide no. 36

Page 19 Responsiveness: How responsive is UI interaction? UI control speed Repetition speed Reaction speed and info Does a user feel slowed down? 2014 Hans Schaefer Slide no. 37 How to test usability? Usability lab Low fidelity (on prototype, manual observation) High fidelity (on final product) User population Find a selection of people (different maturity and characteristics) Crowdsourcing International users on any platform Utest.com 2014 Hans Schaefer Slide no. 38

Page 20 Testing Battery Use 2014 Hans Schaefer Slide no. 39 What Drains the Battery? Communication (with cloud, server) -> minimize data use -> caching! Display Brightness, colors, changes (local) Computation and memory access 2014 Hans Schaefer Slide no. 40

Page 21 How to Measure it? Remove battery, replace by power supply with measurements Use an app like PowerTutor Typical use cases Repeat them many times, measure (high frequency sample), remove outliers Minimize uncontrollable background activity! 2014 Hans Schaefer Slide no. 41 PowerTutor Tool An app for Android Measurement exactness about 5% Measures any app s power use Repeat, sample! 2014 Hans Schaefer Slide no. 42

Page 22 PowerTutor Screens 2014 Hans Schaefer Slide no. 43 Thank you! 2014 Hans Schaefer Slide no. 44