Extending
The Capabilities Of Performance Testing Tools
Introduction:
Performance testing has become an integral part of Client/Server and Web
environments today. With performance engineering comprising performance
testing tools, the testing cycle time can be reduced significantly. The
capacity of existing performance testing tools has limitations in supporting
various protocols. This white paper indicates that Performance testing tools
offering wider coverage without much investment are the need of the hour.
The SituationA performance testing tool can simulate internet user behavior
only on http protocol and can be enabled for multi protocols as well by
plugging-in an ActiveX Component or a Java Class programming language code
establishing a TCP/IP Connection within the script of the tool.
Common Protocol Support:
http
https
Telnet
FTP
While with licenses for the http protocol, the compact version of existing
performance testing tools can only support the http/https; additional licenses
are required to be purchased for supporting other protocol(s).
Enabling tool to support other protocols:
A particular performance testing tool can be made to support a group of desired
protocols by setting up a server / application specific development process.
This performance engineering is a complex process involving the following steps
Steps involved:
1. Deciding the transactions.
2. Setting up a packet sniffer for capturing the packets traveling between the
user machine and the Server.
3. Executing the transactions manually.
4. Saving the details of the captured packets.
5. Analyzing the flow of packets starting from packet
6. Determining the user input in the packets.
7. Parameterizing the user inputs in the packets.
8. Creating functions to simulate the packet flow.
9. Creating an instance for that component inside the script of the tool for
plugging-in the component within the tool.
10. Calling functions from the script.
Analyzing Packets:
Analyzing packets is the major part in the process requiring tedious coding and
decoding.
Phases in Analyzing:
Six phases in the process of analyzing packets -
Separating Headers and Data portions in the packet.
Analyzing the Header packet.
Analyzing the Data packet.
Determining the constant and variable bytes in the data specific packet, both
are usually in HEX String.
Repeating the process with various user inputs getting accustomed with the
bytes transferred.
Checking if any data for the previous response is transmitted with the next
request.
Ethereal - Network Protocol Analyzer is very helpful sniffing tool to see new
variable bytes by simulating traffic from code detecting several protocols,
such as:
H323 / Q931 VOIP Protocol.
ICQ Protocol.
Java RMI.
Remote Procedure Call.
IEEE 802.11 wireless LAN.
Ethereal has a rich display filter language and can view reconstructed stream
of a TCP session.
Creating the PSEUDO Client:
While designing the client, the transaction is divided into stages with
separate functions for every user interaction and server reply.
Separate functions are required for:
Sending the first request and receiving the first response.
Extracting data from the response to append in the second request.
Sending second request and receiving second response.
Similar process must be followed for the remaining traffic. Maximum number of
variables must be created for keeping track, with the possible constant fields
stored as variables. Following is the screen-shot of an ethereal record of a
simple http transaction.
Integration:
Finally, the client component is integrated in the tool, which requires
creating an instance of the component and calling the function with different
parameters i.e., user inputs, which allow the desired protocol to be supported
by the tool.
Process Pros:
1. Perfect simulation with perfect packet analysis.
2. Frequent update for new plug-ins for the new protocols.
3. Cost effective.
Process Cons:
1. Difficulty in decoding.
2. For encrypted applications the process cannot be implemented.
3. For Oracle NCA protocol the process can be implemented only if plug-in is
readily available.
Conclusion:
Performance testing can demonstrate the system meeting performance criteria.
The later a performance defect is detected, the higher the cost of remediation.
This is true in the case of functional testing, but even more so with
performance testing, due to the end-to-end nature of its scope. It is always
helpful to have a statement of the maximum number of users likely to use the
system at peak times. Performance testing almost invariably concludes that it
is the software rather than hardware that contributes most to bottlenecks in
processing data.
About The Author
Test Director Interview Questions | Software testings FAQ Test Director Interview Questions ... Software testings FAQs ..What is Test Director ... What are all the main features of Test Director.. How the assessment of the application will be taken place in Test Director .. etc etc
QA interview questions What is verification, What is validation, What is a walkthrough, What is an inspection, What is quality, What is good code, What is good design, What is software life cycle, What is the difference between alpha and beta testing, What is the difference between volume testing and load testing etc...
Software Quality Engineer Certification - CSQE The Certified Software Quality Engineer understands software quality development and implementation, software inspection, testing, verification and validation; and implements software development and maintenance processes and methods.
Certified Software Quality Analyst | CSQA Acquiring the designation of Certified Software Quality Analyst (CSQA) indicates a professional level of competence in the principles and practices of quality assurance in the IT profession.
HP LoadRunner software—tips and tricks for configuration, scripting and execution This guide provides tips and tricks for HP LoadRunner software configuration, scripting, and execution. It is a conglomerate of lessons learned by HP LoadRunner power user Opral Wisham,including unique code as well as code collected from other testers. This guide is intended to help testers just learning to use HP LoadRunner, as well as to provide new best practices for those who have used HP LoadRunner for many years.
Web HTTP Connection Patterns When Load-Testing Using LoadRunner HTTP Connections In a web environment clients communicate with the server using HTTP connections. A connection can be one-shot or persistent. One shot connection are used for one interaction, when the server has responded the connection is closed. Persistent connections are kept open for use in subsequent interactions. Persistent connections are closed by the client when it has finished with the server or by the server if the connection is inactive for too long.
what is LoadRunner LoadRunner is a performance and load testing product by Hewlett-Packard (since it acquired Mercury Interactive in November 2006) for examining system behaviour and performance, while generating actual load.
Popular 5 QA / Testing Documents
QA interview questions What is verification, What is validation, What is a walkthrough, What is an inspection, What is quality, What is good code, What is good design, What is software life cycle, What is the difference between alpha and beta testing, What is the difference between volume testing and load testing etc...
Test Director Interview Questions | Software testings FAQ Test Director Interview Questions ... Software testings FAQs ..What is Test Director ... What are all the main features of Test Director.. How the assessment of the application will be taken place in Test Director .. etc etc
site contact support@testingbrain.com All of the product names here are trademarks of their respective companies. Use information on this site at your own risk. Informations about software testing tools, software testing jobs, software testing tutorials, certifications, interview questions furnished in the site is collected from various sites and posts from users. This site does not host any files on its server. If any compliants about the posts please contact us at support@testingbrain.com, we are ready to move the posts.