Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing...

56
Mobile Application Testing Zahra Ali How to test mobile apps Emulator, Simulator, Real Device Traditional Testing Mobile Specific Testing Battery Usage Testing Stress and interrupt testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation Tools What should be automated How to select the right tool Mobile Testing Methods Summary Mobile Application Testing SE 3S03 - Tutorial 2 Zahra Ali Department of Computer Science McMaster University [email protected] Week of Feb 8, 2016

Transcript of Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing...

Page 1: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Application TestingSE 3S03 - Tutorial 2

Zahra Ali

Department of Computer ScienceMcMaster [email protected]

Week of Feb 8, 2016

Page 2: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Outline

How to test mobile appsEmulator, Simulator, Real DeviceTraditional TestingMobile Specific TestingBattery Usage TestingStress and interrupt testingPerformance TestingMobile App Performance Testing

Mobile Test AutomationTest Automation ToolsWhat should be automatedHow to select the right tool

Mobile Testing Methods

Summary

Page 3: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Emulator, Simulator, Real Device

I EmulatorI Emulates real mobile device software, hardware and OS

I SimulatorI Simulates internal behavior but does not emulate

hardware

I Real Device

Page 4: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Traditional Testing

I Product FocusedI Used to find bugs

I Process FocusedI Protect software from bugs

Page 5: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Traditional Testing

Page 6: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Traditional Testing

Page 7: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Traditional Testing

I Process FocusedI Methods, languages, tools, guidelines, standards

I Product FocusedI Static testingI Dynamic testing

I White box testingI Black box testing

Page 8: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Traditional Testing

I White Box TestingI Statement coverageI Branch coverageI Decision coverageI Control Flow testingI Data flow testing

I Black Box TestingI Boundary valuesI Decision TableI Equivalence class partitioning

Page 9: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Specific Testing

I Mobile Functional Testing

I Mobile Usability Testing

I Accesibility Testing

Page 10: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Functional Testing

I Execute test cases

I Test if features and requirements have been correctlyimplemented

I Test acceptance criteria

I Test all functions

Page 11: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Usability Testing

I Less is moreI Avoid useless navigation, text/words

I Self explanatoryI Clear and understandable elements

I Pay attention to patternsI Check compliance with design pattern

I Allow mistakesI User friendly error messages, phrase messages according

to target customer, allow user to correct errors

Page 12: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Usability Testing

I Check the wordingI Easy wording, free of typos, text size in different

languages

I Check consistencyI Same look and feel in all views, platforms, corporate

identity guidelines

I Write it downI Note down differences, screen capture, categorize bugs

Page 13: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Accesibility Testing

I Visual ImpairmentI Make elements available for screen readersI Adjustable font sizeI Allow changing color contrastsI Voice recognition

I Auditory ImpairmentI Vibrations or visual notificationsI Subtitles for video contentI Volume controlI Mono audio

I Physical ImpairmentI Use voice recognitionI Processing speed

Page 14: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Accesibility Testing

I Cognitive ImpairmentI Provide easy interfaceI Screen readers, text highlightingI Auto text feature

I Accesibility guidelinesI Available for Android and iOS

Page 15: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Battery Usage Testing

I Fully Charged BatteryI ForegroundI BackgroundI Proxy tools to check requests to back end systems

I Low BatteryI 10% to 15% battery leftI Completely empty battery

Page 16: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Battery Usage Testing

I Battery Consumption Tools

Page 17: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Battery Usage Testing

I Battery Consumption Tools

Page 18: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Stress and interrupt testing

I ManualI trigger notifications

I AutomaticI Generates events like touch, click, screen rotation, swipeI Example: Monkey tool for android

Page 19: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Performance Testing

I Performance AreasI ServerI Mobile data networksI Mobile Device and Applications

Page 20: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile App Performance Testing

I Measure launch time

I Check for delays during user interactions

I Measure content loading time

I Test on different hardware

I Compare live app version with the new candidateversion

I Profiling tools to measure operation time of the code

Page 21: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Standby Testing

I Put app into standby mode

I Check UI refreshes

I Check data consistency

I Absence of internet connection

Page 22: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Installation Testing

I Verify installation on local storage or memory card

I Check installation with different internet connections

I Change connection during installation

I Switch to other apps

I Switch internet off

I Install with less memory remaining

I Uninstall

Page 23: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Update Testing

I Logged in user should not be logged out after update

I Existing app data should not be modified

Page 24: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Database Testing

I Validation testing

I Integration testing

I Performance testing

I Procedure and Function testing

I Trigger testing

I CRUD operation testing

I Integration with UI

I Security testing

Page 25: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Local Storage Testing

I When storage is full

I When local storage is full but extended has some space

I When local has some space but extended is full

I When both are full

I When local is nearly full

I Move app to extended storage

I When local storage is empty

Page 26: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Security Testing

I Common app security problemsI Cache storageI Unintended local storageI EncryptionI Client side validationI Un encrypted communicationI Unnecessary app permissions

Page 27: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Security Testing

I Security requirement analysisI Identify user roles and permissionsI Impact of user role on back end systemI Security testing approaches and tools

Page 28: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Platform Guideline Testing

I Keep platform specific guidelines in mindI Include guidelines in design phase

I Android guidelinesI Apple iOS design guidelinesI Apple iOS approval guidelines

Page 29: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Conformance Testing

I European Telecommunication Standards Institute

I World Wide Web Consortium

I Institute of Electrical and Electronics Engineering

Page 30: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Bugs

