SlideShare una empresa de Scribd logo
1 de 47
Mobile Performance Testing: Part 3: Testing the Network
Mobile Performance:
Part 3 – Testing the Network
        Alan Trefzger
          XBOSoft
  Senior Quality Consultant
Agenda
• Introduction
   – 2013 State of Mobile Testing Survey
• Testing the End-User experience
• Network Problems
• Solutions – What can we do?
   – Case Study: Analyzing mobile websites across different
     Networks. (and how to fix them)
   – CDN: Content Delivery Network.
• Conclusion
Introduction
The Mobile Challenge
• Mobile Internet usage is projected to pass desktop Internet
  usage in 2014
• Mobile traffic is doubling every year from 2009 onward and
  continue until 2014
    4,000,000
    3,500,000
                 Mobile Traffic in
    3,000,000    Terabytes per month
    2,500,000
    2,000,000
    1,500,000
    1,000,000
     500,000
           0

                2009 2010 2011 2012 2013 2014
Mobile Performance
• 60% of mobile failures are performance, non functional issues.
• Google found that a .5-1 second increase in page load time
  resulted in a 20% decrease in traffic and revenue
• Gold standard used to be 6 seconds, but now is 3 seconds
• We expect the online experience to be as fast as our desktop
  experience, but it isn’t, and that is a problem.
• Mobile is slower, but it doesn’t have to be.
2013 State of Mobile Testing
        Survey by XBOSoft
• Ratio of developers to testers: 2 to 1
• Plans for 2013 will decrease testers relative to developers.
• Only 41% do performance testing
• 60% don’t consider the network when testing.
• 64% don’t test in other countries where the network
  characteristics will be a lot different.
• 62% have dedicated mobile QA teams
Download the full report at
http://www.xbosoft.com/contact/research/mobile-testing-report-2013
Mobile Performance Testing
Part 1: Testing the Device
• Tested a high price, mid-priced and cheap phone.
• ‘Angry Birds’ app was used for the test.
• Used the tool Quadrant to compare.
Part 2: Testing the Server
• Used Webpagetest to analyze performance on a mobile device.
• Looked at ways to speed up performance.
Part 3: Testing the Network
• Used Shunra’s Mobile Performance Report to test and compare.
If your not considering the network
   before you start developing,
you are setting yourself up for
   failure.
Testing the End-User
      Experience
Testing Goal
• Test your application as the end-user
  experiences it.
• End-to-End Testing: Testing the entire product.
Testing the End-User Experience


App                                 Website
                                    Server
                        Internet



          • Functional, security, usability testing, etc.
          • 59% stop here and declare ‘success’
Service Virtualization


App                                        Website
                                           Server
                               Internet



                 • Functional, security, usability testing, OS
                               Phones       Tablets         etc.
                 • 59% stop here and declare ‘success’20+
                    Android    3,000+        100+
                    Apple          5           3           15

Testing actual
   devices
Service Virtualization
                                             DB / mainframe



App                                     Website
                                                     Under
                                        Server
                                                  construction
                             Internet



                 Service Virtualization – Intelligent Stubbing
                 • May not be able to access company DB / MF
                 • Parts of the product may not be finished

Testing actual
   devices
Service Virtualization
                                3rd party       DB / mainframe



App                                         Website
                                                         Under
                                            Server
                                                      construction
                              Internet



                 Composite Application
                 • Access 3rd party web services
                 • May cost to access
                 • They don’t want you stress testing their service
Testing actual
   devices
Service Virtualization
       Testing 1,000                 3rd party       DB / mainframe
       virtual users


App                                              Website
                                                              Under
                                                 Server
                                                           construction
                                   Internet



                       Service Virtualization
                       • Need to stress test 100 – 10,000 users
                       • Transport-level emulation of many users
                       • GUI emulation
Testing actual
   devices
Network Virtualization
       Testing 1,000                3rd party       DB / mainframe
       virtual users


App                                             Website
                 Network                                     Under
                                                Server
                                                          construction
                                  Internet



                       Network Virtualization
                       • Hardest to emulate
                       • Most performance problems caused by network

Testing actual
   devices
