SlideShare a Scribd company logo
1 of 13
Download to read offline
1
Mobile Native Apps Performance
Testing using open source tool
JMeter
Devendra Singh, Senior Test Analyst
Nihilent Technologies Pvt. Ltd.
2
Abstract
Challenge:
Performance Testing of Mobile Apps in Low Cost.
Solution:
We have come up with a platform independent approach to generate the scripts for Mobile
native applications using real device interactions with server. We capture traffic using a
proxy server with JMeter installed and routing all the requests from real device to this proxy
server.
This approach is much closer to the real world traffic simulation as compared to that of
emulators and produces accurate performance testing results.
3
Introduction
In the past, mobile played a minor role in business applications but nowadays with the
evolution of smartphones and tablets, mobile applications and mobile websites have become
a major channel for conducting business, improving employee efficiency, communicating,
and reaching consumers. Each and every business aspect including banking, ecommerce,
retail sector, social networking is facing the digital transformation and customer wants
everything within grab of their hands and also within fraction of seconds.
With the changing scenario and shifting of user base from conventional desktop to mobile
interface, the requirement of performance testing for mobile applications not just a nice thing
to have, but an essential activity for success in the age of the instant-on services. The demand
for better performance generates continuous requirements for enhanced testing approach to
deal with the complexities challenges of mobile performance testing in low cost.
Today, performance problems with mobile applications lead directly to revenue loss, brand
damage, and diminished employee productivity. It's now mandatory for businesses to ensure
the performance of applications in their mobile environments.
We have developed mobile performance testing solution based on open source tool JMeter
which will reduce the testing, improve overall performance of the application by testing the
performance of applications and mobile websites simulating real world conditions and boost
the confidence in application for go live. The ease of implementation and flexibility of the
solutions helps to customize it according to your needs.
4
What are mobile Apps?
Program designed to run on Mobile devices.
Purpose of Mobile Apps
There can be various purposes of a Mobile Application and below are some common listed
purposes:
 Information Retrieval
 Business
 Communication
 Education
 Finance
 Social Networking
 Mobile Commerce
 Health and Fitness
 Travel and Transport
And many more…
Types of Mobile Applications
There are majorly three types of Applications:
Web Based Application
Features:
 Stored on a remote server
 Delivered over the internet through a browser
 Websites that look and feel like native applications.
Native Applications
Features:
 Developed for use on a particular platform or device
 Specific programming language, such as Objective C (for iOS) and Java (for Android)
 Provides fast performance and a high degree of reliability
Hybrid
Features:
 Hybrid Apps are like native apps, run on the device, and are written with web
technologies (HTML5, CSS and JavaScript)
 Leverages device’s browser engine but not browser, a web-to-native abstraction layer
 Access to device capabilities that are not accessible in Mobile Web applications, such
as the accelerometer, camera and local storage.
5
Importance of Mobile Performance Testing
Current Trends
Mobile is dominant in major areas.
Mind your business; through mobile
Business
What ecommerce did to retail, mobile is doing to ecommerce.
Ecommerce is changing to mobile commerce
6
User Behaviour
Analyst firm BIA/Kelsey has projected
• By 2015 there will be more local searches coming from smartphones than PCs in the
US.
• Smartphone search volumes are growing faster than search on the PC.
What researchers found about User Behaviour?
7
Challenges in Mobile Performance Testing
Approach 1: Using Real Devices to Generate Load
Challenges:
• Testing Cost will increase drastically
• Manage device collection is hectic
• Poor Network Quality, High Latency
Approach 2: Using Licensed Tools
Challenges:
• Tools use emulators to generate script
• Tools supports only browser based recording
• Restriction on number of users
• License Cost
Approach 3: Using Network Proxy Capturing Utilities
Challenges:
• Requires lot of effort in filtering out the requests and responses from Application
under test
• Script generation and enhancement is complex
• Script recorded not close to real world
• Supports Licensed tools
8
Using JMeter for Mobile Performance Testing
Fact
All the performance testing tools work on one abstract idea.
“Capture the HTTP traffic coming and going from mobile device.”
We have to simulate the same using JMeter but alas no sampler request for mobile protocols
so this cannot be captured in the conventional way.
Concept
Native and hybrid mobile application uses the HTTP protocol to communicate with the server
and this can be utilized.
Approach
• Make the machine with JMeter a proxy server
• Connect mobile device with this proxy server
• Capture the HTTP traffic (request – response from mobile device) using proxy server
as all the traffic from device is now routed to this proxy server
This approach is far closer to the real world traffic simulation as compare to that of
emulators.
The below diagram shows exchange of requests and responses between Mobile app on device
and Mobile Application server.
9
The below diagram shows exchange of requests and responses between Mobile app on device
and Mobile Application server via proxy server with JMeter to capture traffic.
Script Generation Steps for JMeter
1. Select a New Test Plan > Thread Group.
2. Add a Non-Test element > HHTP Proxy Server and change the port to 8888.
3. In Internet Explorer, select Tools > Internet Options > Connections. Click LAN settings
and enter the port and address of the device Internet proxy.
4. Select Start Server on JMeter.
5. On the device, delete browser cache data which includes Temporary Internet Files and
Cookies.
6. It will start capturing the HTTP requests and response.
We have successfully used JMeter to load test Mobile Native Applications based on Android
and iOS.
 Application 1: This is an Android platform based native application and enables
