SlideShare a Scribd company logo
copyright Real-Time Technology Solutions, Inc. July 2015 page 1
Volume Testing
of
Thick Clients and Databases
using
Rational Performance Tester
copyright Real-Time Technology Solutions, Inc. July 2015 page 2
Volume Testing Thick Clients and Databases
Using IBM Rational Performance Tester
Introduction
Even in the current age of cloud computing there are still endless benefits of developing thick client
software: non-dependency on browser version, offline support, low hosting fees, and utilizing existing end
user hardware, to name a few.
It's more than likely that your organization is utilizing at least a few thick client applications. Now consider
this: as your user base grows, does your think client's backend server need to grow as well? How quickly?
How do you ensure that you provide the correct amount of additional capacity without overstepping and
unnecessarily eating into your profits? The answer is volume testing.
What is a thick client?
A thick client, sometimes also referred to as a fat client, is an application in which the bulk of its
functionality is performed independent of the end-server. Many thick client applications communicate
directly with the backend database directly rather than transmit their requests through a web server or
any other middle tier technology.
For example, a thick client may be an application used to manage the inventory on a retail website. A
transaction such as adding a new product may involve a wizard which collects the product information,
pricing, images, and shipping options while offline, then finally connecting to the backend database to
transmit this data.
What are the challenges of volume testing thick clients?
Traditionally, the tools designed for volume or performance testing are geared specifically to work only
with web-based applications. They record HTTP based traffic between the user's internet browser window
and the application’s web server. So what happens when there is neither an internet browser nor a web
server in play? Therein lies the challenge.
If an engineer can't capture the traffic being sent from the thick client front end to the database back end
then it will be impossible to automate the transactions.
Some engineers may attempt to do volume testing through the front end by automating the thick client
GUI itself. However, this approach will never be able to simulate the traffic necessary to meet the test
requirements. Think about the example above with the retail website: how long would it take you to enter
a product name, code, category, sub category, description, price, shipping options, available quantity, and
images? Even if you could click and type at 100 times human speed it would still take you at least a few
seconds. Now imagine that you need to enter 200 products per minute to fulfill your requirements. It
simply isn't possible using GUI automation.
So, how do we volume test a thick client application?
copyright Real-Time Technology Solutions, Inc. July 2015 page 3
The RTTS solution
Through years of experience and knowledge with software quality and networking tools, RTTS has pieced
together a solution which bridges the gap between thick client applications and performance testing tools.
Our solution involves using a network monitor to manually capture all traffic moving between the front
end and the back end of your application. The capture is then carefully analyzed to filter out just the
pertinent parts of the conversation - SQL statements.
Using a custom tailored API, the captured SQL is then integrated with performance testing software which
allows us to simulate multiple concurrent users, verify application stability, and monitor back end systems
during execution.
Can this solution be used for database volume testing?
Absolutely. We can use the same approach to feed SQL queries into the performance testing software and
simulate concurrent user sessions on the database.
Pieces of the Puzzle
Below are the three key components to thick client and database volume testing.
IBM Rational Performance Tester (RPT)
Software which allows for automated performance testing of web applications. It works by replaying
recorded application traffic through multiple threads to simulate concurrent users. RPT features a rich set
of capabilities for varying input data, controlling workflows, asserting transactional success, collecting
performance metrics, and monitoring backend servers.
copyright Real-Time Technology Solutions, Inc. July 2015 page 4
Java Development Kit (JDK)
A collection of libraries used for development in the Java programming language. Java custom code is
utilized to extend the testing capabilities of RPT.
Wireshark
A network tracing tool capable of collecting and analyzing all traffic on a specified network interface.
Wireshark is capable of filtering individual streams of network communications based on specified servers
and timestamps.
copyright Real-Time Technology Solutions, Inc. July 2015 page 5
Eyes On
It's time to see exactly how we implement this solution using the software listed above.
Capture
The first step is to execute a transaction from within the thick client application and record the network
traffic using Wireshark. For this example we will use a simple production assistant application which is
capable of fetching show information based on user specified filters. We use the “Actors” tab to fetch all
actors who have last names containing the word “PARK”.
copyright Real-Time Technology Solutions, Inc. July 2015 page 6
By applying filters to our Wireshark recording, we find the TCP stream which represents the
conversation between the application and the database.
Upon close analysis, we see that the client sent the following SQL statement to the database:
"select * from actor where last_name LIKE 'PARK%'"
copyright Real-Time Technology Solutions, Inc. July 2015 page 7
Integration
The second step is to use the SQL data we collected to create a performance test script using IBM
Rational Performance Tester (RPT). We use RPT controls such as loops, transactions, and conditionals to
control the flow of the transactions; while CustomCode is used to simulate thick client actions.
Inside of our RPT code we use a custom-built JAVA Class called “MYSQL_IFACE” to create an interface
between our script and the database. This class was developed using the java.sql package, which is a
standard part of JDK.
We've also modified the SQL statement to use a variety of actor names which are read from a data file,
preventing database caching, making the test more realistic.
copyright Real-Time Technology Solutions, Inc. July 2015 page 8
Execution
The final step is to execute the test and collect the results. We monitor response time, transaction
verdicts, application errors, and server resources.
Conclusion
Thick client application and database volume testing is entirely possible with the right set of tools and
the knowledge to implement them correctly.
copyright Real-Time Technology Solutions, Inc. July 2015 page 9
About the Author
Alex Makletsov is a Senior Engineer with expertise in performance testing,
tuning, scaling, capacity, and application security. Alex has comprehensive
knowledge of application lifecycle management (ALM) solutions, software
quality assurance (SQA) best practices, and technology to business relations. He
has extensive experience providing services for financial, pharmaceutical, retail,
and utility industries.
Alex lives in the East Village section of Manhattan (NY) and can be found doing
home automation, DIY, bouldering and drinking craft beer.
About RTTS
RTTS is the leading provider of QA and testing solutions for critical business applications. Headquartered
in New York and with offices in Philadelphia, Atlanta and Phoenix, RTTS has been serving Fortune 500
and mid-sized companies worldwide since 1996. We offer the most comprehensive suite of quality
assurance solutions, and we've helped 600+ organizations drive positive results from their software
development, integration and data quality projects.
RTTS has cultivated partnerships with the world's leading software vendors, including IBM, Microsoft,
HP, Oracle, Teradata, HortonWorks and Cloudera. We draw on our expertise utilizing our proven quality
methodology, our in-house expert test engineers and best-of breed solutions.
More information can be found at www.rttsweb.com