What connection do you have?



               3G
                                            Wi-Fi
        2.5G

                                        Internet
       4G
                                                    Website
                                                    Server
Network varies widely, very unpredictable
Problems of
   Mobile Networks
(that Broadband doesn’t have)
Problems of Networks
• Uncertainty – don’t know ahead of time what network you
  will be connected to.
• Uncertainty – don’t know ahead of time what the quality of
  network will be.
• Very hard to repeat network conditions for testing because
  everything is constantly changing.
• Global differences in network speeds and reliability.
• Customers don’t care where the problem is. You will get
  blamed for poor performance even if it is the network.
Problems of Networks
Can’t fine tune it later or solve it later.
•   Can’t upgrade bandwidth.
•   Can’t upgrade hw in mobile device.
•   Can’t put in an accelerator.
•   Can’t do many of the things that you could if it was a PC.


    The mobile Network is just shining a light on
    pre-existing problems.
Slow network speeds
• Long, Slow TCP connections
• Slower network speeds means strategies that worked for
  desktop/broadband connection, will not work for mobile.
  e.g. Serial connections can take very long time with a slow
  network.
• TCP Time-outs
  – Increasing TCP timers is NOT the answer.
  – Changing the timers can be high risk and cause unexpected timing
    problems.
  – Can cause application timers to timeout.
  – Whenever you see TCP timeouts, you will have significant
    performance degradation.
Latency
               Latency - time it takes to go end-to-
Internet        end (or round trip).
               Latency is 2-10 times longer than
                broadband.
               Jitter – latency variation over time.
               Jitter can vary, be very large and
                 will cause disconnects.

               • A change in latency from 2ms
                 (broadband) to 400ms (3G
                 network) can cause a page load
                 to go from 1 second to 30
                 seconds
Connection Disruption
• Sometimes when you are traveling and your cell phone
  connection is being passed from one cell tower to another, a
  disruption can be caused.
• Almost no packet loss for broadband, but a truck going
  passing between you and the cell tower can cause packet loss
  and re-transmission.
• Some think that bandwidth is the problem, but many times it
  is NOT, it is a latency problem.
• Packet drops with retransmissions will be common.
Global Network Issues
• Testing the same phones in USA, India, and China.
   – Phones, browsers, and websites that worked fine in the
     USA didn’t work in India.
• Data charged is a big factor in the emerging markets.
   – What network providers’ charge is not necessarily based
     on the size of the download.
   – Amount customer was charged can vary greatly depending
     on the browser or phone.
• Speed can vary greatly depending on
  phone, browser, or network
Solution
What Can We Do?
What can we do?
Many say, “How can we change our customers perception? so
  we don’t get blamed.”
Can’t do, we must change our reality.
• Developing for mobile is different than desktop.
• Developing for performance from the beginning.
• Just because we haven’t experienced a big failure yet, doesn’t
  mean won’t and soon.
Plan ahead
• Critical that you carefully plan a mobile service deployment.
• The network can make a problem an order of magnitude
  worse.
• What if your mobile service goes viral and your infrastructure
  can not support it, then all you have done is caused a large
  number of potential customers never to consider you again.
• Use Service Virtualization to test your mobile service.
Service Virtualization
Emulating services that are hard to replicate during testing
• The Network
• Third party composites
• Actual in-use internal database
• Parts of application that are under construction
• 10,000 users
Not just a stub, but emulates what is happening or what data is
   coming back
Service Virtualization = Intelligent Stubbing
Allows Test early / Test often
Network Virtualization
       Testing 1,000                3rd party       DB / mainframe
       virtual users


App                                             Website
                 Network                                     Under
                                                Server
                                                          construction
                                   Internet



                       Network Virtualization
                       • Most performance problems caused by network.
                       • Hardest to emulate – must use a tool

Testing actual
   devices
Tools
• Network Link Conditioner - Apple in its developer kit for
  iOS6, good place to start
   – Simulate internet connection and bandwidth speeds
   – Simulate a 3G, DSL, Edge, very bad connection, etc…


• Network Catcher – Shunra
   – can capture network profile and environment from almost anywhere
     in the world.
   – Gives details on why the problems happened.
   – Global library of networks from all over the world.