individuals and families to safely maintain their medical records and other important
documents in one central location and instantly access them anytime from anywhere
in the world using the Internet.
 Application 2: This is an iOS based Native Application and serves as a mobile
wallet to end users and he can add merchants, billers and pay them using this
application.
10
We have used this approach across multiple projects of different sizes. The approach is
independent of project size or team size.
Benefits
The major benefits of this approach are listed below.
 Device independent
 Application platform independent
 Applicable to other projects situation without any limitations
 Scripts generated is much closer to real world as compared to that of using simulators
 No network latency or overhead is induced by using network traffic capture tools
Assumptions
The following assumptions are valid for this approach.
 The native application is interaction with the server via HTTP protocol.
 Device with the application installed is available.
 The user’s actions that do not have ant HTTP request sent and received will not be
captured and as these are executed at the client level are not of as much importance to
the performance testing.
Dependencies
The following technical dependencies have been identified.
 The device and machine with tools installed should be in same network.
 We have sufficient privileges to make the machine with tool installed a proxy server.
11
References
 http://jmeter.apache.org/
 http://jmeter.apache.org/usermanual/
 http://www.smartinsights.com/
 https://www.wikipedia.org/
 ‘The Every Computer Performance Book’ by Bob Wescott
 ‘Applications Performance Symptoms and Bottlenecks Identification’ from
www.agileload.com
Appendix
 Apps: Application
 AUT: Application Under Test
 Perf: Performance
12
Author Biography
Devendra has more than 4.5 years of experience in Automation and Performance Testing. He
is working as a key resource in Testing CoE of Nihilent Technologies Private Limited and his
role is to look for innovative solutions and implement that in projects to increase efficiency
and reduce costs. Earlier in his career, he has worked with IT giants like Capgemini and
Fiserv with same kind of role and got Bronze Star award and Value in Performance award for
his innovative solutions.
He is passionate about learning new tools and technologies coming in market and developed
various accelerators to assist and reduce turnaround time in Performance testing and
Automation testing. He holds various certifications like HP Loadrunner AIS Certification,
Neotys Certified Professional and ISTQB Certified Tester.
Devendra is also a blogger and actively participates in on line forums to learn and assist
others.
Email: devendra.singh@nihilent.com
Mobile: +91-9595971317
13
THANK YOU!

More Related Content

What's hot

Deepa_Resume (Manual Testing _2 years Exp_Updated)
Deepa_Resume (Manual Testing _2 years Exp_Updated)Deepa_Resume (Manual Testing _2 years Exp_Updated)
Deepa_Resume (Manual Testing _2 years Exp_Updated)Deepa Keshav
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSWAAM Tech
 
Rajesh - ISTQB - Software Testing Resume
Rajesh - ISTQB - Software Testing ResumeRajesh - ISTQB - Software Testing Resume
Rajesh - ISTQB - Software Testing ResumeRajesh HS
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecturerohitnayak
 
Chaos engineering and chaos testing
Chaos engineering and chaos testingChaos engineering and chaos testing
Chaos engineering and chaos testingjeetendra mandal
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingvodQA
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qubeHayi Nukman
 
Salesforce Testing Resume
Salesforce Testing ResumeSalesforce Testing Resume
Salesforce Testing ResumeSowmya J
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati Madad
 
Testing Resume
Testing ResumeTesting Resume
Testing ResumeShwetha N
 
z/OS Through V2R1Communications Server Performance Functions Update
z/OS Through V2R1Communications Server Performance Functions Updatez/OS Through V2R1Communications Server Performance Functions Update
z/OS Through V2R1Communications Server Performance Functions UpdatezOSCommserver
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing StrategyankitQA
 
Why Katalon Studio?
Why Katalon Studio?Why Katalon Studio?
Why Katalon Studio?Knoldus Inc.
 
Software Test Engineer resume
Software Test Engineer resumeSoftware Test Engineer resume
Software Test Engineer resumeManish raj
 