More Related Content

PDF
QuerySurge Slide Deck for Big Data Testing Webinar
PPTX
Data Warehousing in Pharma: How to Find Bad Data while Meeting Regulatory Req...
PDF
the Data World Distilled
PDF
Leveraging HPE ALM & QuerySurge to test HPE Vertica
PPTX
An introduction to QuerySurge webinar
PDF
How to Automate your Enterprise Application / ERP Testing
PDF
Completing the Data Equation: Test Data + Data Validation = Success
PDF
QuerySurge for DevOps
QuerySurge Slide Deck for Big Data Testing Webinar
Data Warehousing in Pharma: How to Find Bad Data while Meeting Regulatory Req...
the Data World Distilled
Leveraging HPE ALM & QuerySurge to test HPE Vertica
An introduction to QuerySurge webinar
How to Automate your Enterprise Application / ERP Testing
Completing the Data Equation: Test Data + Data Validation = Success
QuerySurge for DevOps

What's hot (20)

PPTX
Improve the Health of Your Data
PPTX
Big Data Testing: Ensuring MongoDB Data Quality
PPTX
Data Warehouse Testing in the Pharmaceutical Industry
PPTX
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
PPTX
Testing Big Data: Automated Testing of Hadoop with QuerySurge
PDF
Creating a Data validation and Testing Strategy
PPTX
What is a Data Warehouse and How Do I Test It?
PPTX
Implementing Azure DevOps with your Testing Project
PDF
QuerySurge - the automated Data Testing solution
PPTX
Testing Big Data: Automated ETL Testing of Hadoop
PPTX
Query Wizards - data testing made easy - no programming
PPTX
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
PPTX
QuerySurge integration with ETL / DataStage
PPTX
How to Test Big Data Systems | QualiTest Group
PDF
Hadoop testing workshop - july 2013
PDF
Performance Testing of Big Data Applications - Impetus Webcast
PPTX
2014 International Software Testing Conference in Seoul
PDF
Data Security and Protection in DevOps
PDF
Building Data Science into Organizations: Field Experience
PDF
Big Data - Hadoop and MapReduce for QA and testing by Aditya Garg
Improve the Health of Your Data
Big Data Testing: Ensuring MongoDB Data Quality
Data Warehouse Testing in the Pharmaceutical Industry
Big Data Testing : Automate theTesting of Hadoop, NoSQL & DWH without Writing...
Testing Big Data: Automated Testing of Hadoop with QuerySurge
Creating a Data validation and Testing Strategy
What is a Data Warehouse and How Do I Test It?
Implementing Azure DevOps with your Testing Project
QuerySurge - the automated Data Testing solution
Testing Big Data: Automated ETL Testing of Hadoop
Query Wizards - data testing made easy - no programming
Webinar - QuerySurge and Azure DevOps in the Azure Cloud
QuerySurge integration with ETL / DataStage
How to Test Big Data Systems | QualiTest Group
Hadoop testing workshop - july 2013
Performance Testing of Big Data Applications - Impetus Webcast
2014 International Software Testing Conference in Seoul
Data Security and Protection in DevOps
Building Data Science into Organizations: Field Experience
Big Data - Hadoop and MapReduce for QA and testing by Aditya Garg
Ad