Tools
• vCat – Shunra
   – emulates a network profile
   – LoadRunner is user virtualization a
   – LR is closely integrated with vCat
   – LR controls the entire test, including vCat,
   – Very repeatable
   – What if scenarios
• Perfecto Mobile
• Device Anywhere
Live vs. Emulated Network

• Live, real Network
  – Cannot duplicate conditions
  – Too many variables
  – Actual conditions won’t be consistent
• Emulated Network
  – Repeatable
  – Can vary conditions
  – What if scenarios
Network Virtualization
Shunra offers a free service using their NetworkCatcher
  and vCat products to analyze mobile applications on
  the various networks.
Mobile Application Performance Report
• Analysis of your mobile application on various networks.
• Recommendations on how to improve your mobile
  application.
Performance on Different Networks
Network Characteristics




WiFi   4G   fair 3G   good 3G   2.5G
Component and Waterfall
                        Waterfall Components




Number of Requests by
component type
Performance Score
• Bollywoodhungama.com received a very low score of 54/100.
                             Example:
                             8 of the 25
                             areas where
                             performance
                             improvement
                             can be
                             made.
What else can be done? CDNs
CDN – Content Delivery Networks
Goal: To serve content to end users with cheapest cost or
  highest performance. Optimal situation is when these two
  goals are aligned.
• This is achieved by optimizing delivery across local networks
• Instead of accessing data from a central server, the CDN
  parses out the requests to the nearest server.
CDN – Content Delivery Networks
The Problem: Data delivery can be slow depending on several
factors
1. Request Location
2. Current server load
3. Network Load
                          London


 Example: Service to                                    Wash DC
 a client in Wash DC
 can be a lot faster
 than service to                         Internet
 service to a client in
 London
                                                     Dulles VA
                                                     Website
                                                     Server
CDN – Content Delivery Networks
The Solution:
• High Speed replication of content
• Server load balancing
• Service request routing
• Web Caching             London


                                                    Wash DC


  Example: Service to
  a client in Wash DC                 Internet
  can be as fast as
  service to a client in
  London                                         Dulles VA
                                                 Website
                                                 Server
Improvements to Watch For
Better integration of CDNs to Mobile
Traffic Optimization: Wireless operators are managing
  content to provide a better overall mobile
  experience.
• Fast dormancy
• Bigger pipes
• Offloading to other networks
• Optimizing traffic
Characteristics of a Good mobile
             app/m.site
• Worrying about the end user experience ahead of
  deployment.
• Proactive engineering
• Fault tolerant
• 3 second response
• Can handle spikes in load
• Performance standards are specified in advance.
• Topology of my servers is planned and understood.
Issues to consider at beginning,
    but especially before deployment
•   Set performance service standards, e.g. 3 seconds response
•   What if your service goes viral.
•   Is it internal or external.
•   Paid/not paid.
•   Capacity planning.
•   Revenue generating.
•   Is your logo on it? Bad performance will hurt your brand.
Optimization Strategies
(Covered in Part 2: Server Performance Testing)
1. Reducing the number of HTTP Requests
  –   Consolidating Resources
  –   Embed resources in html for first-time use
  –   HTML5 Web Storage
  –   Uni-directional server updates
2. Reduce Payloads:
  –   Compress
  –   Resize
  –   Simplify
Conclusion
Moore’s Law for computer power and storage
Nielsen’s Law for Internet bandwidth
Long term looks good, but in the mean time.
• Test early, test often.
• Best way to solve mobile performance problems is
   to prevent them. Don’t wait until after deployment
   to start worrying about performance issues.
• No network performance testing will lead to
   disaster!
Q&A


Follow us on twitter: @XBOSoft

Are you ready to test Mobile Performance?
Let XBOSoft help you get started.

Más contenido relacionado

La actualidad más candente

LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
Atul Pant
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
Qualitest
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
sonukalpana
 

La actualidad más candente (20)

QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
LoadRunner Performance Testing
LoadRunner Performance TestingLoadRunner Performance Testing
LoadRunner Performance Testing
 
performance testing
performance testingperformance testing
performance testing
 
Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeter
 
