In this presentation which was delivered to testers in Manchester, I help would-be performance testers to get started in performance testing. Drawing on my experiences as a performance tester and test manager, I explain the principles of performance testing and highlight some of the pitfalls.
Load Testing Best Practices: Application complexity is increasing, yet the stringent requirements for web performance is increasing exponentially. Learn more about the three major types of load testing, determine which you need and how to conduct them.
Performance Testing And Its Type | Benefits Of Performance TestingKostCare
Performance testing is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
In this presentation which was delivered to testers in Manchester, I help would-be performance testers to get started in performance testing. Drawing on my experiences as a performance tester and test manager, I explain the principles of performance testing and highlight some of the pitfalls.
Load Testing Best Practices: Application complexity is increasing, yet the stringent requirements for web performance is increasing exponentially. Learn more about the three major types of load testing, determine which you need and how to conduct them.
Performance Testing And Its Type | Benefits Of Performance TestingKostCare
Performance testing is in general, a testing practice performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
Performance testing interview questions and answersGaruda Trainings
In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
Infographic: Importance of Performance TestingKiwiQA
Performance testing help to establish the scalability, speed, and stability of apps. It includes numerous testing types that simulate user scenarios and analyze app performance.
To learn more about performance testing, visit: https://www.kiwiqa.com/load-performance-testing.html
Detailed presentation on performance testing and Loadrunner.
Complete course is available on udemy.
Use below link to get the course for just 20 USD
https://www.udemy.com/performance-testing-using-microfocus-loadrunner-basics-advanced/?couponCode=PTLR20D
Performance testing is one of the kinds of Non-Functional Testing. Building any successful product hinges on its performance. User experience is the deciding unit of fruitful application and Performance testing helps to reach there. You will learn the key concept of performance testing, how the IT industry gets benefitted, what are the different types of Performance Testing, their lifecycle, and much more.
it is based on the introduction of performance testing and its modules and the process which include performance testing and it consist of name of software or tools which are used to check the performance of any software.
Performance testing interview questions and answersGaruda Trainings
In software engineering, performance testing is in general testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
Infographic: Importance of Performance TestingKiwiQA
Performance testing help to establish the scalability, speed, and stability of apps. It includes numerous testing types that simulate user scenarios and analyze app performance.
To learn more about performance testing, visit: https://www.kiwiqa.com/load-performance-testing.html
Detailed presentation on performance testing and Loadrunner.
Complete course is available on udemy.
Use below link to get the course for just 20 USD
https://www.udemy.com/performance-testing-using-microfocus-loadrunner-basics-advanced/?couponCode=PTLR20D
Performance testing is one of the kinds of Non-Functional Testing. Building any successful product hinges on its performance. User experience is the deciding unit of fruitful application and Performance testing helps to reach there. You will learn the key concept of performance testing, how the IT industry gets benefitted, what are the different types of Performance Testing, their lifecycle, and much more.
it is based on the introduction of performance testing and its modules and the process which include performance testing and it consist of name of software or tools which are used to check the performance of any software.
BugRaptors Perform performance testing using different types of tools helps determining how fast some aspect of a system performs under a particular workload. It can help different purposes like it demonstrates that the system meets performance criteria in any condition.
It gives you an basic over view to start up with Jmeter. This slide encourage you to start from basic terminology in the Performance Testing field. It contains information about Different subcategory of Performance Testing. The main focus is to connect performance testing with Jmeter.
Ever wonder what all the different performance testing terms that are used really mean? This deck provides definitions for terms you may or may not have known.
These slides is from a session about load testing. It starts with an introduction to non-functional testing then demonstrating the phases and criteria of load testing with K6.
The most important aspect to release any product or application in the market is to deliver a satisfying user experience. And this can only be achieved when the application performs impeccably. To help understand the ways and means to ensure the same, this PPT will shed light on the essential elements under performance testing. To know more on software performance testing, performance testing, app performance testing, web performance testing, website load testing and performance tuning, go through this presentation and gear up for the upcoming ones.
Elevate your career with our Performance Testing Training in Hyderabad. Hands-on experience, industry certification, and job placement support for a brighter future in software testing.
Interest Assignments
Partnership Assignments
Percentages Assignment
Profit and Loss
Assignments
Proportion Assignments
Set Theory Assignments
Time and Distance Assignments
Time and Work Assignments
Permutation Assignments
Allegation Assignments
AP,GP Assignments
Data is a useful information
Which helps to make a decision
Set of information of any entity is known as data
Databases support storage and manipulation of data
Controlling test runs can help you to identify and eliminate defects in your tests.
The Debug Viewer tabs can display the values of variables or objects in the main script of the current action or in a selected subroutine.
Synchronizing Your Test
Tests can be synchronized either of the ways
Synchronization point
Exist or Wait statements
Increase the default timeout settings
JDK stand for java development kit.
JVM stands for Java Virtual Machine.
JRE is the responsible unit to run the java program.
JIT stands for Just In Time compiler.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
Tim Combridge from Sensible Giraffe and Salesforce Ben presents some important tips that all developers should know when dealing with Flows in Salesforce.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
Worried about document security while sharing them in Salesforce? Fret no more! Here are the top-notch security standards XfilesPro upholds to ensure strong security for your Salesforce documents while sharing with internal or external people.
To learn more, read the blog: https://www.xfilespro.com/how-does-xfilespro-make-document-sharing-secure-and-seamless-in-salesforce/
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
2. INTRODUCTION TO PERFORMANCE TESTING
Performance testing is the process of determining
the speed or effectiveness of a computer,
network, software program or device.
Before going into the details, we should
understand the factors that governs Performance
testing:
Throughput
Response Time
Tuning
Benchmarking
3. THROUGHPUT
Capability of a product to handle
multiple transactions in a given
period.
Throughput represents the
number of requests/business
transactions processed by the
product in a specified time
duration.
As the number of concurrent
users increase, the throughput
increases almost linearly with the
number of requests. As there is
very little congestion within the
Application Server system
queues.
4. THROUGHPUT
In the heavy load zone or Section B, as the
concurrent client load increases, throughput remains
relatively constant.
In Section C (the buckle zone) one or more of the
system components have become exhausted and
throughput starts to degrade. For example, the
system might enter the buckle zone when the network
connections at the Web server exhaust the limits of
the network adapter or if the requests exceed
operating system limits for file handles.
5. RESPONSE TIME
It is equally important to
find out how much time
each of the transactions
took to complete.
Response time is defined
as the delay between the
point of request and the
first response from the
product.
The response time
increases proportionally
to the user load.
6. TUNING
Tuning is the procedure by which
product performance is enhanced
by setting different values to the
parameters of the product,
operating system and other
components.
Tuning improves the product
performance without having to
touch the source code of the
product.
7. BENCHMARKING
A very well-improved performance
of a product makes no business
sense if that performance does not
match up to the competitive
products.
A careful analysis is needed to
chalk out the list of transactions to
be compared across products so
that an apple-apple comparison
becomes possible.
8. PERFORMANCE TESTING-
DEFINITION
The testing to evaluate the response time (speed), throughput
and utilization of system to execute its required functions in
comparison with different versions of the same product or a
different competitive product is called Performance Testing.
Performance testing is done to derive benchmark numbers for
the system.
Heavy load is not applied to the system
Tuning is performed until the system under test achieves the
expected levels of performance.
9. DIFFERENCE BETWEEN
PERFORMANCE, LOAD AND STRESS
TESTING
Load Testing
Process of exercising the system
under test by feeding it the largest
tasks it can operate with.
Constantly increasing the load on the
system via automated tools to
simulate real time scenario with
virtual users.
Examples:
Testing a word processor by editing a
very large document.
For Web Application load is defined in
terms of concurrent users or HTTP
connections.
10. DIFFERENCE BETWEEN
PERFORMANCE, LOAD AND STRESS
TESTING
Stress Testing
Trying to break the system under
test by overwhelming its resources
or by taking resources away from it.
Purpose is to make sure that the
system fails and recovers gracefully.
Example:
Double the baseline number for
concurrent users/HTTP connections.
Randomly shut down and restart
ports on the network
switches/routers that connects
servers.
11. WHY PERFORMANCE TESTING?
The week of Feb 6, 2000:
Hackers delivered over 1-Billion transactions
concurrently to each one of these sites.
Yahoo
eBay
Buy.com
Amazon
eTrade
How did you think they performed ?
12. Identifies problems early on before they become costly to resolve.
Reduces development cycles.
Produces better quality, more scalable code.
Prevents revenue and credibility loss due to poor Web site
performance.
Enables intelligent planning for future expansion.
To ensure that the system meets performance expectations such
as response time, throughput etc. under given levels of load.
Expose bugs that do not surface in cursory testing, such as
memory management bugs, memory leaks, buffer overflows, etc.
WHY PERFORMANCE TESTING
13. WHEN IS IT REQUIRED?
Design Phase:
Pages containing lots of images and multimedia for reasonable wait times.
Heavy loads are less important than knowing which types of content cause
slowdowns.
Development Phase:
To check results of individual pages and processes, looking for breaking
points, unnecessary code and bottlenecks.
Deployment Phase:
To identify the minimum hardware and software requirements for the
application.
14. WHAT SHOULD BE TESTED?
High frequency transactions: The most frequently used transactions have the
potential to impact the performance of all of the other transactions if they are not
efficient.
Mission Critical transactions: The more important transactions that facilitate
the core objectives of the system should be included, as failure under load of
these transactions has, by definition, the greatest impact.
Read Transactions: At least one READ ONLY transaction should be included, so
that performance of such transactions can be differentiated from other more
complex transactions.
Update Transactions: At least one update transaction should be included so
that performance of such transactions can be differentiated from other
transactions.
16. Determine the performance testing objectives
Describe the application to test using a application
model
1.Describe the Hardware environment
2.Create a Benchmark (Agenda) to be recorded in Phase 2.
A.Define what tasks each user will perform
B.Define (or estimate) the percentage of users per task.
1.Planning
17. Record
Record the defined testing activities that will be used as a
foundation for your load test scripts.
One activity per task or multiple activities depending on user task
definition
Modify
Modify load test scripts defined by recorder to reflect more
realistic Load test simulations.
Defining the project, users
Randomize parameters (Data, times, environment)
Randomize user activities that occur during the load test
3.Modify2.Record1.Planning
18. Virtual Users (VUs): Test Goals
Start: 5 Max Response Time <= 20 Sec
Incremented by: 5
Maximum: 200
Think Time: 5 sec
Test Script:
One typical user from login through completion.
4. Execute
19. Monitoring the scenario: We monitor scenario
execution using the various online runtime
monitors.
Analysing test results: During scenario execution,
the tool records the performance of the application
under different loads. We use the graphs and
reports to analyse the application’s performance.
6.Analyze5.Monitor
21. LOAD TEST PLANNING
Why Planning
Analysing the Application
Defining Testing Objectives
Gathering Requirements
Load Test Checklist
Practice Questions
22. WHY PLANNING
• As in any type of system testing, a well-defined test plan is the first essential step
to successful testing.
Planning load testing helps to:
Build test scenarios that accurately emulate your working environment: Load
testing means testing the application under typical working conditions, and checking
for system performance, reliability, capacity, and so forth.
Understand which resources are required for testing: Application testing
requires hardware, software, and human resources. Before beginning testing, we
should know which resources are available and decide how to use them effectively.
Define success criteria in measurable terms: Focused testing goals and test
criteria ensure successful testing. For example, it’s not enough to define vague
objectives like “Check server response time under heavy load.” A more focused
success criterion would be “Check that 50 customers can check their account
balance simultaneously & that server response time will not exceed 1- minute”
23. WHY PLANNING
Load test planning is a three-step process:
Analyzing the Application
• Analysis ensures that the testing environment we create using Load
Runner will accurately reflect the environment and configuration of
the application under test.
Defining Testing Objectives
• Before testing, we should define exactly what we want to accomplish.
Gathering Requirements
• All the requirements and resources should be evaluated and
collected beforehand to avoid any last minute hurdles.
24. ANALYZING THE APPLICATION
Load testing does not require as much knowledge of the
application as functional testing does.
Load tester should have some operational knowledge of
the application to be tested.
Load tester should have the idea on how the application
is actually used in production to make an informed
estimate.
Load tester must know the application architecture
(Client Server, Local Deployment, Live URL), Platform
and Database used.
25. DEFINING TESTING OBJECTIVES
Determining and recording performance testing objectives
involves communicating with the team to establish and update
these objectives as the project advances through milestones
Performance, Load or Stress testing: Type and scope of
testing should be clear as each type of testing has different
requirements.
Goal Setting: General load testing objectives should be defined.
26. DEFINING TESTING OBJECTIVES
Common Objectives:
Measuring end-user response time
Defining optimal hardware configuration
Checking reliability
Assist the development team in determining the performance
characteristics for various configuration options
Ensure that the new production hardware is no slower than the
previous release
Provide input data for scalability and capacity-planning efforts
Determine if the application is ready for deployment to
production
Detect bottlenecks to be tuned
27. DEFINING TESTING OBJECTIVES
Stating Objectives in Measurable Terms:
Once you decide on your general load testing objectives, you
should identify more focused goals by stating your objectives in
measurable terms.
To provide a baseline for evaluation, determine exactly what
constitutes acceptable and unacceptable test results.
For example:
General Objective:
• Product Evaluation: choose hardware for the Web server.
Focused Objective:
• Product Evaluation: run the same group of 300 virtual users on two
different servers, HP and NEC. When all 300 users simultaneously browse
the pages of your Web application, determine which hardware gives a
better response time.
28. GATHERING REQUIREMENTS
Users: Identify all the types of people and processes that can put
load on the application or system.
Defining the types of primary end users of the application or system such
as purchasers, claims processors, and sales reps
Add other types of users such as system administrators, managers, and
report readers who use the application or system but are not the primary
users.
Add types of non-human users such as batch processes, system
backups, bulk data loads and anything else that may add load or
consume system resources.
Transactions: For each type of user we identified in the previous
step, identify the tasks that the user performs.
Production Environment:
Performance and capacity of an application is significantly affected by
the hardware and software components on which it executes.
29. GATHERING REQUIREMENTS
Production Environment:
Speed, capacity, IP address and name, version numbers and other
significant information.
Test Environment:
Should be similar to the production environment as is possible to be
able to get meaningful performance results.
It is important that the databases be set up with the same amount of
data in the same proportions as the production environment as that
can substantially affect the performance.
Scenarios:
Select the use cases to include
Determine how many instances of each use case will run concurrently
Determine how often the use cases will execute per hour
Select the test environment
30. GATHERING REQUIREMENTS
Load test Tool:
Ability to parameterize data.
Ability to capture dynamic data and use on subsequent requests.
Application infrastructure monitoring.
Support for the application's protocols
Load test Lab must include the following:
Test Servers.
Databases.
Network elements, operating systems and clients and server hardware.
31. LOAD TEST CHECK LIST
Planning
Objective goals defined
Test plan written and reviewed
Staff Skills
Experience in load testing
Application knowledge
Systems knowledge
Communication and people skills
Support Staff
Key staff identified and allocated
Load Test Lab
Test servers allocated
Databases populated
Load test tools allocated
33. MANUAL TESTING LIMITATIONS
Testers
Load Generation System Under Test
Do you have the testing resources?
• Testing personnel
• Client machines
How do you coordinate and synchronize users?
How do you collect and analyze results?
How do you achieve test repeatability?
Analysis?
All of you,
click the
GO button
again
Web server Database
server
Coordinator
34. MANUAL TESTING LIMITATIONS
Manual Testing Limitations
Expensive, requiring large amounts of both
personnel and machinery.
Complicated, especially co-ordinating and
synchronising multiple testers
Involves a high degree of organization,
especially to record and analyse results
meaningfully
Repeatability of the manual tests is limited.
35. BENEFITS OF AUTOMATION
Load Generation System Under Test
Web server Database
server
Vuser
host
• Controller manages the virtual users
• Analyze results with graphs and
reports
• Replaces testers with virtual users
Solves the resource limitations
• Runs many Vusers on a few machinesAnalysis
Controller
36. BENEFITS OF AUTOMATION
Using Automated Tools
Reduces personnel requirements by replacing human users with
virtual users or Vusers. These Vusers emulate the behaviour of real
users
Because numerous Vusers can run on a single computer, the tool
reduces the amount of hardware required for testing.
Monitors the application performance online, enabling you to fine-
tune your system during test execution.
It automatically records the performance of the application during a
test. You can choose from a wide variety of graphs and reports to
view the performance data.
Because the tests are fully automated, you can easily repeat them
as often as you need.
37. WHAT IS JMETER
Apache JMeter is a GUI desktop application designed to
load test functional behavior and measure performance. It
was originally designed for testing Web Applications but
has since expanded to other test functions.
Has a rich graphical interface
Built in Java
Part of Apache Jakarta project
Can be distributed
It can be used to simulate a heavy load on a server,
network or object to test its strength or to analyze overall
performance under different load types.
38. Graphical Analysis / Exporting Test Results
Remote Distributed Execution
If you want to generate load using multiple test servers.
You can run multiple server components of JMeter
remotely. And you can control it by a single JMeter GUI
to gather results.
http://jakarta.apache.org/jmeter/usermanual/remote-
test.html
Highly Extensible
Custom Additions (Write your own samplers / listeners)
PlugIns
Test plans stored in XML and can be version controlled.
Features of JMeter
39. What Can You Do With It?
JMeter lets you set up test plans that simulate logging
into a web site, filling out forms, clicking buttons, links,
etc.
You can simulate the number of users doing this, the
rate that they do it.
40. Setting Up and Running JMeter
Download the binary from Jakarta
http://jakarta.apache.org/jmeter/
It’s platform independent, so the same download will run
on Windows, Linux, Mac.
You need Java, with the JAVA_HOME environment
variable set.
Uncomment SSL settings in jmeter.properties
Unpack the zip or tar.gz and execute jmeter.bat or
jmeter.sh
42. Test Plan
A complete test plan will consist of one or more
Thread Groups, logic controllers, samplers,
listeners, timers, assertions, and configuration
elements.
Test Plans are represented as an Ordered
Tree.
43.
44. Scoping Rules
Some elements are primarily ordered (e.g.
controllers and samplers).
Other elements are hierarchical. An Assertion,
for example, is hierarchical in the test tree. If its
parent is a request, then it is applied to that
request. If its parent is a Controller, then it
affects all requests that are descendants of that
Controller.
45.
46. Elements of a Test Plan
ThreadGroup
Set the number of threads
Set the ramp-up period
Set the number of times to execute the test
Samplers
HTTP Request
JDBC Request
LDAP Request
WebService (SOAP) Request
Logic Controllers
Simple Controller - The Simple Logic Controller lets you organize
your Samplers and other Logic Controllers
Loop Controller
Once Only Controller
Interleave Controller
Throughput Controller
Others … (e.g. Transaction Controller)
Listeners
Simple Data Writer
Graph Results
http://jakarta.apache.org/jmeter/usermanual/component_reference.html
47. Elements of a Test Plan
Timers
The timer will cause a delay between each request that a
thread makes.
Assertions
The ‘test’ of the response from the server
Configuration Elements
Sets default
Pre-Processor / Post-Processor
Elements
http://jakarta.apache.org/jmeter/usermanual/component_reference.html
52. An Example
Saved fragments of Test Plans
Login sequence
Response assertions
User agents
Load cluster settings
53. Portal Performance Test A
Load cluster host names
Load test users
Do Login
Test Login
Generate next url based on tabs
Loop:
1. Visit tab 1
2. Visit tab 2
3. Visit tab 1
4. Visit tab 3
56. Tips
Limit the Number of Threads
Hardware will limit the number of threads you can effectively
run. A faster machine makes JMeter work harder since it returns
request quicker.
User variables
Create a text file containing the user names and passwords.
Add a CSV DataSet configuration element. Name the variables
USER and PASS. Use ${USER} and ${PASS} within samplers.
Reducing resource requirements
Use non-GUI mode.
Use as few Listeners as possible.
Reduce samplers by looping (by thread and by controller), and
use variables (CSV Data Set) to vary the sample.
Use CSV output rather than XML.