What's hot (20)

Deepa_Resume (Manual Testing _2 years Exp_Updated)
Deepa_Resume (Manual Testing _2 years Exp_Updated)Deepa_Resume (Manual Testing _2 years Exp_Updated)
Deepa_Resume (Manual Testing _2 years Exp_Updated)
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
iOS Application Testing
iOS Application TestingiOS Application Testing
iOS Application Testing
 
Rajesh - ISTQB - Software Testing Resume
Rajesh - ISTQB - Software Testing ResumeRajesh - ISTQB - Software Testing Resume
Rajesh - ISTQB - Software Testing Resume
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 
Chaos engineering and chaos testing
Chaos engineering and chaos testingChaos engineering and chaos testing
Chaos engineering and chaos testing
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Static code analysis with sonar qube
Static code analysis with sonar qubeStatic code analysis with sonar qube
Static code analysis with sonar qube
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Salesforce Testing Resume
Salesforce Testing ResumeSalesforce Testing Resume
Salesforce Testing Resume
 
Niyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_ResumeNiyati_Manual_Testing_ISTQB_Certified_Resume
Niyati_Manual_Testing_ISTQB_Certified_Resume
 
Testing Resume
Testing ResumeTesting Resume
Testing Resume
 
z/OS Through V2R1Communications Server Performance Functions Update
z/OS Through V2R1Communications Server Performance Functions Updatez/OS Through V2R1Communications Server Performance Functions Update
z/OS Through V2R1Communications Server Performance Functions Update
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing Strategy
 
Why Katalon Studio?
Why Katalon Studio?Why Katalon Studio?
Why Katalon Studio?
 
Software Test Engineer resume
Software Test Engineer resumeSoftware Test Engineer resume
Software Test Engineer resume
 
Jenifer Breeze_Resume
Jenifer Breeze_ResumeJenifer Breeze_Resume
Jenifer Breeze_Resume
 
Selenium Automation Framework
Selenium Automation  FrameworkSelenium Automation  Framework
Selenium Automation Framework
 
Indhu G_M&AT
Indhu G_M&ATIndhu G_M&AT
Indhu G_M&AT
 

Similar to Mobile Apps Performance Testing Using Open Source Tool JMeter