Load Testing Best Practices
Load Testing Best PracticesLoad Testing Best Practices
Load Testing Best Practices
 
Introduction to performance testing
Introduction to performance testingIntroduction to performance testing
Introduction to performance testing
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Wi fi presentation
Wi fi presentationWi fi presentation
Wi fi presentation
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
An Introduction to Performance Testing
An Introduction to Performance TestingAn Introduction to Performance Testing
An Introduction to Performance Testing
 
Hp Loadrunner
Hp LoadrunnerHp Loadrunner
Hp Loadrunner
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testing
 
Performance testing
Performance testingPerformance testing
Performance testing
 

Destacado

Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution
Wuzna Haroon
 
Energy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energeticaEnergy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energetica
Eugenio Bacile di Castiglione
 
Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016
Patrick Nicholson
 

Destacado (13)

2009 Monthly Calendar
2009 Monthly Calendar2009 Monthly Calendar
2009 Monthly Calendar
 
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
 
Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution
 
cathy resume
cathy resumecathy resume
cathy resume
 
Basics of Coding in Pediatrics Medical Billing
Basics of Coding in Pediatrics Medical BillingBasics of Coding in Pediatrics Medical Billing
Basics of Coding in Pediatrics Medical Billing
 
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
 
Context Based Authentication
Context Based AuthenticationContext Based Authentication
Context Based Authentication
 
Energy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energeticaEnergy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energetica
 
Information från Läkemedelsverket #5 2013
Information från Läkemedelsverket #5 2013Information från Läkemedelsverket #5 2013
Information från Läkemedelsverket #5 2013
 
Nt1310 project
Nt1310 projectNt1310 project
Nt1310 project
 
Credit cards
Credit cardsCredit cards
Credit cards
 
"15 Business Story Ideas to Jump on Now"
"15 Business Story Ideas to Jump on Now""15 Business Story Ideas to Jump on Now"
"15 Business Story Ideas to Jump on Now"
 
Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016
 

Similar a Mobile Network Performance Testing

Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the Server
XBOSoft
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivity
Microsoft Windows Embedded
 
Compuware APM Solution
Compuware APM SolutionCompuware APM Solution
Compuware APM Solution
backfire_88
 
Performance Engineering Case Study V1.0
Performance Engineering Case Study    V1.0Performance Engineering Case Study    V1.0
Performance Engineering Case Study V1.0
sambitgarnaik
 

Similar a Mobile Network Performance Testing (20)

Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the Server
 
Why Load Testing from the Cloud Doesn't Work
Why Load Testing from the Cloud Doesn't WorkWhy Load Testing from the Cloud Doesn't Work
Why Load Testing from the Cloud Doesn't Work
 
E crm m sc - warwick uni - crm solutions
E crm m sc - warwick uni - crm solutionsE crm m sc - warwick uni - crm solutions
E crm m sc - warwick uni - crm solutions
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
 
Gomez loadtesting salesnov2011
Gomez loadtesting salesnov2011Gomez loadtesting salesnov2011
Gomez loadtesting salesnov2011
 
Experitest & Hexaware Co-Webinar
Experitest & Hexaware Co-WebinarExperitest & Hexaware Co-Webinar
Experitest & Hexaware Co-Webinar
 
Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivity
 
Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar
 
Don't Lose Your Viewers: Keep Their Attention With High Performance Streaming
Don't Lose Your Viewers:  Keep Their Attention With High Performance StreamingDon't Lose Your Viewers:  Keep Their Attention With High Performance Streaming
Don't Lose Your Viewers: Keep Their Attention With High Performance Streaming
 
Lotus Notes Mobile Application Development Using XPages
Lotus Notes Mobile Application Development Using XPagesLotus Notes Mobile Application Development Using XPages
Lotus Notes Mobile Application Development Using XPages
 
Compuware APM Solution
Compuware APM SolutionCompuware APM Solution
Compuware APM Solution
 
On-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization LifecycleOn-Demand Webinar: Software Virtualization Lifecycle
On-Demand Webinar: Software Virtualization Lifecycle
 
