You are on page 1of 10

Q #1.

What is the difference between Performance testing and Performance


engineering?
Ans => In Performance testing, testing cycle includes requirement gathering, scripting,
execution, result sharing and report generation. Performance Engineering is a step ahead of
Performance testing where after execution; results are analyzed with the aim to find the
performance bottlenecks and the solution is provided to resolve the identified issues.
Q #2. Explain Performance Testing Life Cycle.
Ans => Step 1: System Analysis (Identification of critical transaction)
Virtual User Generator
Step 2: Creating Virtual User Scripts (Recording)
Step 3: Defining Users Behavior (Runtime setting)
LoadRunner Controller
Step 4: Creating Load Test Scenarios
Step 5: Running the Load Test Scenarios and Monitoring the Performance
LoadRunner Analysis
Step 6: Analyzing the Results
Refer Performance Testing Tutorial #2 for more details.
Q #3. What is Performance testing?
Ans => Performance testing is done to evaluate application`s performance under load and
stress conditions. It is generally measured in terms of response time of user’s action on
application.
Q #4. What is Load testing?
Ans => Load testing is to determine if an application can work well with the heavy usage
resulting from a large number of users using it simultaneously. Load is increased to to
simulates the peak load that the servers are going to take during maximum usage periods.
Q #5. What are the different components of LoadRunner?
Ans => The major components of LoadRunner are:
VUGen- Records Vuser scripts that emulate the actions of real users.
Controller – Administrative center for creating, maintaining and executing load test
scenarios. Assigns scenarios to Vusers and load generators, starts and stops loading tests.
Load Generator – An agent through which we can generate load
Analysis – Provides graphs and reports that summarize the system performance
Q #6. What is the Rendezvous point?
Ans => Rendezvous point helps in emulating heavy user load (request) on the server. This
instructs Vusers to act simultaneously. When the vuser reaches the Rendezvous point, it
waits for all Vusers with Rendezvous point. Once designated numbers of Vusers reaches it,
the Vusers are released. Function lr_rendezvous is used to create the Rendezvous point.
This can be inserted by:
1. Rendezvous button on the floating Recording toolbar while recording.
2. After recording Rendezvous point is inserted through Insert> Rendezvous.
Q #7. What are the different sections of the script? In what sequence does these
section runs?
Ans => LoadRunner script has three sections vuser_init, Action and vuser_end.
vuser_init has requests/actions to login to the application/server.
Action has actual code to test the functionality of the application. This can be played many
times in iterations.
Vuser_end

Q #9. What is correlation? Explain the difference between automatic correlation


and manual correlation?
Ans => Correlation is used to handle the dynamic values in a script. The dynamic value
could change for each user action (value changes when action is replayed by the same user)
or for different users (value changes when action is replayed with different user). In both
the cases correlation takes care of these values and prevents them from failing during
execution.
Q #10. How to identify what to correlate and what to parameterize?
Ans => Any value in the script that changes on each iteration or with different user while
replaying needs correlation. Any user input while recording should be parametrized.
#35. How do you identify which values need to be correlated in the script? Give
an example.
Ans => This can be done in ways:
a) Record the two scripts with similar steps and compare them using WDiff utility. (See
tutorial Correlation).
b) Replay the recorded script and scan for correlation. This gives a list of values that can be
correlated.
Session Id is a good example of this. When two scripts are recorded and compared using
WDiff utility. Session ids in the two scripts should be different and WDiff highlight these
values.

Q #17. How is each step validated in the script?


Ans => Each step in the script is validated with the content on the returned page. A
content check verifies whether specific content is present on the web page or not. There are
two types of content check which can be used in LoadRunner:
Text Check- This checks for a text/string on the web page
Image Check- This checks for an image on a web page.

Q #18. How is VuGen script modified after recording?


Ans => Once the script is recorded, it can be modified with the following process:
Transaction
Parameterization
Correlation
Variable declarations
Rendezvous Point
Validations/Check point
Load testing:Load testing is conducted to verify that your application can meet your d

sired performance objectives; these performance objectives are often specified in a service level agreement
(SLA). A load test enables you to measure response times, throughput rates, and resource-utilization
levels, and to identify your application’s breaking point, assuming that the breaking point occurs below
the peak load condition.

purpose:To verify application behavior under normal and peak load conditions.

Stress testing – involves testing an application under extreme workloads to see how it handles high
traffic or data processing .The objective is to identify breaking point of an application

Purpose:To determine or validate an application’s behavior when it is pushed beyond normal or peak
load conditions.
Endurance testing – is done to make sure the software can handle the expected load over a long period
of time.

Spike testing – tests the software’s reaction to sudden large spikes in the load generated by users

Performance Testing Process


The methodology adopted for performance testing can vary widely but the objective for performance tests
remain the same. It can help demonstrate that your software system meets certain pre-defined
performance criteria. Or it can help compare performance of two software systems. It can also help
identify parts of your software system which degrade its performance.

Below is a generic performance testing process

Identify your testing environment – Know your physical test environment, production environment
and what testing tools are available. Understand details of the hardware, software and network
configurations used during testing before you begin the testing process. It will help testers create more
efficient tests. It will also help identify possible challenges that testers may encounter during the
performance testing procedures.

Identify the performance acceptance criteria – This includes goals and constraints for throughput,
response times and resource allocation. It is also necessary to identify project success criteria outside of
these goals and constraints. Testers should be empowered to set performance criteria and goals because
often the project specifications will not include a wide enough variety of performance benchmarks.
Sometimes there may be none at all. When possible finding a similar application to compare to is a good
way to set performance goals.

Plan & design performance tests – Determine how usage is likely to vary amongst end users and
identify key scenarios to test for all possible use cases. It is necessary to simulate a variety of end users,
plan performance test data and outline what metrics will be gathered.
Configuring the test environment – Prepare the testing environment before execution. Also, arrange
tools and other resources.
Load runner Controller material
what is load runner controller ?
Controller is manage and maintain the scenario . using controller you control all the vuser in single work
station .

Scenario: Describes are sequence of actions done by the V user.

What is the extension of scenario file?


.lrs

What are the elements of scenario?


1) Virtual users
2) Scripts
3) Number of load generators
4) Real time monitors
5) Runtime settings

How will you create a scenario in vugen?


1. Go to tool bar.
2. Click on the controller scenario
3. Select the scenario (manual/Goal oriented)
4. Select Load generator
5. enter the script name
6. Click on ok.

What does controller do?


Controller is the tool which is used to design and run the scenarios
Controller organized and manages scenario elements

Before scenario execution:-


Used to design scenario
Used to initiate scenario run

During scenario execution:-


Runs many Vusers simultaneously
Controls each vuser
(Initialize, run, pause, and stop)
Displays execution status of each Vuser.
Displays messages from each Vuser
Monitors system and network resources

After scenario execution:-


Collects and organizes performance data
Launches the analysis tools.

Head of the load runner-> Agent process (agent process nu lr lo 2types)

Installation of L.R
1. Exe-(Here controller & Load generator both are in same place)
2. Service-(Here only LG is present. LG is here service purpose to controller)
.
Script runtime settings Scenario Runtime settings
Load generator lo script create Load controller lo scenario design
chesetappudu (Vugen) chese runtime chesetappudu chese runtime setting
settings
Eedhi script generate chesetappudu Edhi controller lo unte runtime settings
Vugen lo chese runtime setting LC lo runtime settings options motham
LG lo script aye runtime settings okke vidhamgaa unteene script aneedhi
options correct ga run authundhi

Load Controller lo ye modifications chesina I mean ye operations chesina save cheyali appude aa changes
apply avuthayi

Load generator/ Load controller (to generate load we use load generators)
Requests two types
1. Local request (coming from working computer)
2. Remote request (coming from another location)

Load generator: - It generates the user loads to the controller by using agent process.
Load generator is internal component of load controller
Exe of load generator: - MDRV.exe
MDRV (Mercury driver virtual)
It is a driver program given by mercury

Agent Process: - It establishes communication between the load generator and load controller.
Exe of agent Preprocess: - magnetproc.exe
Magentproc->mercury agent process

Load Generator: - To generate the number of Vusers wile running the scenario in load controller by
using agent process
Or
It generates the user loads, two types of load generator are there.

Two types of load generator:


1) Host
2) Remote

Local host: - if we use the load generator as controller machine then that is called as local host.
Or
Use the load generator in the controller machine is called local host

Remote host: - : if we use the load generator other than the controller machine, than that is called
remote host.
Or
Other then the controller machine is called remote host as a load generator

What is the other name for load generator?


Injector (OR) Host machine

Load generator system configuration?


250 USER LOAD
1) Processor (Dual core)
2) Hard disk 80 GB
3) RAM 1GB OR ABOVE
500 USER LOAD
1) Processor: (Dual core)
2) Hard disk: 80GB
3) RAM: 2GB OR above
1000 User load
1) Processor: 4 CPU boxes (two dual core processor)
2) Hard disk: 120 GB
3) RAM:-4GB OR ABOVE

Controller:
This component uses for running the multi user business scenarios.
Controller Scenario:
Lr has two types of scenarios.
1. Manual Scenario,
2. Goal Oriented Scenario

1. Manual Scenario:
Create the controller scenario based on the no of uses.
List of options available under manual scenario.
Load Generator, Group Name and Result Directory.

Goal Oriented Scenario:


To create the scenario based on the types of goals.
List of options available under goal oriented scenario.
1. Load Generator, 2. Script Name.

Goal oriented scenario:-


To create the scenario based on the below specified goal is called goal oriented scenario
Goals:-
1) Number of Vusers
2) Hits per second
3) Transactions per second
4) Response time
5) Pages per minute

Goal Types:
1. Virtual users,
2. Hits/second,
3. Transaction per second,
4. Transaction Response time & pages per minutes.

1. Virtual Users: Define the no of uses to run under goal oriented scenario.

2. Hits/second: Send the no of request made by the client to the server.

3. Transaction per second: To set the no of transactions passed of the server per second.

4. Transaction Response time: To set the time taken by the server to process to our request.
Depends on the acceptable response time criteria you can set this goal.

5. Pages per minutes:


Specify the no of pages to be downloaded per second from the server.
What are vuser groups?
Vuser group is a collection of Vusers within a scenario

Note: - Each group can be assigned a different script to emulate different business process

Schedule by scenario-> same scenario->single group->having Common Runtime settings->


500vusers.
Schedule by group-. Group of scenarios-> different groups

Scenario Building:

1. Scheduling by Scenario, 2. Schedule by Group.

1. Scheduling by Scenario: To run all the scripts at the same time in the load controller. We can use
this option.

2. Schedule by Group: To run the scenario in group wise, we can use this option.
Scenario Start Times: To start the scenario execution automatically without the user interaction.

Schedule Builders:
Ramp Up: To set the time for initializing the v users.
 Load all v users simultaneously.
 Start no of users every time
Duration: To set the time duration to run all the v users.
 Run until completion
 Run for (Duration)
 Run indefinitely.
Ramp Down: To down the v users from the run status.
 Stop all v users simultaneously.
 Stop one user for every time.

What do you mean by the ip spoofing?


IP spoofing enables each host machine to “spoof” the using many different IP address.

IP spoofing:
To allocate the IP address for each vuser we can use IP spoofing
Navigation:
Create the multy IP address using IP wizard in Load Runner tools (not in Vugen tools) in installation
tools. Go to scenarios in load controller
Enable IP spoofer (eekada IP address annedhi each user ki allocate avuthundhi)

What will happen if it is 100%?


If the Processor usage reaches up to 100% some times the server may be happened in the server

When you initialize Vusers? What happens?


Vusers status changes from DOWN to Pending to Initialization to READY. If Vusers fails to initialize the
vuser status tender to failure.

What are the vuser statuses while running the scenario?


1) Down
2) Pending
3) Init
4) Ready
5) Run
6) Rendezvous
7) Passed
8) Fail
9) Error
10) Gradually existing
11) Stop

Counters:

Processor: Processor time

Description: (4 C P U boxes) up to 70% or 80% of the C P U utilization is acceptable.

Memory: Available memory bytes committed bytes.


Page faults per second: how many pages are not able to down load.

Disk: Physical disk


Average disk read queue length, Write queue length, Log files & general information

Data Base: Cache hit ratio, I/O batch writes per second, Lazy writes per second &
Out standing records.
Monitoring:
Keep watching the data on the server in controller
Monitoring done 2 ways
1 controller
2. Run -> Perfmon

MONITORS:-
Load Runner offers wide range of performance monitors for isolating bottlenecks
Monitors display real time data during testing
Note: - you can display up to 16 online monitors at a time

Different types of monitors

Client side monitors:-


End to end transitions monitors; they provide end-user response times, hits per second, transaction per
second
1) Hits per second
2) HTTP Responses Per second
3) Pages downloaded per second
4) Throughput
5) Transaction response time
6) Transaction per second(Pass)
7) Transaction per second(Failed)
8) User defined data point
9) Virtual user status
10) Web transaction break down graphs

Server Monitors:-
NT/UNIX/Linux monitors
Provide hardware, network and operating system performance metrics such as CPU
Memory and network throughput
NT server resources
Unix/Linux server monitors
Note:-
Performance monitors are licensed by the load runner controller
A monitor cannot be configured unless the license has been purchased
To find out which monitors your current license allows

Data base server resource monitors:-


Data base monitors
Provides performance data inside the database such as active
Database connections
1) SQL Server
Database server resource monitors
Measure statistics related to the SQL Server, oracle,
Sybase and DB2 databases during the scenario session

Bottleneck: It is a pinpoint or breaking point where the server will get up gration and degration. (Up
and down in graph)

How do you identify the performance bottlenecks?


Performance bottlenecks can be detected by using monitors. These monitors might be application server
monitors, web server monitors, Data base server monitors and network monitors. They help in finding
time. The measurements made are usually performance time, throughput, Hits per sec and networks
delay graphs.

What bottlenecks did u find?


Memory leaks, dead logs and index sequences data base.

How do you identify the performance bottlenecks?


Performance bottlenecks can be detected by using monitors. These monitors might be application server
monitors, web server monitors, Data base server monitors and network monitors. They help in finding
time. The measurements made are usually performance time, throughput, Hits per sec and networks
delay graphs.
What the difference between the HTML and URL based recording modes?
HTML: to generates html resources script for non html resources like Zip files and bitmap files. Entire
transactions will certain only one URL address.
URL: it generates each step as an URL. It generates each step for all the request and resources from the
server. Each and every transaction should contain different URL address.
Script will be generated in three sessions.
What the response time for transactions?
4 seconds for almost all transactions.

What bottlenecks did u find?


Memory leaks, dead logs and index sequences data base.

What is memory leak?


After using the objects, memory should get free, if it is not getting free then that is called memory leak.

What is load generator?


It generates the user loads, two types of load generator are there.
Load Host: it we use the load generator as controller machine then that is called as local host.
Remote Host: if we use the load generator other than the controller machine, than that is called remote
host.

How can you find out memory leak?


Definition of Memory Leak: after using the object memory, it should get free if it is not getting tree
then that is called memory leak. We can find out by using JVM.
How you find out memory leak?
Who have find out the memory leaks in the initial stage only by using ramp down option? (Stop all users
simultaneously)

Memory out of bound


(Memory out of bound ani message vasthundhi screen meedha ee situation nu practical ga chesichudu)

Why did you use analyze?


1. Client side Metrics: Response time, Through put, Hits per second, T P S.
2. Sever side Metrics: Resources, physical disk, Memory and Processors.

What are the graphs are available in load controller?


No of virtual users, Error graphs, Transactions response time, web source graph, web page break down
graph, user defined data point graphs, system resource graphs, N/w monitors graph, fire well net work
server graphs, data base resource graphs, streaming media graphs, ERP/CRM server graphs, java
performance graphs, application component graphs, application deployment solution graphs, security
graphs, middle ware performance graphs application traffic m/m graphs and intra structure resource
graph.

Tuning:
It is an area to find out the bottlenecks in different areas.
Bottleneck may be: Application, application server, Data base server, Network and web server.

How did you plan the load? What are the criteria?
There are two types of documents available for carrying performance testing.
Task Distillation Management: Enter the P T application is divided into unit modules and is
distributed over the terms. TL/PM is responsible for dividing the modules test engineers. It is also known
as licensed agreements.
Task Profiler: It maintains the no of transaction under tasks.

What is percentage mode?


By using percentage mode we can distribute the no of virtual user to distribute the scripts. We can create
manual scenario by using percentile mode.

Filters:-
Filters let you display only a specific transaction status, transaction name, group, vuser
Def: - “To get the data based on our specified condition”.

What is filter?
To get the data based on our specified condition. You can set the filter for user id condition elapsed
scenario condition graph represented data.

You can set the filters for user id condition, elapsed scenario condition, graph represented data

What is granularity?
To set the time gap between two salvation points, we can use.

You might also like