Fundamental of Performance Testing
Agenda
Ø
Basics of Performance Testing?
Ø
Performance testing tool – LoadRunner Overview
Ø
Key Concepts – Transactions, Think Time,
Correlation
Ø
Demo – Recording a Script
What is Performance Testing?
Ø
Ensures system stability, scalability and speed
Performance testing helps identify
how systems behave under expected and peak load. Each type targets a specific concern.
Ø
Types of tests:
ü
Load
ü
Stress
ü
Spike
ü
Endurance
ü
Soak
Notes: Under a load
how an application is behaving and what is the response time?
How quick the end user is getting the web page and what is the throughput?
How many end users? Can able to access the application without any performance
degradation without any issues? For end user two key performance aspects 1. One
how quickly you are getting the page. 2.how many users (volume)
Test case to simulate the load, concurrent users doing the
same functionality, how the application is behaving and how the application
response.
Types: Load: Online application, 200 end users uploading
the document in one hour. Create 200 users and upload the document, check the
response time. My load, expected load.
Stress: More load on
the system, simulate with 300 or 400 end user.
Spike: Ramp up the
users in 5 minutes,
Endurance: Run the
test for long time.
Soak: Similar of load test
It comes under non-functional testing.
Response time, throughput and security is beyond the
functional.
Performance Testing
Lifecycle
Analysis and Planning -> Test Design->Test Execution->Result
Analysis & Reporting
Ø
Analysis and Planning
ü
Requirement gathering
Ø
Test Design
ü
Scripting
ü
Scenario creation
Ø
Test Execution
Ø
Result Analysis
Performance Testing
Process
Test Phases
Initiate->Estimate->Strategize->Design->Execute->Analyze->Final
Report
Automation test using Loader tool.
Open-Source &
Licensed Tools
|
Feature/Aspect
|
Open-Source Tools (Jmeter, k6, Gatling)
|
Licensed Tools(LoadRunner) (Self performer, VCS)
|
|
Cost
|
Free
|
Expensive (based on protocol, Vusers, etc.)
|
|
Protocol Support
|
Mostly HTTP, Web APIs
|
Extensive (SAP, Citrix, Siebel, Oracle, TruClient, etc.)
|
|
Ease of Use
|
Varies (some CLI, some GUI)
|
Full-featured GUI, user-friendly
|
|
Community Support
|
Large (for JMeter, k6)
|
Vendor Support (OpenText)
|
|
Customization
|
High(open code base)
|
Moderate (through APIs or custom scripting)
|
|
Scalability
|
Depends on scripting and infrastructure
|
Highly scalable with built-in controllers and load generators
|
|
Reporting
|
Good (especially Gatling, k6)
|
Advanced Analytics and built-in reporting
|
|
Monitoring
|
Needs integration(AppDynamics, InfluxDB, etc.)
|
Built-in monitoring and third-party integration
|
|
CI/CD Integration
|
Strong (JMeter, K6, Gatling)
|
Possible but needs ALM Integration
|
Load Runner
Load Runner is a suite of tools. VuGen is where scripts are
built. Controller manages the scenario. Load Generators simulate users.
Analysis gives insights into performance
Ø
VuGen: Script creation
Ø
Controller: Test Scenario creation
Ø
Load Generators: Vitrual users
Ø
Analysis: Post-run reports
Load runner is a threat based tool like Java. Load can run
the test scripts parallel.
Controller can run the 100 users means 100 threads parallel.
Load generator to run those threads using virtual users.
Controller sets a timer and ends when user logs off. It gives
you response time.
All the logs will be collected in the controller, the tool
analysis tools gives the nice presentable format of logs.
One controller machines acts as a Master and the other
controller machines are slaves.
At present, everyone is using the Performance Centre. PC is
a web based application.
PC application is hosted in web server; it connects to
controller and load generator.
Going forward, LRE is in cloud
Performance Centre
PC is an enterprise-grade, web-base performance testing
platform from OpenText that enables centralized test execution, monitoring and
analysis.
Ø
PC Host- Controller & Load generators
Ø
PC Server-Test Scheduling, Results analysis and
User management
Ø
ALM Server – Script & file storage and
Project tracking
Load Runner
Enterprise (LRE) Cloud
LRE is a cloud-based performance testing platform by
OpenText that enables teams to plan, run and manage large-scale load tests
across distributed environments.
Key Concepts
Ø
Transaction: Measures response time between
checkpoints
Ø
Think Time: Simulates user wait
Ø
Pacing: Time between iterations
Ø
Correlation: Handles dynamic values
Ø
Parameterization: Replaces hardcoded values
OpenText had given the framework
1.
Virtual User Generator (Install in your machine)
2.
Analysis (Install in your machine) (Install in
your machine)
Agenda
Ø
Vugen Recording Traffic
Ø
Load Runner Test Execution Architecture
Ø
Performance Center ALM
Ø
Monitoring Agent