Visualizing Your Network Health - Driving Visibility in Increasingly Complex...
Visualizing Your Network Health -  Driving Visibility in Increasingly Complex...Visualizing Your Network Health -  Driving Visibility in Increasingly Complex...
Visualizing Your Network Health - Driving Visibility in Increasingly Complex...
 
Performance Engineering Case Study V1.0
Performance Engineering Case Study    V1.0Performance Engineering Case Study    V1.0
Performance Engineering Case Study V1.0
 
Apposite - Netropy WAN emualation
Apposite - Netropy WAN emualationApposite - Netropy WAN emualation
Apposite - Netropy WAN emualation
 
Continuous Testing with Service Virtualization
Continuous Testing with Service VirtualizationContinuous Testing with Service Virtualization
Continuous Testing with Service Virtualization
 
What is-your-network-riding-on
What is-your-network-riding-onWhat is-your-network-riding-on
What is-your-network-riding-on
 
Visualizing Your Network Health - Know your Network
Visualizing Your Network Health - Know your NetworkVisualizing Your Network Health - Know your Network
Visualizing Your Network Health - Know your Network
 
클라우드 컴퓨팅에 따른 데이터센터의 변화
클라우드 컴퓨팅에 따른 데이터센터의 변화클라우드 컴퓨팅에 따른 데이터센터의 변화
클라우드 컴퓨팅에 따른 데이터센터의 변화
 
Best Practices To Fix 5 Common Web Application Problems: Web Performance Moni...
Best Practices To Fix 5 Common Web Application Problems: Web Performance Moni...Best Practices To Fix 5 Common Web Application Problems: Web Performance Moni...
Best Practices To Fix 5 Common Web Application Problems: Web Performance Moni...
 

Más de XBOSoft

Agile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvementAgile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvement
XBOSoft
 
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter VarholWhat Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
XBOSoft
 
PSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things EraPSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things Era
XBOSoft
 

Más de XBOSoft (20)

Agile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvementAgile Metrics to Boost Software Quality improvement
Agile Metrics to Boost Software Quality improvement
 
Agile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and ZephyrAgile Test Management Using Jira and Zephyr
Agile Test Management Using Jira and Zephyr
 
AI Based Test Automation Without AI
AI Based Test Automation Without AIAI Based Test Automation Without AI
AI Based Test Automation Without AI
 
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter VarholWhat Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
What Aircrews Can Teach Software Testing Teams - XBOSoft Webinar w/Peter Varhol
 
Agile User Acceptance Testing - Incorporating UAT into Agile
Agile User Acceptance Testing - Incorporating UAT into AgileAgile User Acceptance Testing - Incorporating UAT into Agile
Agile User Acceptance Testing - Incorporating UAT into Agile
 
Challenges in Using Big Data for Software QA
Challenges in Using Big Data for Software QAChallenges in Using Big Data for Software QA
Challenges in Using Big Data for Software QA
 
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
Defect Patterns Analysis for Agile and Waterfall - XBOSoft Webinar with Micha...
 
Proactive SQA™ Shifting Left w/Proactive Software Quality Practices
Proactive  SQA™ Shifting Left w/Proactive Software Quality PracticesProactive  SQA™ Shifting Left w/Proactive Software Quality Practices
Proactive SQA™ Shifting Left w/Proactive Software Quality Practices
 
Mobile Testing Challenges and Solutions XBOSoft Webinar
Mobile Testing Challenges and Solutions XBOSoft WebinarMobile Testing Challenges and Solutions XBOSoft Webinar
Mobile Testing Challenges and Solutions XBOSoft Webinar
 
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile TeamsHeidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
Heidi Araya - XBOSoft Webinar Guest Speaker - Working with Remote Agile Teams
 
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software TestingXBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
XBOSoft webinar - How Did I Miss That Bug - Cognitive Biases in Software Testing
 
PSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things EraPSQT Keynote: Quality Challenges in the Internet of Things Era
PSQT Keynote: Quality Challenges in the Internet of Things Era
 
7 Habits of Highly Effective Agile Testing - Test Istanbul
7 Habits of Highly Effective Agile Testing - Test Istanbul7 Habits of Highly Effective Agile Testing - Test Istanbul
7 Habits of Highly Effective Agile Testing - Test Istanbul
 