Viewers also liked (12)

PDF
the-real-world-of-the-database-administrator-white-paper-15623
PPTX
What is a white paper 6 feb
PPT
Rpt ppt for training
PPT
How to write a technology white paper to increase sales
PDF
Whitepaper IBM Guardium Data Activity Monitor
PDF
Amazon whitepaper
PDF
White Paper - How Data Works
PPT
B2B White Papers Examples
PDF
Creating effective white papers and industry reports
PPT
Presentation on White paper
PDF
Blockchain white paper
PPTX
Apache Flink: Real-World Use Cases for Streaming Analytics
the-real-world-of-the-database-administrator-white-paper-15623
What is a white paper 6 feb
Rpt ppt for training
How to write a technology white paper to increase sales
Whitepaper IBM Guardium Data Activity Monitor
Amazon whitepaper
White Paper - How Data Works
B2B White Papers Examples
Creating effective white papers and industry reports
Presentation on White paper
Blockchain white paper
Apache Flink: Real-World Use Cases for Streaming Analytics
Ad

Similar to Whitepaper: Volume Testing Thick Clients and Databases (20)

PDF
Adding Value in the Cloud with Performance Test
PDF
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
PDF
Thick Client Testing Basics
PDF
Thick Client Penetration Testing Modern Approaches and Techniques.pdf
PDF
PDF
PPTX
Performance Testing using LoadRunner
PPSX
Wap Tpresentation
PDF
Encontrando la Aguja en el Rendimiento de Aplicaciones
PDF
Rolta’s application testing services for handling ever changing environment.
PPTX
Thick client pentesting_the-hackers_meetup_version1.0pptx
PPT
Testing using load runner performance testing
PPTX
Load Testing: See a Bigger Picture
PPTX
Load and performance testing
PDF
3 know more_about_rational_performance_tester_8-1-snehamoy_k
 
PDF
Know More About Rational Performance - Snehamoy K
PPT
Understanding MySQL Performance through Benchmarking
PDF
In Sync Running Apps On Oracle
PDF
RFT - Ashish Mathur
PDF
Advanced Rational Performance Tester reports
Adding Value in the Cloud with Performance Test
Load and Performance Testing for J2EE - Testing, monitoring and reporting usi...
Thick Client Testing Basics
Thick Client Penetration Testing Modern Approaches and Techniques.pdf
Performance Testing using LoadRunner
Wap Tpresentation
Encontrando la Aguja en el Rendimiento de Aplicaciones
Rolta’s application testing services for handling ever changing environment.
Thick client pentesting_the-hackers_meetup_version1.0pptx
Testing using load runner performance testing
Load Testing: See a Bigger Picture
Load and performance testing
3 know more_about_rational_performance_tester_8-1-snehamoy_k
 
Know More About Rational Performance - Snehamoy K
Understanding MySQL Performance through Benchmarking
In Sync Running Apps On Oracle
RFT - Ashish Mathur
Advanced Rational Performance Tester reports

More from RTTS (12)

