SlideShare una empresa de Scribd logo
1 de 69
Descargar para leer sin conexión
Stop Testing (Only) The
Functionality of Your Mobile Apps!
Anand Bagmar & Justin Ison
@BagmarAnand & @isonic1
Why do we need to think differently
about Mobile App Testing?
@BagmarAnand & @isonic1
2
Differences in Testing approach for
Web & Native Apps Testing
@BagmarAnand & @isonic1
3
● Interactions
● Device features & capabilities
○ Form factors (sizes, rotations)
○ M-Browsers Vs Native
○ OS variations & compatibility with hardware
○ Hardware
■ Battery
■ CPU / GPU
■ Memory
● Impact due to External factors
○ Network fluctuations & variations when on the move
○ Temperature / Humidity / Moisture
○ Interruptions
● Release Approach
@BagmarAnand & @isonic1
Differences In Web & App Testing Approach
4
Differences in Release approach for
Web & Native Apps Testing
@BagmarAnand & @isonic1
5
Web Mobile
Rollback Can be achieved Not possible
Upgrade scenarios (OS flavors) Easy to validate Complex
Hot-fix Easy to deploy Can’t be forced on users
External Approvals Not required
Apple / Google App verification
process
Deployment size Does not matter to users App size has impact on users
Compliance Browser compliance
Stock / Custom OS + Hardware
compatibility + Permissions
@BagmarAnand & @isonic1
Differences in Web & App Release approach
6
Web Mobile
Rollback Can be achieved Not possible
Upgrade scenarios (OS flavors) Easy to validate Complex
Hot-fix Easy to deploy Can’t be forced on users
External Approvals Not required
Apple / Google App verification
process
Deployment size Does not matter to users App size has impact on users
Compliance Browser compliance
Stock / Custom OS + Hardware
compatibility + Permissions
@BagmarAnand & @isonic1
Differences in Web & App Release approach
7
@BagmarAnand & @isonic1
https://www.npr.org/sections/goatsandsoda/2014/12/01/364749313/ebola-in-the-air-what-science-says-about-how-the-virus-spreads
8
Web Mobile
Rollback Can be achieved Not possible
Upgrade scenarios (OS flavors) Easy to validate Complex
Hot-fix Easy to deploy Can’t be forced on users
External Approvals Not required
Apple / Google App verification
process
Deployment size Does not matter to users App size has impact on users
Compliance Browser compliance
Stock / Custom OS + Hardware
compatibility + Permissions
@BagmarAnand & @isonic1
Differences in Web & App Release approach
9
Web Mobile
Rollback Can be achieved Not possible
Upgrade scenarios (OS flavors) Easy to validate Complex
Hot-fix Easy to deploy Can’t be forced on users
External Approvals Not required
Apple / Google App verification
process
Deployment size Does not matter to users App size has impact on users
Compliance Browser compliance
Stock / Custom OS + Hardware
compatibility + Permissions
@BagmarAnand & @isonic1
Differences in Web & App Release approach
10
Web Mobile
Rollback Can be achieved Not possible
Upgrade scenarios (OS flavors) Easy to validate Complex
Hot-fix Easy to deploy Can’t be forced on users
External Approvals Not required
Apple / Google App verification
process
Deployment size Does not matter to users App size has impact on users
Compliance Browser compliance
Stock / Custom OS + Hardware
compatibility + Permissions
@BagmarAnand & @isonic1
Differences in Web & App Release approach
11
Web Mobile
Rollback Can be achieved Not possible
Upgrade scenarios (OS flavors) Easy to validate Complex
Hot-fix Easy to deploy Can’t be forced on users
External Approvals Not required
Apple / Google App verification
process
Deployment size
Does not (necessarily) matter to
users
App size has impact on users
Compliance Browser compliance
Stock / Custom OS + Hardware
compatibility + Permissions
@BagmarAnand & @isonic1
Differences in Web & App Release approach
12
Differences in Web & App Release approach
Web Mobile
Rollback Can be achieved Not possible
Upgrade scenarios (OS flavors) Easy to validate Complex
Hot-fix Easy to deploy Can’t be forced on users
External Approvals Not required
Apple / Google App verification
process
Deployment size
Does not (necessarily) matter to
users
App size has impact on users
Compliance Browser compliance
Stock / Custom OS + Hardware
compatibility + Permissions
@BagmarAnand & @isonic1
13
So, how can you add more value to the
quality of your Native Apps?
@BagmarAnand & @isonic1
STRATEGY
14
@BagmarAnand & @isonic1
Real Device Vs Emulator-based Testing
https://askanydifference.com/difference-between-emulator-and-simulator/
STRATEGY
15
● When to use Emulators / Simulators?
○ Able to validate all application functionality
○ No performance impact on the application-under-test
● Why use Emulators / Simulators?
○ Reduce cost
○ Scaled as per needs, resulting in faster feedback
@BagmarAnand & @isonic1
When & Why to use Emulators for Testing?
16
● When to use Real Devices for testing?
○ If Emulators / Simulators are used, then “Sanity” / Focussed testing on real devices before
release
○ If Emulators / Simulators cannot validate all application functionality reliably, then invest
in Real-Device testing
○ If Emulators / Simulators cause performance issues or slowness of interactions with the
application-under-test
@BagmarAnand & @isonic1
When to use Real Devices for Testing?
17
● Cases when Emulators / Simulators may not help
○ Streaming content
○ Applications relying on hardware capabilities
○ Applications dependent on customised OS version
@BagmarAnand & @isonic1
Real Device Vs Emulator-based Testing
18
● It’s not enough to develop an app or any digital content for
that matter. You should strive to make your application
accessible to everyone.
● When should you start? The thought of accessibility should
start at the design or discovery phase or any product
and/or features.
● On this topic, we’re going to talk about a few of them and
how you can test your app for accessibility. Some of the
tools available, and even how to automate some of these.
Mobile Accessibility Testing
@BagmarAnand & @isonic1
STRATEGY
19
● According to the World Health Organization, there are
roughly 285 million people worldwide that suffer from low
vision, and/or color blindness.
Accessibility
The Good, The Bad & The Ugly
@BagmarAnand & @isonic1
20
Text To Speech - Voiceover
● Both iOS and Android platforms offer tools to verify voiceover logic.
○ Hearing the text-to-speech on the device/emulator/simulators.
○ Validating the accessibility labels via the layout or various hierarchy viewers apps.
“content-desc” for Android and “Label” for iOS. Both will result in “accessibility-id” in
appium for instance..
@BagmarAnand & @isonic1
21
● Your goal is to ensure people with low vision can utilize your
application, it functions correctly and it makes sense audibly.
Detecting Accessibility Labels
ANDROID
@BagmarAnand & @isonic1
22
Detecting Accessibility Labels
iOS
@BagmarAnand & @isonic1
23
● The Android Studio and Xcode frameworks now for the most part handle layout
changes automatically due to different text sizes.
○ However, problems can occur when designers or developers use custom
fonts. They like any humans, make subconscious decisions that may adversely
impact how your app looks, functions and accessible.
Large Text Font & Display Density Size
@BagmarAnand & @isonic1
24
● For those with low vision, increasing the text and even the screen density size is
imperative. Normally these settings are enabled at the devices system level.
○ If these settings are changed from the default your app must be able to
support it.
Default Large Text Large Text & Display
@BagmarAnand & @isonic1
25
● Somewhat controversial when it comes to accessibility. But nonetheless, if
there is a population of people needing this, you should support this
feature and make sure it works, and the content of your app is readable.
● A few benefits:
○ Reduces flicker problems
○ Easier to use in poorly lit rooms
○ Less blue light exposure
@BagmarAnand & @isonic1
26
@BagmarAnand & @isonic1
27
Bugs CAN Happen...
@BagmarAnand & @isonic1
28
● Nowadays there are many digital platforms such as phones/tablets, smart TV’s,
smartwatches, it’s important we have set standards to ensure our apps are accessible
to users with color blindness.
● And we do! The W3C - Web Content Accessibility Guidelines (WCAG 2.0 / 2.1) are a set
of standards and guidelines for mobile accessibility.
● Along with Levels AA and AAA.
○ Level AA (contrast minimum): Requires a contrast of at least 4.5:1 or 3:1 for large scale text.
○ Level AAA (enhanced): Requires a contrast of at least 7:1 or 4.5:1 for large scale text.
Contrast & Color Blindness
@BagmarAnand & @isonic1
29
● Many people throughout the world suffer from color blindness.
● The Accessibility Scanner app scans your screen and provides suggestions to improve the
accessibility of your app. This app uses the Accessibility Test Framework and provides specific
suggestions after looking at content labels, clickable items, contrast, and more.
● You can automate this with Espresso Accessibility Checking libraries.
○ https://developer.android.com/training/testing/espresso/accessibility-checking
Android - Tools Available to Validate Contrast
@BagmarAnand & @isonic1
30
@BagmarAnand & @isonic1
31
● Apple provides the Accessibility Inspector testing tool that can be launched from Xcode > Open
Developer Tool > Accessibility Inspector. The Accessibility Inspector presents a utility window
that displays the information properties (and values), action methods, and position in the
accessibility hierarchy.
● Automation options are limited, however.
○ https://mobilea11y.com/guides/xcui/
○ https://github.com/google/GSCXScanner
○ https://www.deque.com/ios-accessibility/
iOS - Tools Available to Validate Contrast
@BagmarAnand & @isonic1
32
@BagmarAnand & @isonic1
33
Applitools Contrast Advisor - All Platforms
@BagmarAnand & @isonic1
34
Applitools - Validate Contrast from Code!
@BagmarAnand & @isonic1
35
Accessibility
Now let’s tie everything we just learned
with automation example using Applitools!
Default - Contrast - Large Text - Device Density - Dark Mode
@BagmarAnand & @isonic1
36
Android Device Bridge (ADB) APIs
@BagmarAnand & @isonic1
37
Example Appium Script
@BagmarAnand & @isonic1
38
Let’s look at the results in Applitools!
@BagmarAnand & @isonic1
39
● Consumption Monitoring:
○ CPU
○ Memory
○ Network
○ Battery/Energy
● It's not only important to capture this information, but also storing it
for historical lookup, benchmarking, and detecting trends!
● Android SDK Tools & Xcode provide libraries to test these. We will walk
through the various options available.
Devices Resources & Consumption Testing
@BagmarAnand & @isonic1
STRATEGY
40
● Nowadays, it's not enough to only have tests to ensure quality and
catch regressions. It's imperative to know more about what’s
happening under-the-hood of your application.
Android Studio - Profiler
@BagmarAnand & @isonic1
41
42
Credit: https://appiumpro.com/editions/5-performance-testing-of-android-apps
@BagmarAnand & @isonic1
Xcode - Instruments Profiler
@BagmarAnand & @isonic1
43
44
Credit: https://appiumpro.com/editions/12-capturing-performance-data-for-native-ios-apps
@BagmarAnand & @isonic1
45
@BagmarAnand & @isonic1
46
Chaos & Monkey Testing
@BagmarAnand & @isonic1
● You can also stress test your application with monkey testing. Monitor
the logs for errors and even use the profiling tools we talked about
previously.
● We’ll look at few different frameworks available for iOS and Android.
○ These should be used as an additional tool in your toolbox and not to replace
automation.
Chaos & Monkey Testing
@BagmarAnand & @isonic1
STRATEGY
47
● Testing the unexpected! Regressions tests (automated and manual) are
a must-have but they only take you so far. Using a monkey tester can
discover bugs you never knew existed.
iOS - Zalando’s SwiftMonkey
@BagmarAnand & @isonic1
48
Credit Source: https://github.com/zalando/SwiftMonkey
● Perhaps one of the easiest frameworks to
get started with. You can develop your
own Monkeyrunner scripts in Python and
Java.
● Or use the Android Device Bridge APIs and
run it directly from a terminal.
Android - Monkeyrunner
@BagmarAnand & @isonic1
49
@BagmarAnand & @isonic1
50
Create Your Own Monkey Tester
@BagmarAnand & @isonic1
51
● Many applications today use location-based
logic where they geolocate you to display
certain UI views.
● It’s important to validate these cases by
changing the device location.
● In some cases, this is not enough and a VPN
is needed if using network-based location.
Or use additional spoofer / mock location
apps to achieve this.
Location Testing
@BagmarAnand & @isonic1
52
● Many applications today need to handle different networks
and bandwidths. Especially in developing countries where
networks can be spotty.
● Apps need to logically detect when certain network
conditions are met and what view contents need to be
downloaded or otherwise show static views
● Bandwidth can be adjusted for automation as well. Some
links at the end will be provided for further explain how.
Network Bandwidth Testing
@BagmarAnand & @isonic1
53
@BagmarAnand & @isonic1
Visual Testing
STRATEGY
54
@BagmarAnand & @isonic1
55
Bugs still Escape
@BagmarAnand & @isonic1
56
Spot the Difference!
@BagmarAnand & @isonic1
57
Spot the Difference!
@BagmarAnand & @isonic1
58
@BagmarAnand & @isonic1
59
Pixel Comparisons Waste Time With False Positives
@BagmarAnand & @isonic1
60
Visual AI Highlights Only The Differences That Matter!
@BagmarAnand & @isonic1
61
Use Visual Assertions Instead of Functional Assertions
● A single assertion for complete
functional coverage
● Bonus: validates the UI
● Does not break when the UI changes
● No coding skills required to maintain
baselines
● Validate UX at scale for all supported
browsers
@BagmarAnand & @isonic1
Beta Testing
● Beta Testing
○ Test Release candidate apps with users willing to use and provide feedback for early
releases of Apps
○ Instrumentation / Reports need to be able to separate between Beta releases Vs
actual release versions of the App
STRATEGY
62
@BagmarAnand & @isonic1
On-field Testing
● On-field Testing
○ Test Release builds of apps with real users identified in the field
○ Share specific criteria and scenarios for validations
Examples
■ Network and network conditions on which testing is to be done
■ Device criteria on which testing is to be done
■ Test scenarios to be executed with relevant Test Data
○ Leverage companies that offer on-field testing as a service
STRATEGY
63
@BagmarAnand & @isonic1
Staged Rollouts
● Staged Rollouts
○ Release apps to a % of users
○ Rollout % can be increased over time based on confidence on quality
○ App can be pulled out if problems are noticed / reported
○ Google PlayStore Staged Rollouts:
https://support.google.com/googleplay/android-developer/answer/6346149?hl=en
○ Apple Phased Releases:
https://help.apple.com/app-store-connect/#/dev3d65fcee1
STRATEGY
64
@BagmarAnand & @isonic1
Observability - Logging / Monitoring / Analytics
https://www.splunk.com/en_us/data-insider/what-is-observability.html
STRATEGY
65
@BagmarAnand & @isonic1
Observability - Logging / Monitoring / Analytics
● Observability - The ability to dig into unknowns on the fly
● To enable Observability, ensure:
○ Capture Crash logs with context
○ Build Instrumentation & Correlation with Context in your app
○ Capture user interactions in form of Business and Technical Analytics Events
○ Enhanced Real-time Monitoring & Alerting for your system components and
infrastructure
○ Build Meaningful, Real-time and Contextual Dashboards
● Test for Observability before a full release
66
@BagmarAnand & @isonic1
Observability - Logging / Monitoring / Analytics
67
Sources
● Accessibility:
○ https://www.w3.org/WAI/standards-guidelines/mobile
○ https://uxdesign.cc/accessibility-and-dark-ui-themes-f01001339b65
○ https://developer.android.com/guide/topics/ui/accessibility/testing
○ https://gist.github.com/ChiftKey/3901ff7702fec1f07c21f22e54533cde
○ https://github.com/rwapp/A11yUITests
○ https://github.com/google/GSCXScanner - for iOS
○ https://www.deque.com/ios-accessibility/
○ https://developer.apple.com/library/archive/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXT
estingApps.html
○ https://applitools.com/docs/features/contrast-accessibility.html
● Device Resources & Consumption:
○ https://developer.android.com/studio/profile/android-profiler
○ https://appiumpro.com/editions/5-performance-testing-of-android-apps
○ https://help.apple.com/instruments/mac/current
○ https://appiumpro.com/editions/12-capturing-performance-data-for-native-ios-apps
○ https://medium.com/@andrew.tishchenko/how-to-create-fake-locations-for-ios-207950ee2410
○ https://nshipster.com/network-link-conditioner/
○ https://appiumpro.com/editions/72-simulating-slow-internet-connections-on-android-emulators-with-appium
○ https://appiumpro.com/editions/104-simulating-different-network-conditions-for-virtual-devices
● Monkey Testing:
○ https://developer.android.com/studio/test/monkeyrunner
○ https://github.com/zalando/SwiftMonkey
○ https://medium.com/mobile-quality/how-to-use-chaos-in-your-ios-tests-b49281a1349a
○ https://github.com/isonic1/Appium-Native-Crawler#example-usage
@BagmarAnand & @isonic1
68
Thank you
Anand Bagmar & Justin Ison
@BagmarAnand & @isonic1