Managing Agile Software Projects With Risk and Uncertainty
Managing Agile Software Projects With Risk and UncertaintyManaging Agile Software Projects With Risk and Uncertainty
Managing Agile Software Projects With Risk and Uncertainty
 
Top IOT Testing Challenges Webinar with Jon Hagar
Top IOT Testing Challenges Webinar with Jon HagarTop IOT Testing Challenges Webinar with Jon Hagar
Top IOT Testing Challenges Webinar with Jon Hagar
 
Testing in Agile with Coaching Agile Journeys and XBOSoft
Testing in Agile with Coaching Agile Journeys and XBOSoftTesting in Agile with Coaching Agile Journeys and XBOSoft
Testing in Agile with Coaching Agile Journeys and XBOSoft
 
Using JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance TestingUsing JMeter and Google Analytics for Software Performance Testing
Using JMeter and Google Analytics for Software Performance Testing
 
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
Storytelling: Discover the Big Picture for Agile Efforts Webinar - Tom Cagley...
 
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
ASTQB w/ XBOSoft CEO Phil Lew: Agile and Waterfall - What Do Testers Do Diffe...
 
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip LewWhen Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip Lew
 

Mobile Network Performance Testing

  • 1. Mobile Performance Testing: Part 3: Testing the Network
  • 2. Mobile Performance: Part 3 – Testing the Network Alan Trefzger XBOSoft Senior Quality Consultant
  • 3. Agenda • Introduction – 2013 State of Mobile Testing Survey • Testing the End-User experience • Network Problems • Solutions – What can we do? – Case Study: Analyzing mobile websites across different Networks. (and how to fix them) – CDN: Content Delivery Network. • Conclusion
  • 5. The Mobile Challenge • Mobile Internet usage is projected to pass desktop Internet usage in 2014 • Mobile traffic is doubling every year from 2009 onward and continue until 2014 4,000,000 3,500,000 Mobile Traffic in 3,000,000 Terabytes per month 2,500,000 2,000,000 1,500,000 1,000,000 500,000 0 2009 2010 2011 2012 2013 2014
  • 6. Mobile Performance • 60% of mobile failures are performance, non functional issues. • Google found that a .5-1 second increase in page load time resulted in a 20% decrease in traffic and revenue • Gold standard used to be 6 seconds, but now is 3 seconds • We expect the online experience to be as fast as our desktop experience, but it isn’t, and that is a problem. • Mobile is slower, but it doesn’t have to be.
  • 7. 2013 State of Mobile Testing Survey by XBOSoft • Ratio of developers to testers: 2 to 1 • Plans for 2013 will decrease testers relative to developers. • Only 41% do performance testing • 60% don’t consider the network when testing. • 64% don’t test in other countries where the network characteristics will be a lot different. • 62% have dedicated mobile QA teams Download the full report at http://www.xbosoft.com/contact/research/mobile-testing-report-2013
  • 8. Mobile Performance Testing Part 1: Testing the Device • Tested a high price, mid-priced and cheap phone. • ‘Angry Birds’ app was used for the test. • Used the tool Quadrant to compare. Part 2: Testing the Server • Used Webpagetest to analyze performance on a mobile device. • Looked at ways to speed up performance. Part 3: Testing the Network • Used Shunra’s Mobile Performance Report to test and compare.
  • 9. If your not considering the network before you start developing, you are setting yourself up for failure.
  • 10. Testing the End-User Experience
  • 11. Testing Goal • Test your application as the end-user experiences it. • End-to-End Testing: Testing the entire product.
  • 12. Testing the End-User Experience App Website Server Internet • Functional, security, usability testing, etc. • 59% stop here and declare ‘success’
  • 13. Service Virtualization App Website Server Internet • Functional, security, usability testing, OS Phones Tablets etc. • 59% stop here and declare ‘success’20+ Android 3,000+ 100+ Apple 5 3 15 Testing actual devices
  • 14. Service Virtualization DB / mainframe App Website Under Server construction Internet Service Virtualization – Intelligent Stubbing • May not be able to access company DB / MF • Parts of the product may not be finished Testing actual devices
  • 15. Service Virtualization 3rd party DB / mainframe App Website Under Server construction Internet Composite Application • Access 3rd party web services • May cost to access • They don’t want you stress testing their service Testing actual devices
  • 16. Service Virtualization Testing 1,000 3rd party DB / mainframe virtual users App Website Under Server construction Internet Service Virtualization • Need to stress test 100 – 10,000 users • Transport-level emulation of many users • GUI emulation Testing actual devices
  • 17. Network Virtualization Testing 1,000 3rd party DB / mainframe virtual users App Website Network Under Server construction Internet Network Virtualization • Hardest to emulate • Most performance problems caused by network Testing actual devices
  • 18. What connection do you have? 3G Wi-Fi 2.5G Internet 4G Website Server Network varies widely, very unpredictable
  • 19. Problems of Mobile Networks (that Broadband doesn’t have)
  • 20. Problems of Networks • Uncertainty – don’t know ahead of time what network you will be connected to. • Uncertainty – don’t know ahead of time what the quality of network will be. • Very hard to repeat network conditions for testing because everything is constantly changing. • Global differences in network speeds and reliability. • Customers don’t care where the problem is. You will get blamed for poor performance even if it is the network.
  • 21. Problems of Networks Can’t fine tune it later or solve it later. • Can’t upgrade bandwidth. • Can’t upgrade hw in mobile device. • Can’t put in an accelerator. • Can’t do many of the things that you could if it was a PC. The mobile Network is just shining a light on pre-existing problems.
  • 22. Slow network speeds • Long, Slow TCP connections • Slower network speeds means strategies that worked for desktop/broadband connection, will not work for mobile. e.g. Serial connections can take very long time with a slow network. • TCP Time-outs – Increasing TCP timers is NOT the answer. – Changing the timers can be high risk and cause unexpected timing problems. – Can cause application timers to timeout. – Whenever you see TCP timeouts, you will have significant performance degradation.
  • 23. Latency Latency - time it takes to go end-to- Internet end (or round trip). Latency is 2-10 times longer than broadband. Jitter – latency variation over time. Jitter can vary, be very large and will cause disconnects. • A change in latency from 2ms (broadband) to 400ms (3G network) can cause a page load to go from 1 second to 30 seconds
  • 24. Connection Disruption • Sometimes when you are traveling and your cell phone connection is being passed from one cell tower to another, a disruption can be caused. • Almost no packet loss for broadband, but a truck going passing between you and the cell tower can cause packet loss and re-transmission. • Some think that bandwidth is the problem, but many times it is NOT, it is a latency problem. • Packet drops with retransmissions will be common.
  • 25. Global Network Issues • Testing the same phones in USA, India, and China. – Phones, browsers, and websites that worked fine in the USA didn’t work in India. • Data charged is a big factor in the emerging markets. – What network providers’ charge is not necessarily based on the size of the download. – Amount customer was charged can vary greatly depending on the browser or phone. • Speed can vary greatly depending on phone, browser, or network
  • 27. What can we do? Many say, “How can we change our customers perception? so we don’t get blamed.” Can’t do, we must change our reality. • Developing for mobile is different than desktop. • Developing for performance from the beginning. • Just because we haven’t experienced a big failure yet, doesn’t mean won’t and soon.
  • 28. Plan ahead • Critical that you carefully plan a mobile service deployment. • The network can make a problem an order of magnitude worse. • What if your mobile service goes viral and your infrastructure can not support it, then all you have done is caused a large number of potential customers never to consider you again. • Use Service Virtualization to test your mobile service.
  • 29. Service Virtualization Emulating services that are hard to replicate during testing • The Network • Third party composites • Actual in-use internal database • Parts of application that are under construction • 10,000 users Not just a stub, but emulates what is happening or what data is coming back Service Virtualization = Intelligent Stubbing Allows Test early / Test often
  • 30. Network Virtualization Testing 1,000 3rd party DB / mainframe virtual users App Website Network Under Server construction Internet Network Virtualization • Most performance problems caused by network. • Hardest to emulate – must use a tool Testing actual devices
  • 31. Tools • Network Link Conditioner - Apple in its developer kit for iOS6, good place to start – Simulate internet connection and bandwidth speeds – Simulate a 3G, DSL, Edge, very bad connection, etc… • Network Catcher – Shunra – can capture network profile and environment from almost anywhere in the world. – Gives details on why the problems happened. – Global library of networks from all over the world.
  • 32. Tools • vCat – Shunra – emulates a network profile – LoadRunner is user virtualization a – LR is closely integrated with vCat – LR controls the entire test, including vCat, – Very repeatable – What if scenarios • Perfecto Mobile • Device Anywhere
  • 33. Live vs. Emulated Network • Live, real Network – Cannot duplicate conditions – Too many variables – Actual conditions won’t be consistent • Emulated Network – Repeatable – Can vary conditions – What if scenarios
  • 34. Network Virtualization Shunra offers a free service using their NetworkCatcher and vCat products to analyze mobile applications on the various networks. Mobile Application Performance Report • Analysis of your mobile application on various networks. • Recommendations on how to improve your mobile application.
  • 36. Network Characteristics WiFi 4G fair 3G good 3G 2.5G
  • 37. Component and Waterfall Waterfall Components Number of Requests by component type
  • 38. Performance Score • Bollywoodhungama.com received a very low score of 54/100. Example: 8 of the 25 areas where performance improvement can be made.
  • 39. What else can be done? CDNs CDN – Content Delivery Networks Goal: To serve content to end users with cheapest cost or highest performance. Optimal situation is when these two goals are aligned. • This is achieved by optimizing delivery across local networks • Instead of accessing data from a central server, the CDN parses out the requests to the nearest server.
  • 40. CDN – Content Delivery Networks The Problem: Data delivery can be slow depending on several factors 1. Request Location 2. Current server load 3. Network Load London Example: Service to Wash DC a client in Wash DC can be a lot faster than service to Internet service to a client in London Dulles VA Website Server
  • 41. CDN – Content Delivery Networks The Solution: • High Speed replication of content • Server load balancing • Service request routing • Web Caching London Wash DC Example: Service to a client in Wash DC Internet can be as fast as service to a client in London Dulles VA Website Server
  • 42. Improvements to Watch For Better integration of CDNs to Mobile Traffic Optimization: Wireless operators are managing content to provide a better overall mobile experience. • Fast dormancy • Bigger pipes • Offloading to other networks • Optimizing traffic
  • 43. Characteristics of a Good mobile app/m.site • Worrying about the end user experience ahead of deployment. • Proactive engineering • Fault tolerant • 3 second response • Can handle spikes in load • Performance standards are specified in advance. • Topology of my servers is planned and understood.
  • 44. Issues to consider at beginning, but especially before deployment • Set performance service standards, e.g. 3 seconds response • What if your service goes viral. • Is it internal or external. • Paid/not paid. • Capacity planning. • Revenue generating. • Is your logo on it? Bad performance will hurt your brand.
  • 45. Optimization Strategies (Covered in Part 2: Server Performance Testing) 1. Reducing the number of HTTP Requests – Consolidating Resources – Embed resources in html for first-time use – HTML5 Web Storage – Uni-directional server updates 2. Reduce Payloads: – Compress – Resize – Simplify
  • 46. Conclusion Moore’s Law for computer power and storage Nielsen’s Law for Internet bandwidth Long term looks good, but in the mean time. • Test early, test often. • Best way to solve mobile performance problems is to prevent them. Don’t wait until after deployment to start worrying about performance issues. • No network performance testing will lead to disaster!
  • 47. Q&A Follow us on twitter: @XBOSoft Are you ready to test Mobile Performance? Let XBOSoft help you get started.

Notas del editor

  1. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  2. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  3. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  4. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  5. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  6. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  7. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  8. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  9. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.
  10. Opera Mini fetches all content through a proxy server and reformats web pages into a format more suitable for small screens. A page is compressed, then delivered to the phone in a markup language called OBML (Opera Binary Markup Language), which Opera Mini can interpret. The data compression makes transfer time about two to three times faster, and the pre-processing improves the display of web pages not designed for small screens.