PDF
Leveraging AI to Simplify and Speed Up ETL Testing
PDF
Improving Automated Testing Projects with UFT
PDF
JMeter webinar - integration with InfluxDB and Grafana
PDF
Automated Testing of Microsoft Power BI Reports
PDF
QuerySurge AI webinar
PDF
State of the Market - Data Quality in 2023
PDF
TestGuild and QuerySurge Presentation -DevOps for Data Testing
PDF
Creating a Project Plan for a Data Warehouse Testing Assignment
PDF
RTTS Postman and API Testing Webinar Slides.pdf
PDF
Case study: Open Source Automation Framework using Selenium WebDriver
PDF
Enterprise Business Intelligence & Data Warehousing: The Data Quality Conundrum
PDF
RTTS - the Software Quality Experts
Leveraging AI to Simplify and Speed Up ETL Testing
Improving Automated Testing Projects with UFT
JMeter webinar - integration with InfluxDB and Grafana
Automated Testing of Microsoft Power BI Reports
QuerySurge AI webinar
State of the Market - Data Quality in 2023
TestGuild and QuerySurge Presentation -DevOps for Data Testing
Creating a Project Plan for a Data Warehouse Testing Assignment
RTTS Postman and API Testing Webinar Slides.pdf
Case study: Open Source Automation Framework using Selenium WebDriver
Enterprise Business Intelligence & Data Warehousing: The Data Quality Conundrum
RTTS - the Software Quality Experts

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
KodekX | Application Modernization Development
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPT
Teaching material agriculture food technology
PPTX
Big Data Technologies - Introduction.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The AUB Centre for AI in Media Proposal.docx
Network Security Unit 5.pdf for BCA BBA.
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KodekX | Application Modernization Development
Per capita expenditure prediction using model stacking based on satellite ima...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The Rise and Fall of 3GPP – Time for a Sabbatical?
Teaching material agriculture food technology
Big Data Technologies - Introduction.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Chapter 3 Spatial Domain Image Processing.pdf
Digital-Transformation-Roadmap-for-Companies.pptx