[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
 
Software QS Tag White Paper
Software QS Tag White PaperSoftware QS Tag White Paper
Software QS Tag White PaperDevendra Singh
 
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
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest
 
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
 
Mobile application-testing for shanethatech
Mobile application-testing for shanethatechMobile application-testing for shanethatech
Mobile application-testing for shanethatechshanethatech
 
Mobile App Development Service for Idea Cellular | Success Story
Mobile App Development Service for Idea Cellular | Success StoryMobile App Development Service for Idea Cellular | Success Story
Mobile App Development Service for Idea Cellular | Success StoryiProgrammer Solutions
 
Mobile Application Testing - White Paper
Mobile Application Testing - White PaperMobile Application Testing - White Paper
Mobile Application Testing - White PaperJade Global
 
Kiran Bashyam_QA_ Resume
Kiran Bashyam_QA_ ResumeKiran Bashyam_QA_ Resume
Kiran Bashyam_QA_ Resumekiran B
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariJaved Ansari
 
Executive Overview of OutSystems (1)
Executive Overview of OutSystems (1)Executive Overview of OutSystems (1)
Executive Overview of OutSystems (1)Steven Levine
 
Webinar effective mobile performance testing using real devices
Webinar effective mobile performance testing using real devicesWebinar effective mobile performance testing using real devices
Webinar effective mobile performance testing using real devicesPerfecto Mobile
 
Online compliant response system for corporation
Online compliant response system for corporationOnline compliant response system for corporation
Online compliant response system for corporationDhavamani Prakash
 
ganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resumeganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resumeganesh r
 
What are the top 10 performance testing tools
What are the top 10 performance testing toolsWhat are the top 10 performance testing tools
What are the top 10 performance testing toolsTestingXperts
 
Difference Between Mobile Apps and Web Apps
Difference Between Mobile Apps and Web AppsDifference Between Mobile Apps and Web Apps
Difference Between Mobile Apps and Web AppsBluebash LLC
 
React Native App Development.
React Native App Development.React Native App Development.
React Native App Development.Techugo
 

Similar to Mobile Apps Performance Testing Using Open Source Tool JMeter (20)

[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 (...
 
Software QS Tag White Paper
Software QS Tag White PaperSoftware QS Tag White Paper
Software QS Tag White Paper
 
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
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
 
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
 
Mobile application-testing for shanethatech
Mobile application-testing for shanethatechMobile application-testing for shanethatech
Mobile application-testing for shanethatech
 
Pravin New Resume
Pravin New ResumePravin New Resume
Pravin New Resume
 
Sunil_Personal
Sunil_PersonalSunil_Personal
Sunil_Personal
 
Mobile App Development Service for Idea Cellular | Success Story
Mobile App Development Service for Idea Cellular | Success StoryMobile App Development Service for Idea Cellular | Success Story
Mobile App Development Service for Idea Cellular | Success Story
 
Mobile Application Testing - White Paper
Mobile Application Testing - White PaperMobile Application Testing - White Paper
Mobile Application Testing - White Paper
 
Anurag Gautam
Anurag GautamAnurag Gautam
Anurag Gautam
 
Kiran Bashyam_QA_ Resume
Kiran Bashyam_QA_ ResumeKiran Bashyam_QA_ Resume
Kiran Bashyam_QA_ Resume
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed Ansari
 
Executive Overview of OutSystems (1)
Executive Overview of OutSystems (1)Executive Overview of OutSystems (1)
Executive Overview of OutSystems (1)
 
Webinar effective mobile performance testing using real devices
Webinar effective mobile performance testing using real devicesWebinar effective mobile performance testing using real devices
Webinar effective mobile performance testing using real devices
 
Online compliant response system for corporation
Online compliant response system for corporationOnline compliant response system for corporation
Online compliant response system for corporation
 
ganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resumeganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resume
 
What are the top 10 performance testing tools
What are the top 10 performance testing toolsWhat are the top 10 performance testing tools
What are the top 10 performance testing tools
 
Difference Between Mobile Apps and Web Apps
Difference Between Mobile Apps and Web AppsDifference Between Mobile Apps and Web Apps
Difference Between Mobile Apps and Web Apps
 
React Native App Development.
React Native App Development.React Native App Development.
React Native App Development.
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Mobile Apps Performance Testing Using Open Source Tool JMeter

  • 1. 1 Mobile Native Apps Performance Testing using open source tool JMeter Devendra Singh, Senior Test Analyst Nihilent Technologies Pvt. Ltd.
  • 2. 2 Abstract Challenge: Performance Testing of Mobile Apps in Low Cost. Solution: We have come up with a platform independent approach to generate the scripts for Mobile native applications using real device interactions with server. We capture traffic using a proxy server with JMeter installed and routing all the requests from real device to this proxy server. This approach is much closer to the real world traffic simulation as compared to that of emulators and produces accurate performance testing results.
  • 3. 3 Introduction In the past, mobile played a minor role in business applications but nowadays with the evolution of smartphones and tablets, mobile applications and mobile websites have become a major channel for conducting business, improving employee efficiency, communicating, and reaching consumers. Each and every business aspect including banking, ecommerce, retail sector, social networking is facing the digital transformation and customer wants everything within grab of their hands and also within fraction of seconds. With the changing scenario and shifting of user base from conventional desktop to mobile interface, the requirement of performance testing for mobile applications not just a nice thing to have, but an essential activity for success in the age of the instant-on services. The demand for better performance generates continuous requirements for enhanced testing approach to deal with the complexities challenges of mobile performance testing in low cost. Today, performance problems with mobile applications lead directly to revenue loss, brand damage, and diminished employee productivity. It's now mandatory for businesses to ensure the performance of applications in their mobile environments. We have developed mobile performance testing solution based on open source tool JMeter which will reduce the testing, improve overall performance of the application by testing the performance of applications and mobile websites simulating real world conditions and boost the confidence in application for go live. The ease of implementation and flexibility of the solutions helps to customize it according to your needs.
  • 4. 4 What are mobile Apps? Program designed to run on Mobile devices. Purpose of Mobile Apps There can be various purposes of a Mobile Application and below are some common listed purposes:  Information Retrieval  Business  Communication  Education  Finance  Social Networking  Mobile Commerce  Health and Fitness  Travel and Transport And many more… Types of Mobile Applications There are majorly three types of Applications: Web Based Application Features:  Stored on a remote server  Delivered over the internet through a browser  Websites that look and feel like native applications. Native Applications Features:  Developed for use on a particular platform or device  Specific programming language, such as Objective C (for iOS) and Java (for Android)  Provides fast performance and a high degree of reliability Hybrid Features:  Hybrid Apps are like native apps, run on the device, and are written with web technologies (HTML5, CSS and JavaScript)  Leverages device’s browser engine but not browser, a web-to-native abstraction layer  Access to device capabilities that are not accessible in Mobile Web applications, such as the accelerometer, camera and local storage.
  • 5. 5 Importance of Mobile Performance Testing Current Trends Mobile is dominant in major areas. Mind your business; through mobile Business What ecommerce did to retail, mobile is doing to ecommerce. Ecommerce is changing to mobile commerce
  • 6. 6 User Behaviour Analyst firm BIA/Kelsey has projected • By 2015 there will be more local searches coming from smartphones than PCs in the US. • Smartphone search volumes are growing faster than search on the PC. What researchers found about User Behaviour?
  • 7. 7 Challenges in Mobile Performance Testing Approach 1: Using Real Devices to Generate Load Challenges: • Testing Cost will increase drastically • Manage device collection is hectic • Poor Network Quality, High Latency Approach 2: Using Licensed Tools Challenges: • Tools use emulators to generate script • Tools supports only browser based recording • Restriction on number of users • License Cost Approach 3: Using Network Proxy Capturing Utilities Challenges: • Requires lot of effort in filtering out the requests and responses from Application under test • Script generation and enhancement is complex • Script recorded not close to real world • Supports Licensed tools
  • 8. 8 Using JMeter for Mobile Performance Testing Fact All the performance testing tools work on one abstract idea. “Capture the HTTP traffic coming and going from mobile device.” We have to simulate the same using JMeter but alas no sampler request for mobile protocols so this cannot be captured in the conventional way. Concept Native and hybrid mobile application uses the HTTP protocol to communicate with the server and this can be utilized. Approach • Make the machine with JMeter a proxy server • Connect mobile device with this proxy server • Capture the HTTP traffic (request – response from mobile device) using proxy server as all the traffic from device is now routed to this proxy server This approach is far closer to the real world traffic simulation as compare to that of emulators. The below diagram shows exchange of requests and responses between Mobile app on device and Mobile Application server.
  • 9. 9 The below diagram shows exchange of requests and responses between Mobile app on device and Mobile Application server via proxy server with JMeter to capture traffic. Script Generation Steps for JMeter 1. Select a New Test Plan > Thread Group. 2. Add a Non-Test element > HHTP Proxy Server and change the port to 8888. 3. In Internet Explorer, select Tools > Internet Options > Connections. Click LAN settings and enter the port and address of the device Internet proxy. 4. Select Start Server on JMeter. 5. On the device, delete browser cache data which includes Temporary Internet Files and Cookies. 6. It will start capturing the HTTP requests and response. We have successfully used JMeter to load test Mobile Native Applications based on Android and iOS.  Application 1: This is an Android platform based native application and enables individuals and families to safely maintain their medical records and other important documents in one central location and instantly access them anytime from anywhere in the world using the Internet.  Application 2: This is an iOS based Native Application and serves as a mobile wallet to end users and he can add merchants, billers and pay them using this application.
  • 10. 10 We have used this approach across multiple projects of different sizes. The approach is independent of project size or team size. Benefits The major benefits of this approach are listed below.  Device independent  Application platform independent  Applicable to other projects situation without any limitations  Scripts generated is much closer to real world as compared to that of using simulators  No network latency or overhead is induced by using network traffic capture tools Assumptions The following assumptions are valid for this approach.  The native application is interaction with the server via HTTP protocol.  Device with the application installed is available.  The user’s actions that do not have ant HTTP request sent and received will not be captured and as these are executed at the client level are not of as much importance to the performance testing. Dependencies The following technical dependencies have been identified.  The device and machine with tools installed should be in same network.  We have sufficient privileges to make the machine with tool installed a proxy server.
  • 11. 11 References  http://jmeter.apache.org/  http://jmeter.apache.org/usermanual/  http://www.smartinsights.com/  https://www.wikipedia.org/  ‘The Every Computer Performance Book’ by Bob Wescott  ‘Applications Performance Symptoms and Bottlenecks Identification’ from www.agileload.com Appendix  Apps: Application  AUT: Application Under Test  Perf: Performance
  • 12. 12 Author Biography Devendra has more than 4.5 years of experience in Automation and Performance Testing. He is working as a key resource in Testing CoE of Nihilent Technologies Private Limited and his role is to look for innovative solutions and implement that in projects to increase efficiency and reduce costs. Earlier in his career, he has worked with IT giants like Capgemini and Fiserv with same kind of role and got Bronze Star award and Value in Performance award for his innovative solutions. He is passionate about learning new tools and technologies coming in market and developed various accelerators to assist and reduce turnaround time in Performance testing and Automation testing. He holds various certifications like HP Loadrunner AIS Certification, Neotys Certified Professional and ISTQB Certified Tester. Devendra is also a blogger and actively participates in on line forums to learn and assist others. Email: devendra.singh@nihilent.com Mobile: +91-9595971317