I Bug IDI Bad: 123I Good: AppXYZ-123

I DescriptionI Bad: App crashed, blank screenI Good: Error code 542 on detail message view, Time out

when sending a search request

I Steps to reproduceI Bad: I tried to execute a searchI Good: Start the app and enter Mobile Testing into

search input field. Press search button and you will seeerror code 783

Page 31: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Bugs

I Expected resultI Bad: It should work, It shouldnt have crashedI Good: expected to see search results with maximum 20

entries

I Actual resultI Bad: It didnt workI Good: The search result page was empty

I Work-aroundI Bad: I found a work aroundI Good: search results are visible if the device is in

landscape mode

Page 32: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Bugs

I ReproducibleI Bad: SometimesI Good: occurs two out of ten times

I Operating system, platform, deviceI Bad: AndroidI Good: Android, Version 4.1.2 Google Nexus 4

I Device specific informationI Bad: No informationI Good: Battery state=15%, GPS was activated

Page 33: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Bugs

I Browser versionI Bad: Google ChromeI Good: Google Chrome version 45.4343

I Software build versionI Bad: No informationI Good: App build version 1.2.3

I Network condition and environmentI Bad: Happened while walkingI Good: Connected to 3G while walking through a place

surrounded with buildings

Page 34: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Bugs

I LanguageI Bad: No informationI Good: German Language

I Test dataI Bad: No informationI Good: Find attached SQL script

I SeverityI Bad: No informationI Good: Critical

Page 35: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Bugs

I Bug categoryI Bad: No informationI Good: UI, Performance

I Screenshot or videoI Bad: Screenshot1I Good: 01SearchResultPage

I Log filesI Bad: No informationI Good: Attached, with full stack trace

I Tester informationI Bad: No informationI Good: Name. Email: [email protected]

Page 36: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Test Automation Pyramid

Page 37: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Test Automation Pyramid

Page 38: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Flipped Testing Pyramid

Page 39: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Flipped Testing Pyramid

Page 40: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Test Pyramid

Page 41: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Test Pyramid

Page 42: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Test Automation Tools

I Image recognitionI Embed screenshots into scriptI Example: eggPlant, RoutineBot

I Coordinate based recognitionI Rely on predefines coordinates to interact with UI

elementsI Examples: MonkeyTalk, Perfecto Mobile

I OCR/text recognitionI To determine if text is present on screenI Examples: eggPlant, MonkeyTalk

Page 43: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Test Automation Tools

I Native object recognitionI Accesses UI elements using CSS or object ID of

elementsI Examples: Appium, Calabash

I Capture and replayI Captures activity, replays it to test

Page 44: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

What should be automated

I Business critical parts

I User workflows and scenarios

I Complex app scenarios

I Sequences that need repetition

I Acceptance criteria

I Automate if economically reasonable!

Page 45: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

How to select the right tool

I Support for different app types

I Mobile platforms

I Recognition technology

I Tests on real device, simulator, emulator

I Test execution time

I UI and control elements

I Gesture support

I Language tests

I Open source or closed source

I Cross platform tests

Page 46: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Mobile Testing Methods

I Crowd Testing

I Cloud Testing

Page 47: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Crowd Testing

I Crowd outsourcing

I Diverse backgrounds: geographically and technically

I Progress of the crowd testers is made visible to theclient

Page 48: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Crowd Testing Process

I Briefing between crowd provider and client

I Crowd provider selects crowd based on clientrequirements

I Crowd tests the software

I Testers file reports

I Provider ensures quality of report

I Provider writes final test report at the end of the testcycle

I Report is presented to client

Page 49: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Pros

I Testers with different demographic background and skillsets

I Different mobile devices

I App tested in real world conditions by real users

I Provider filters and categorizes bugs

Page 50: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Cons

I Testers are generally not testing experts

I Reports may be of low quality

I Access to back end systems may be limited due toprivacy issues

I Time taking process

I Reproducing bugs can be difficult

I Testers may keep using the app after cycle has ended

Page 51: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Cloud Testing

I Wide range of devices with different hardware andsoftware available on the cloud

I The cloud uses a dynamic, shared and virtual ITinfrastructure

I The cloud provides on demand self service

I Priced according to consumption

Page 52: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Cloud Testing Types

I Functional Testing

I Performance Testing

I Load Testing

I Mobile Device Testing

I Cross Browser Testing

Page 53: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Pros

I Easy access to physical devices

I Easy access to emulators and simulators

I Fast and easy setup of mobile devices

I Accessibility from anywhere in the world

I Lower costs

I No maintenance cost

Page 54: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Cons

I Less control over devices

I Network issues

I Security and privacy issues. Delete app after sessioncomplete.

I Sensors and interfaces cannot be tested

I No physical contact with the device

Page 55: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

How to test mobileapps

Emulator, Simulator,Real Device

Traditional Testing

Mobile SpecificTesting

Battery Usage Testing

Stress and interrupttesting

Performance Testing

Mobile AppPerformance Testing

Mobile TestAutomation

Test AutomationTools

What should beautomated

How to select theright tool

Mobile TestingMethods

Summary

Summary

I Mobile usability, accessibility and functional testing

I Performance Testing

I Bug reporting

I Test automation

I Testing methods

Page 56: Mobile Application Testing - SE 3S03 - Tutorial 2khedri/wp-content/uploads/... · testing Performance Testing Mobile App Performance Testing Mobile Test Automation Test Automation

MobileApplication

Testing

Zahra Ali

Appendix

References

References I

Daniel KnottHands-On Mobile App Testing.