Más contenido relacionado

La actualidad más candente

Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourcePerfecto by Perforce
 
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality GameWhy Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality GameAustin Marie Gay
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesSauce Labs
 
"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"Applitools
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestOnur Baskirt
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsMikhail Laptev
 
How to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous TestingHow to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous TestingPerfecto by Perforce
 
Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Dmitriy Gumeniuk
 
[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...
[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...
[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...Applitools
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerSauce Labs
 
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil TayarVisual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil TayarApplitools
 
Myth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan Lipps
Myth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan LippsMyth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan Lipps
Myth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan LippsApplitools
 
ESLint Plugin for UI Tests
ESLint Plugin for UI TestsESLint Plugin for UI Tests
ESLint Plugin for UI TestsApplitools
 
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Applitools
 
Automate More with Selenium for your RWD
Automate More with Selenium for your RWDAutomate More with Selenium for your RWD
Automate More with Selenium for your RWDPerfecto by Perforce
 
Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingSauce Labs
 
Enterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile AppsEnterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile AppsVijayan Srinivasan
 
5 Steps to Detecting Issues Earlier in Your Release Cycles
 5 Steps to Detecting Issues Earlier in Your Release Cycles 5 Steps to Detecting Issues Earlier in Your Release Cycles
5 Steps to Detecting Issues Earlier in Your Release CyclesPerfecto by Perforce
 
SeConf_Nov2016_London
SeConf_Nov2016_LondonSeConf_Nov2016_London
SeConf_Nov2016_LondonPooja Shah
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon StudioKnoldus Inc.
 

La actualidad más candente (20)

Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open Source
 
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality GameWhy Apps Succeed: 4 Keys to Winning the Digital Quality Game
Why Apps Succeed: 4 Keys to Winning the Digital Quality Game
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
 
Visual AI Testing Using Applitools
Visual AI Testing Using ApplitoolsVisual AI Testing Using Applitools
Visual AI Testing Using Applitools
 
How to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous TestingHow to Leverage XCUITest for Continuous Testing
How to Leverage XCUITest for Continuous Testing
 
Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?
 
[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...
[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...
[TAQfull Meetup] Angie Jones + Expert Panel: Best Practices in Quality Manage...
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave Haeffner
 
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil TayarVisual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
Visual Testing: The Missing Piece of the Puzzle -- presentation by Gil Tayar
 
Myth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan Lipps
Myth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan LippsMyth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan Lipps
Myth vs Reality: Understanding AI/ML for QA Automation - w/ Jonathan Lipps
 
ESLint Plugin for UI Tests
ESLint Plugin for UI TestsESLint Plugin for UI Tests
ESLint Plugin for UI Tests
 
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
Wrong Tool, Wrong Time: Re-Thinking Test Automation -- w/ State of Visual Tes...
 
Automate More with Selenium for your RWD
Automate More with Selenium for your RWDAutomate More with Selenium for your RWD
Automate More with Selenium for your RWD
 
Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated Testing
 
Enterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile AppsEnterprise Ready Test Execution Platform for Mobile Apps
Enterprise Ready Test Execution Platform for Mobile Apps
 
5 Steps to Detecting Issues Earlier in Your Release Cycles
 5 Steps to Detecting Issues Earlier in Your Release Cycles 5 Steps to Detecting Issues Earlier in Your Release Cycles
5 Steps to Detecting Issues Earlier in Your Release Cycles
 
SeConf_Nov2016_London
SeConf_Nov2016_LondonSeConf_Nov2016_London
SeConf_Nov2016_London
 
API Testing With Katalon Studio
API Testing With Katalon StudioAPI Testing With Katalon Studio
API Testing With Katalon Studio
 

Similar a Stop Testing (Only) The Functionality of Your Mobile Apps!

Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchLizzy Guido (she/her)
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101TechWell
 
Difference between Mobile and Web App testing
Difference between Mobile and Web App testingDifference between Mobile and Web App testing
Difference between Mobile and Web App testingpCloudy
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...NITHIN S.S
 
Test Design for Responsive Websites
Test Design for Responsive WebsitesTest Design for Responsive Websites
Test Design for Responsive WebsitesTechWell
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringMobilePundits
 
S cube's mobile application development
S cube's mobile application developmentS cube's mobile application development
S cube's mobile application developmentarti yadav
 
Scube's mobile application development
Scube's mobile application developmentScube's mobile application development
Scube's mobile application developmentarti yadav
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesNous Infosystems
 
Mobile Application Testing - White Paper
Mobile Application Testing - White PaperMobile Application Testing - White Paper
Mobile Application Testing - White PaperJade Global
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App PerformanceTechWell
 
Appium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | EdurekaAppium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | EdurekaEdureka!
 
The Ultimate Website Testing Checklist for 2022
 The Ultimate Website Testing Checklist for 2022 The Ultimate Website Testing Checklist for 2022
The Ultimate Website Testing Checklist for 2022VOCSO Technologies
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing StrategyankitQA
 
SanthoshiAgadala_Test Engineer_2.7 years of Experience
SanthoshiAgadala_Test Engineer_2.7 years of ExperienceSanthoshiAgadala_Test Engineer_2.7 years of Experience
SanthoshiAgadala_Test Engineer_2.7 years of Experiencedasfagfdagadg
 
SanthoshiAgadala_Test Engineer_2.6 years of Experience
SanthoshiAgadala_Test Engineer_2.6 years of ExperienceSanthoshiAgadala_Test Engineer_2.6 years of Experience
SanthoshiAgadala_Test Engineer_2.6 years of Experiencedasfagfdagadg
 
HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2Hien Vo
 
ANKITA_SINHA (1) (1)
ANKITA_SINHA (1) (1)ANKITA_SINHA (1) (1)
ANKITA_SINHA (1) (1)ankita sinha
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]BrowserStack
 

Similar a Stop Testing (Only) The Functionality of Your Mobile Apps! (20)

Webinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect MatchWebinar: Appium & Perfecto: A Perfect Match
Webinar: Appium & Perfecto: A Perfect Match
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101
 
Difference between Mobile and Web App testing
Difference between Mobile and Web App testingDifference between Mobile and Web App testing
Difference between Mobile and Web App testing
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
Test Design for Responsive Websites
Test Design for Responsive WebsitesTest Design for Responsive Websites
Test Design for Responsive Websites
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and Monitoring
 
S cube's mobile application development
S cube's mobile application developmentS cube's mobile application development
S cube's mobile application development
 
Scube's mobile application development
Scube's mobile application developmentScube's mobile application development
Scube's mobile application development
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
 
Mobile Application Testing - White Paper
Mobile Application Testing - White PaperMobile Application Testing - White Paper
Mobile Application Testing - White Paper
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
 
Appium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | EdurekaAppium Interview Questions and Answers | Edureka
Appium Interview Questions and Answers | Edureka
 
The Ultimate Website Testing Checklist for 2022
 The Ultimate Website Testing Checklist for 2022 The Ultimate Website Testing Checklist for 2022
The Ultimate Website Testing Checklist for 2022
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing Strategy
 
SanthoshiAgadala_Test Engineer_2.7 years of Experience
SanthoshiAgadala_Test Engineer_2.7 years of ExperienceSanthoshiAgadala_Test Engineer_2.7 years of Experience
SanthoshiAgadala_Test Engineer_2.7 years of Experience
 
SanthoshiAgadala_Test Engineer_2.6 years of Experience
SanthoshiAgadala_Test Engineer_2.6 years of ExperienceSanthoshiAgadala_Test Engineer_2.6 years of Experience
SanthoshiAgadala_Test Engineer_2.6 years of Experience
 
HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2
 
ANKITA_SINHA (1) (1)
ANKITA_SINHA (1) (1)ANKITA_SINHA (1) (1)
ANKITA_SINHA (1) (1)
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 

Más de Applitools

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...Applitools
 
Visual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UIVisual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UIApplitools
 
A Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureA Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureApplitools
 
Add AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and CuriosityAdd AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and CuriosityApplitools
 
The Future of AI-Based Test Automation
The Future of AI-Based Test AutomationThe Future of AI-Based Test Automation
The Future of AI-Based Test AutomationApplitools
 
Test Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed TeamsTest Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed TeamsApplitools
 
Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?Applitools
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityApplitools
 
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing TeamsNavigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing TeamsApplitools
 
Introducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdfIntroducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdfApplitools
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Applitools
 
Collaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing CentraCollaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing CentraApplitools
 
What the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the FutureWhat the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the FutureApplitools
 
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual TestingApplitools
 
Workshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with CypressWorkshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with CypressApplitools
 
From Washing Cars To Automating Test Applications
From Washing Cars To Automating Test ApplicationsFrom Washing Cars To Automating Test Applications
From Washing Cars To Automating Test ApplicationsApplitools
 
A Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous DeliveryA Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous DeliveryApplitools
 
AI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser TestingAI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser TestingApplitools
 
Workshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with JavascriptWorkshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with JavascriptApplitools
 

Más de Applitools (20)

Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
Streamlining Your Tech Stack: A Blueprint for Enhanced Efficiency and Coverag...
 
Visual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UIVisual AI for eCommerce: Improving Conversions with a Flawless UI
Visual AI for eCommerce: Improving Conversions with a Flawless UI
 
A Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the FutureA Test Automation Platform Designed for the Future
A Test Automation Platform Designed for the Future
 
Add AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and CuriosityAdd AI to Your SDLC, presented by Applitools and Curiosity
Add AI to Your SDLC, presented by Applitools and Curiosity
 
The Future of AI-Based Test Automation
The Future of AI-Based Test AutomationThe Future of AI-Based Test Automation
The Future of AI-Based Test Automation
 
Test Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed TeamsTest Automation at Scale: Lessons from Top-Performing Distributed Teams
Test Automation at Scale: Lessons from Top-Performing Distributed Teams
 
Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?Can AI Autogenerate and Run Automated Tests?
Can AI Autogenerate and Run Automated Tests?
 
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and FunctionalityTriple Assurance: AI-Powered Test Automation in UI Design and Functionality
Triple Assurance: AI-Powered Test Automation in UI Design and Functionality
 
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing TeamsNavigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
Navigating the Challenges of Testing at Scale: Lessons from Top-Performing Teams
 
Introducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdfIntroducing the Applitools Self Healing Execution Cloud.pdf
Introducing the Applitools Self Healing Execution Cloud.pdf
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
Collaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing CentraCollaborating From Design To Experience: Introducing Centra
Collaborating From Design To Experience: Introducing Centra
 
What the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the FutureWhat the QA Position Will Look Like in the Future
What the QA Position Will Look Like in the Future
 
Getting Started with Visual Testing
Getting Started with Visual TestingGetting Started with Visual Testing
Getting Started with Visual Testing
 
Workshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with CypressWorkshop: Head-to-Head Web Testing: Part 1 with Cypress
Workshop: Head-to-Head Web Testing: Part 1 with Cypress
 
From Washing Cars To Automating Test Applications
From Washing Cars To Automating Test ApplicationsFrom Washing Cars To Automating Test Applications
From Washing Cars To Automating Test Applications
 
A Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous DeliveryA Holistic Approach to Testing in Continuous Delivery
A Holistic Approach to Testing in Continuous Delivery
 
AI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser TestingAI-Powered-Cross-Browser Testing
AI-Powered-Cross-Browser Testing
 
Workshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with JavascriptWorkshop: An Introduction to API Automation with Javascript
Workshop: An Introduction to API Automation with Javascript
 

Último

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 

Último (20)

Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 

Stop Testing (Only) The Functionality of Your Mobile Apps!

  • 1. Stop Testing (Only) The Functionality of Your Mobile Apps! Anand Bagmar & Justin Ison @BagmarAnand & @isonic1
  • 2. Why do we need to think differently about Mobile App Testing? @BagmarAnand & @isonic1 2
  • 3. Differences in Testing approach for Web & Native Apps Testing @BagmarAnand & @isonic1 3
  • 4. ● Interactions ● Device features & capabilities ○ Form factors (sizes, rotations) ○ M-Browsers Vs Native ○ OS variations & compatibility with hardware ○ Hardware ■ Battery ■ CPU / GPU ■ Memory ● Impact due to External factors ○ Network fluctuations & variations when on the move ○ Temperature / Humidity / Moisture ○ Interruptions ● Release Approach @BagmarAnand & @isonic1 Differences In Web & App Testing Approach 4
  • 5. Differences in Release approach for Web & Native Apps Testing @BagmarAnand & @isonic1 5
  • 6. Web Mobile Rollback Can be achieved Not possible Upgrade scenarios (OS flavors) Easy to validate Complex Hot-fix Easy to deploy Can’t be forced on users External Approvals Not required Apple / Google App verification process Deployment size Does not matter to users App size has impact on users Compliance Browser compliance Stock / Custom OS + Hardware compatibility + Permissions @BagmarAnand & @isonic1 Differences in Web & App Release approach 6
  • 7. Web Mobile Rollback Can be achieved Not possible Upgrade scenarios (OS flavors) Easy to validate Complex Hot-fix Easy to deploy Can’t be forced on users External Approvals Not required Apple / Google App verification process Deployment size Does not matter to users App size has impact on users Compliance Browser compliance Stock / Custom OS + Hardware compatibility + Permissions @BagmarAnand & @isonic1 Differences in Web & App Release approach 7
  • 9. Web Mobile Rollback Can be achieved Not possible Upgrade scenarios (OS flavors) Easy to validate Complex Hot-fix Easy to deploy Can’t be forced on users External Approvals Not required Apple / Google App verification process Deployment size Does not matter to users App size has impact on users Compliance Browser compliance Stock / Custom OS + Hardware compatibility + Permissions @BagmarAnand & @isonic1 Differences in Web & App Release approach 9
  • 10. Web Mobile Rollback Can be achieved Not possible Upgrade scenarios (OS flavors) Easy to validate Complex Hot-fix Easy to deploy Can’t be forced on users External Approvals Not required Apple / Google App verification process Deployment size Does not matter to users App size has impact on users Compliance Browser compliance Stock / Custom OS + Hardware compatibility + Permissions @BagmarAnand & @isonic1 Differences in Web & App Release approach 10
  • 11. Web Mobile Rollback Can be achieved Not possible Upgrade scenarios (OS flavors) Easy to validate Complex Hot-fix Easy to deploy Can’t be forced on users External Approvals Not required Apple / Google App verification process Deployment size Does not matter to users App size has impact on users Compliance Browser compliance Stock / Custom OS + Hardware compatibility + Permissions @BagmarAnand & @isonic1 Differences in Web & App Release approach 11
  • 12. Web Mobile Rollback Can be achieved Not possible Upgrade scenarios (OS flavors) Easy to validate Complex Hot-fix Easy to deploy Can’t be forced on users External Approvals Not required Apple / Google App verification process Deployment size Does not (necessarily) matter to users App size has impact on users Compliance Browser compliance Stock / Custom OS + Hardware compatibility + Permissions @BagmarAnand & @isonic1 Differences in Web & App Release approach 12
  • 13. Differences in Web & App Release approach Web Mobile Rollback Can be achieved Not possible Upgrade scenarios (OS flavors) Easy to validate Complex Hot-fix Easy to deploy Can’t be forced on users External Approvals Not required Apple / Google App verification process Deployment size Does not (necessarily) matter to users App size has impact on users Compliance Browser compliance Stock / Custom OS + Hardware compatibility + Permissions @BagmarAnand & @isonic1 13
  • 14. So, how can you add more value to the quality of your Native Apps? @BagmarAnand & @isonic1 STRATEGY 14
  • 15. @BagmarAnand & @isonic1 Real Device Vs Emulator-based Testing https://askanydifference.com/difference-between-emulator-and-simulator/ STRATEGY 15
  • 16. ● When to use Emulators / Simulators? ○ Able to validate all application functionality ○ No performance impact on the application-under-test ● Why use Emulators / Simulators? ○ Reduce cost ○ Scaled as per needs, resulting in faster feedback @BagmarAnand & @isonic1 When & Why to use Emulators for Testing? 16
  • 17. ● When to use Real Devices for testing? ○ If Emulators / Simulators are used, then “Sanity” / Focussed testing on real devices before release ○ If Emulators / Simulators cannot validate all application functionality reliably, then invest in Real-Device testing ○ If Emulators / Simulators cause performance issues or slowness of interactions with the application-under-test @BagmarAnand & @isonic1 When to use Real Devices for Testing? 17
  • 18. ● Cases when Emulators / Simulators may not help ○ Streaming content ○ Applications relying on hardware capabilities ○ Applications dependent on customised OS version @BagmarAnand & @isonic1 Real Device Vs Emulator-based Testing 18
  • 19. ● It’s not enough to develop an app or any digital content for that matter. You should strive to make your application accessible to everyone. ● When should you start? The thought of accessibility should start at the design or discovery phase or any product and/or features. ● On this topic, we’re going to talk about a few of them and how you can test your app for accessibility. Some of the tools available, and even how to automate some of these. Mobile Accessibility Testing @BagmarAnand & @isonic1 STRATEGY 19 ● According to the World Health Organization, there are roughly 285 million people worldwide that suffer from low vision, and/or color blindness.
  • 20. Accessibility The Good, The Bad & The Ugly @BagmarAnand & @isonic1 20
  • 21. Text To Speech - Voiceover ● Both iOS and Android platforms offer tools to verify voiceover logic. ○ Hearing the text-to-speech on the device/emulator/simulators. ○ Validating the accessibility labels via the layout or various hierarchy viewers apps. “content-desc” for Android and “Label” for iOS. Both will result in “accessibility-id” in appium for instance.. @BagmarAnand & @isonic1 21 ● Your goal is to ensure people with low vision can utilize your application, it functions correctly and it makes sense audibly.
  • 24. ● The Android Studio and Xcode frameworks now for the most part handle layout changes automatically due to different text sizes. ○ However, problems can occur when designers or developers use custom fonts. They like any humans, make subconscious decisions that may adversely impact how your app looks, functions and accessible. Large Text Font & Display Density Size @BagmarAnand & @isonic1 24 ● For those with low vision, increasing the text and even the screen density size is imperative. Normally these settings are enabled at the devices system level. ○ If these settings are changed from the default your app must be able to support it.
  • 25. Default Large Text Large Text & Display @BagmarAnand & @isonic1 25
  • 26. ● Somewhat controversial when it comes to accessibility. But nonetheless, if there is a population of people needing this, you should support this feature and make sure it works, and the content of your app is readable. ● A few benefits: ○ Reduces flicker problems ○ Easier to use in poorly lit rooms ○ Less blue light exposure @BagmarAnand & @isonic1 26
  • 29. ● Nowadays there are many digital platforms such as phones/tablets, smart TV’s, smartwatches, it’s important we have set standards to ensure our apps are accessible to users with color blindness. ● And we do! The W3C - Web Content Accessibility Guidelines (WCAG 2.0 / 2.1) are a set of standards and guidelines for mobile accessibility. ● Along with Levels AA and AAA. ○ Level AA (contrast minimum): Requires a contrast of at least 4.5:1 or 3:1 for large scale text. ○ Level AAA (enhanced): Requires a contrast of at least 7:1 or 4.5:1 for large scale text. Contrast & Color Blindness @BagmarAnand & @isonic1 29 ● Many people throughout the world suffer from color blindness.
  • 30. ● The Accessibility Scanner app scans your screen and provides suggestions to improve the accessibility of your app. This app uses the Accessibility Test Framework and provides specific suggestions after looking at content labels, clickable items, contrast, and more. ● You can automate this with Espresso Accessibility Checking libraries. ○ https://developer.android.com/training/testing/espresso/accessibility-checking Android - Tools Available to Validate Contrast @BagmarAnand & @isonic1 30
  • 32. ● Apple provides the Accessibility Inspector testing tool that can be launched from Xcode > Open Developer Tool > Accessibility Inspector. The Accessibility Inspector presents a utility window that displays the information properties (and values), action methods, and position in the accessibility hierarchy. ● Automation options are limited, however. ○ https://mobilea11y.com/guides/xcui/ ○ https://github.com/google/GSCXScanner ○ https://www.deque.com/ios-accessibility/ iOS - Tools Available to Validate Contrast @BagmarAnand & @isonic1 32
  • 34. Applitools Contrast Advisor - All Platforms @BagmarAnand & @isonic1 34
  • 35. Applitools - Validate Contrast from Code! @BagmarAnand & @isonic1 35
  • 36. Accessibility Now let’s tie everything we just learned with automation example using Applitools! Default - Contrast - Large Text - Device Density - Dark Mode @BagmarAnand & @isonic1 36
  • 37. Android Device Bridge (ADB) APIs @BagmarAnand & @isonic1 37
  • 39. Let’s look at the results in Applitools! @BagmarAnand & @isonic1 39
  • 40. ● Consumption Monitoring: ○ CPU ○ Memory ○ Network ○ Battery/Energy ● It's not only important to capture this information, but also storing it for historical lookup, benchmarking, and detecting trends! ● Android SDK Tools & Xcode provide libraries to test these. We will walk through the various options available. Devices Resources & Consumption Testing @BagmarAnand & @isonic1 STRATEGY 40 ● Nowadays, it's not enough to only have tests to ensure quality and catch regressions. It's imperative to know more about what’s happening under-the-hood of your application.
  • 41. Android Studio - Profiler @BagmarAnand & @isonic1 41
  • 43. Xcode - Instruments Profiler @BagmarAnand & @isonic1 43
  • 46. 46 Chaos & Monkey Testing @BagmarAnand & @isonic1
  • 47. ● You can also stress test your application with monkey testing. Monitor the logs for errors and even use the profiling tools we talked about previously. ● We’ll look at few different frameworks available for iOS and Android. ○ These should be used as an additional tool in your toolbox and not to replace automation. Chaos & Monkey Testing @BagmarAnand & @isonic1 STRATEGY 47 ● Testing the unexpected! Regressions tests (automated and manual) are a must-have but they only take you so far. Using a monkey tester can discover bugs you never knew existed.
  • 48. iOS - Zalando’s SwiftMonkey @BagmarAnand & @isonic1 48 Credit Source: https://github.com/zalando/SwiftMonkey
  • 49. ● Perhaps one of the easiest frameworks to get started with. You can develop your own Monkeyrunner scripts in Python and Java. ● Or use the Android Device Bridge APIs and run it directly from a terminal. Android - Monkeyrunner @BagmarAnand & @isonic1 49
  • 51. Create Your Own Monkey Tester @BagmarAnand & @isonic1 51
  • 52. ● Many applications today use location-based logic where they geolocate you to display certain UI views. ● It’s important to validate these cases by changing the device location. ● In some cases, this is not enough and a VPN is needed if using network-based location. Or use additional spoofer / mock location apps to achieve this. Location Testing @BagmarAnand & @isonic1 52
  • 53. ● Many applications today need to handle different networks and bandwidths. Especially in developing countries where networks can be spotty. ● Apps need to logically detect when certain network conditions are met and what view contents need to be downloaded or otherwise show static views ● Bandwidth can be adjusted for automation as well. Some links at the end will be provided for further explain how. Network Bandwidth Testing @BagmarAnand & @isonic1 53
  • 54. @BagmarAnand & @isonic1 Visual Testing STRATEGY 54
  • 59. @BagmarAnand & @isonic1 59 Pixel Comparisons Waste Time With False Positives
  • 60. @BagmarAnand & @isonic1 60 Visual AI Highlights Only The Differences That Matter!
  • 61. @BagmarAnand & @isonic1 61 Use Visual Assertions Instead of Functional Assertions ● A single assertion for complete functional coverage ● Bonus: validates the UI ● Does not break when the UI changes ● No coding skills required to maintain baselines ● Validate UX at scale for all supported browsers
  • 62. @BagmarAnand & @isonic1 Beta Testing ● Beta Testing ○ Test Release candidate apps with users willing to use and provide feedback for early releases of Apps ○ Instrumentation / Reports need to be able to separate between Beta releases Vs actual release versions of the App STRATEGY 62
  • 63. @BagmarAnand & @isonic1 On-field Testing ● On-field Testing ○ Test Release builds of apps with real users identified in the field ○ Share specific criteria and scenarios for validations Examples ■ Network and network conditions on which testing is to be done ■ Device criteria on which testing is to be done ■ Test scenarios to be executed with relevant Test Data ○ Leverage companies that offer on-field testing as a service STRATEGY 63
  • 64. @BagmarAnand & @isonic1 Staged Rollouts ● Staged Rollouts ○ Release apps to a % of users ○ Rollout % can be increased over time based on confidence on quality ○ App can be pulled out if problems are noticed / reported ○ Google PlayStore Staged Rollouts: https://support.google.com/googleplay/android-developer/answer/6346149?hl=en ○ Apple Phased Releases: https://help.apple.com/app-store-connect/#/dev3d65fcee1 STRATEGY 64
  • 65. @BagmarAnand & @isonic1 Observability - Logging / Monitoring / Analytics https://www.splunk.com/en_us/data-insider/what-is-observability.html STRATEGY 65
  • 66. @BagmarAnand & @isonic1 Observability - Logging / Monitoring / Analytics ● Observability - The ability to dig into unknowns on the fly ● To enable Observability, ensure: ○ Capture Crash logs with context ○ Build Instrumentation & Correlation with Context in your app ○ Capture user interactions in form of Business and Technical Analytics Events ○ Enhanced Real-time Monitoring & Alerting for your system components and infrastructure ○ Build Meaningful, Real-time and Contextual Dashboards ● Test for Observability before a full release 66
  • 67. @BagmarAnand & @isonic1 Observability - Logging / Monitoring / Analytics 67
  • 68. Sources ● Accessibility: ○ https://www.w3.org/WAI/standards-guidelines/mobile ○ https://uxdesign.cc/accessibility-and-dark-ui-themes-f01001339b65 ○ https://developer.android.com/guide/topics/ui/accessibility/testing ○ https://gist.github.com/ChiftKey/3901ff7702fec1f07c21f22e54533cde ○ https://github.com/rwapp/A11yUITests ○ https://github.com/google/GSCXScanner - for iOS ○ https://www.deque.com/ios-accessibility/ ○ https://developer.apple.com/library/archive/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXT estingApps.html ○ https://applitools.com/docs/features/contrast-accessibility.html ● Device Resources & Consumption: ○ https://developer.android.com/studio/profile/android-profiler ○ https://appiumpro.com/editions/5-performance-testing-of-android-apps ○ https://help.apple.com/instruments/mac/current ○ https://appiumpro.com/editions/12-capturing-performance-data-for-native-ios-apps ○ https://medium.com/@andrew.tishchenko/how-to-create-fake-locations-for-ios-207950ee2410 ○ https://nshipster.com/network-link-conditioner/ ○ https://appiumpro.com/editions/72-simulating-slow-internet-connections-on-android-emulators-with-appium ○ https://appiumpro.com/editions/104-simulating-different-network-conditions-for-virtual-devices ● Monkey Testing: ○ https://developer.android.com/studio/test/monkeyrunner ○ https://github.com/zalando/SwiftMonkey ○ https://medium.com/mobile-quality/how-to-use-chaos-in-your-ios-tests-b49281a1349a ○ https://github.com/isonic1/Appium-Native-Crawler#example-usage @BagmarAnand & @isonic1 68
  • 69. Thank you Anand Bagmar & Justin Ison @BagmarAnand & @isonic1