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

Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Mobile App Testing Checklist
Mobile App Testing ChecklistMobile App Testing Checklist
Mobile App Testing ChecklistManoj Lonar
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariJaved Ansari
 
Testing your APIs Performance.pptx
Testing your APIs Performance.pptxTesting your APIs Performance.pptx
Testing your APIs Performance.pptxPricilla Bilavendran
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopmentPrabhat gangwar
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingSoftheme
 
Pwa demystified
Pwa demystifiedPwa demystified
Pwa demystifiededynamic
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsRapidValue
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSWAAM Tech
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
 
Mobile Testing with Appium
Mobile Testing with AppiumMobile Testing with Appium
Mobile Testing with AppiumKnoldus Inc.
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingNoor Orfahly
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
RajeswaraRao_Resume_3years
RajeswaraRao_Resume_3yearsRajeswaraRao_Resume_3years
RajeswaraRao_Resume_3yearsRajeswara K
 
Software test automation
Software test automationSoftware test automation
Software test automationOksana Demediuk
 
Presentation test de_charge_jmeter
Presentation test de_charge_jmeterPresentation test de_charge_jmeter
Presentation test de_charge_jmetersyloemontpellier
 

What's hot (20)

Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Mobile App Testing Checklist
Mobile App Testing ChecklistMobile App Testing Checklist
Mobile App Testing Checklist
 
Mobile Application Testing by Javed Ansari
Mobile Application Testing by Javed AnsariMobile Application Testing by Javed Ansari
Mobile Application Testing by Javed Ansari
 
Progressive Web Apps(PWA)
Progressive Web Apps(PWA)Progressive Web Apps(PWA)
Progressive Web Apps(PWA)
 
Testing your APIs Performance.pptx
Testing your APIs Performance.pptxTesting your APIs Performance.pptx
Testing your APIs Performance.pptx
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Pwa demystified
Pwa demystifiedPwa demystified
Pwa demystified
 
Mobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue SolutionsMobile App Testing Strategy by RapidValue Solutions
Mobile App Testing Strategy by RapidValue Solutions
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
 
Mobile Testing with Appium
Mobile Testing with AppiumMobile Testing with Appium
Mobile Testing with Appium
 
Mobile Application Development Process
Mobile Application Development ProcessMobile Application Development Process
Mobile Application Development Process
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
RajeswaraRao_Resume_3years
RajeswaraRao_Resume_3yearsRajeswaraRao_Resume_3years
RajeswaraRao_Resume_3years
 
Software test automation
Software test automationSoftware test automation
Software test automation
 
Presentation test de_charge_jmeter
Presentation test de_charge_jmeterPresentation test de_charge_jmeter
Presentation test de_charge_jmeter
 

Viewers also liked

Performance testing of mobile apps
Performance testing of mobile appsPerformance testing of mobile apps
Performance testing of mobile appsvodQA
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1Jyothirmayee Pola
 
Performance Testing in a Mobile World
Performance Testing in a Mobile WorldPerformance Testing in a Mobile World
Performance Testing in a Mobile Worldstuartmoncrieff
 
Performance Testing in the Cloud
Performance Testing in the CloudPerformance Testing in the Cloud
Performance Testing in the Cloudstuartmoncrieff
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1Jyothirmayee Pola
 
Four Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance TestingFour Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance TestingSOASTA
 

Viewers also liked (6)

Performance testing of mobile apps
Performance testing of mobile appsPerformance testing of mobile apps
Performance testing of mobile apps
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
 
Performance Testing in a Mobile World
Performance Testing in a Mobile WorldPerformance Testing in a Mobile World
Performance Testing in a Mobile World
 
Performance Testing in the Cloud
Performance Testing in the CloudPerformance Testing in the Cloud
Performance Testing in the Cloud
 
Performance testing – mobile apps session1
Performance testing – mobile apps   session1Performance testing – mobile apps   session1
Performance testing – mobile apps session1
 
Four Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance TestingFour Best Practices for Modern Performance Testing
Four Best Practices for Modern Performance Testing
 

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
 
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
 
Jatin Joshi Resume
Jatin Joshi ResumeJatin Joshi Resume
Jatin Joshi ResumeJatin Joshi
 

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
 
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.
 
Jatin Joshi Resume
Jatin Joshi ResumeJatin Joshi Resume
Jatin Joshi Resume
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 

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