Whitepaper: Volume Testing Thick Clients and Databases

  • 1. copyright Real-Time Technology Solutions, Inc. July 2015 page 1 Volume Testing of Thick Clients and Databases using Rational Performance Tester
  • 2. copyright Real-Time Technology Solutions, Inc. July 2015 page 2 Volume Testing Thick Clients and Databases Using IBM Rational Performance Tester Introduction Even in the current age of cloud computing there are still endless benefits of developing thick client software: non-dependency on browser version, offline support, low hosting fees, and utilizing existing end user hardware, to name a few. It's more than likely that your organization is utilizing at least a few thick client applications. Now consider this: as your user base grows, does your think client's backend server need to grow as well? How quickly? How do you ensure that you provide the correct amount of additional capacity without overstepping and unnecessarily eating into your profits? The answer is volume testing. What is a thick client? A thick client, sometimes also referred to as a fat client, is an application in which the bulk of its functionality is performed independent of the end-server. Many thick client applications communicate directly with the backend database directly rather than transmit their requests through a web server or any other middle tier technology. For example, a thick client may be an application used to manage the inventory on a retail website. A transaction such as adding a new product may involve a wizard which collects the product information, pricing, images, and shipping options while offline, then finally connecting to the backend database to transmit this data. What are the challenges of volume testing thick clients? Traditionally, the tools designed for volume or performance testing are geared specifically to work only with web-based applications. They record HTTP based traffic between the user's internet browser window and the application’s web server. So what happens when there is neither an internet browser nor a web server in play? Therein lies the challenge. If an engineer can't capture the traffic being sent from the thick client front end to the database back end then it will be impossible to automate the transactions. Some engineers may attempt to do volume testing through the front end by automating the thick client GUI itself. However, this approach will never be able to simulate the traffic necessary to meet the test requirements. Think about the example above with the retail website: how long would it take you to enter a product name, code, category, sub category, description, price, shipping options, available quantity, and images? Even if you could click and type at 100 times human speed it would still take you at least a few seconds. Now imagine that you need to enter 200 products per minute to fulfill your requirements. It simply isn't possible using GUI automation. So, how do we volume test a thick client application?
  • 3. copyright Real-Time Technology Solutions, Inc. July 2015 page 3 The RTTS solution Through years of experience and knowledge with software quality and networking tools, RTTS has pieced together a solution which bridges the gap between thick client applications and performance testing tools. Our solution involves using a network monitor to manually capture all traffic moving between the front end and the back end of your application. The capture is then carefully analyzed to filter out just the pertinent parts of the conversation - SQL statements. Using a custom tailored API, the captured SQL is then integrated with performance testing software which allows us to simulate multiple concurrent users, verify application stability, and monitor back end systems during execution. Can this solution be used for database volume testing? Absolutely. We can use the same approach to feed SQL queries into the performance testing software and simulate concurrent user sessions on the database. Pieces of the Puzzle Below are the three key components to thick client and database volume testing. IBM Rational Performance Tester (RPT) Software which allows for automated performance testing of web applications. It works by replaying recorded application traffic through multiple threads to simulate concurrent users. RPT features a rich set of capabilities for varying input data, controlling workflows, asserting transactional success, collecting performance metrics, and monitoring backend servers.
  • 4. copyright Real-Time Technology Solutions, Inc. July 2015 page 4 Java Development Kit (JDK) A collection of libraries used for development in the Java programming language. Java custom code is utilized to extend the testing capabilities of RPT. Wireshark A network tracing tool capable of collecting and analyzing all traffic on a specified network interface. Wireshark is capable of filtering individual streams of network communications based on specified servers and timestamps.
  • 5. copyright Real-Time Technology Solutions, Inc. July 2015 page 5 Eyes On It's time to see exactly how we implement this solution using the software listed above. Capture The first step is to execute a transaction from within the thick client application and record the network traffic using Wireshark. For this example we will use a simple production assistant application which is capable of fetching show information based on user specified filters. We use the “Actors” tab to fetch all actors who have last names containing the word “PARK”.
  • 6. copyright Real-Time Technology Solutions, Inc. July 2015 page 6 By applying filters to our Wireshark recording, we find the TCP stream which represents the conversation between the application and the database. Upon close analysis, we see that the client sent the following SQL statement to the database: "select * from actor where last_name LIKE 'PARK%'"
  • 7. copyright Real-Time Technology Solutions, Inc. July 2015 page 7 Integration The second step is to use the SQL data we collected to create a performance test script using IBM Rational Performance Tester (RPT). We use RPT controls such as loops, transactions, and conditionals to control the flow of the transactions; while CustomCode is used to simulate thick client actions. Inside of our RPT code we use a custom-built JAVA Class called “MYSQL_IFACE” to create an interface between our script and the database. This class was developed using the java.sql package, which is a standard part of JDK. We've also modified the SQL statement to use a variety of actor names which are read from a data file, preventing database caching, making the test more realistic.
  • 8. copyright Real-Time Technology Solutions, Inc. July 2015 page 8 Execution The final step is to execute the test and collect the results. We monitor response time, transaction verdicts, application errors, and server resources. Conclusion Thick client application and database volume testing is entirely possible with the right set of tools and the knowledge to implement them correctly.
  • 9. copyright Real-Time Technology Solutions, Inc. July 2015 page 9 About the Author Alex Makletsov is a Senior Engineer with expertise in performance testing, tuning, scaling, capacity, and application security. Alex has comprehensive knowledge of application lifecycle management (ALM) solutions, software quality assurance (SQA) best practices, and technology to business relations. He has extensive experience providing services for financial, pharmaceutical, retail, and utility industries. Alex lives in the East Village section of Manhattan (NY) and can be found doing home automation, DIY, bouldering and drinking craft beer. About RTTS RTTS is the leading provider of QA and testing solutions for critical business applications. Headquartered in New York and with offices in Philadelphia, Atlanta and Phoenix, RTTS has been serving Fortune 500 and mid-sized companies worldwide since 1996. We offer the most comprehensive suite of quality assurance solutions, and we've helped 600+ organizations drive positive results from their software development, integration and data quality projects. RTTS has cultivated partnerships with the world's leading software vendors, including IBM, Microsoft, HP, Oracle, Teradata, HortonWorks and Cloudera. We draw on our expertise utilizing our proven quality methodology, our in-house expert test engineers and best-of breed solutions. More information can be found at www.rttsweb.com