Monday, January 31, 2022

METRICS



Response Time is more means: It might be Network problem or LG issue or System issue or Application Issue.
eg :- Application Issue: Suppose if we submit one page, that page taking more time, because that page having more data.
High Response Time  along with Memory Leakage, here first carry out  Heap Dump analysis and check frequency of GC(JVM).
If Transaction Response Time More means we need to analyze 
1. Web page Diagnostics Graph
2. Page Breakdown Graph.
Note : Users are increased, and Response Time should not increase but Users are increased, and Response Time also increased it's not good result
            Response Time Increased and Users are decrease here the issue ie we will get Timeout Error.
Note : If Suddenly increase the Response Time means we need to Merge Response Time graph with Throughput Graph where the point of time Throughput is decreased or not.
Que :- If i run the scenario with 1 user for 10 Iterations. and i want to know the time for each Transaction rather than Avg Transaction Response Time ?
Ans : Check the Raw data from the Avg Transaction Graph.
If the % Processor Time value is constantly high, check the disk and network metrics first

[Processor] "% Processor time":  if this counter is constantly high, say above 90%, then you'll need to use other counters (described below) in order to further determine the root cause of the CPU pressure.

[Processor] "% Privileged time": a high percentage of privileged time, anything consistently above 25%, can usually point to a driver or hardware issue and should be investigated.

High physical Disk Queue Length :- 
Disk Queue length should be minimal, The Queue length is always should be 1 or 2 not more than this.
If you found High Disk QUEUE Length which is causing High Response Time.

HTTP/Req :  Number of HTTP calls made by the client on the server.
End to End Response Time : It means Total Time that a user waiting for a Response after submitting a Request.
End to End Response Time = GUI Response Time + Network Time + Server Response Time.
Network Delay (or) Latency  = Response Time - Process Time.
DB Time = CPU Processing Time + Non idle Wait Time.
Elapsed Time = Begin snap Time - End Snap Time
DB Seconds = Elapsed Time / DB Time
Available CPU = Number of CPU * Elapsed Time * 60
Throughput = (Physical Read+ Physical Write)* Block Size.
Step Download Time Out = Request + Process + Response Time.
Number OF Active VUsers = Total Connections at that Time/Connections made by one User.
(Note : Graphs -> Add New Item -> Add New Graph -> Web Resources -> Connections graph).

Note :-  A large quantity of Hard Page Faults could signify you need increase the amount of memory (or) reduce the cache size on the server.
Note :- A Hard parse rate >100 sec :- It indicate that Bind variables are not being used effectively.
Note : If AWR reported High DB Time and High DB CPU time which is causes the Delayed Response Time

Physical Disk :
1. PhysicalDisk / % Idle Time – should not be less than 60%. Preferably staying at the top of your chart at all times.
2. PhysicalDisk / Avg. Disk sec/read – should not be higher than 20ms.
3. PhysicalDisk / Avg. Disk sec/write – should not be higher than 20ms.
4. PhysicalDisk / Current Disk Queue Length – should not be higher than 2.
Both (2) and (3) are the ones in Performance Monitor to measure the IO latency

Avg Disk Read/Sec : on an Avg the Disk Read/Sec is having bottleneck when it is taking constantly more than 15 ms 
Avg Disk Write/Sec : on an Avg the Disk Write/Sec is having bottleneck when it is taking constantly more than 15 ms 
Avg Disk Transfer/Sec : on an Avg the Disk Transfer/Sec is having bottleneck when it is taking constantly more than 15 ms 
Avg Disk Queue Length : on an Avg the Disk Queue length is having bottleneck when the Queue length is more than 2 
Current Disk Queue Length : The Current Disk Queue Length is having bottleneck when the Queue length is more than 2
TIP If Process/Private Bytes is increasing, but # Bytes in All Heaps remains stable, un managed memory is leaking.
TIP: If an application's logical thread count is increasing unexpectedly, thread stacks are leaking.
TIP: If both counters for 'logical thread count' and 'Private Bytes' are increasing, memory in the managed heaps is building up.
TIP: By default, the stack size on modern desktop and server versions of Windows? is 1MB. So if an application's Process/Private Bytes is periodically jumping in 1MB increments with a corresponding increase in .NET CLR LocksAndThreads/# of current logical Threads, a thread stack leak is very likely the culprit.
TIP: If total memory use is increasing, but counters for 'logical thread count' and 'Private Bytes' (measuring managed heap memory) are not increasing, there is a leak in the unmanage
TIP : If you found High Disk Queue Length which is causing high Response Time(Disk Queue Length should be Minimal should be < 2)
TIP : If the Disk Time & Processor Time values are Low but the Network Values are very high there might be a Capacity problem, to resolve this issue by Optimizing the Network card settings.

Memory :
  1. Memory / Available MBytes – minimum 10% of memory should be free and available. Less than that usually indicating there is insufficient memory which can increase paging activity. You should consider adding more RAM if that happens.
  2. Memory / Pages/sec – should not be higher than 1000. A number higher than that, as a result of excessive paging, usually indicates there may be a memory leak happening.
  3. Memory / Cache Bytes – indicates the amount of memory being used for the file system cache. There may be a disk bottleneck if this value is greater than 300MB.
  4. Page read/sec is high --> here the problem is insufficient RAM
  5. Page Fault/sec : If Pages is not in the memory is called Page Fault.
  6. Page Input/sec : The Total number of Pages read from Disk
  7. Page Output/sec : The total number of pages removed from the Memory and Travelling towards to the Disk.
NETWORK : -
1. Network Interface / Bytes Total/sec – measures the rate at which bytes are sent and received over each network adapter.
healthy – less than 40% of the interface consumed
caution – 41% – 60%
critical – 61% – 100%

2.  Network Interface / Output Queue Length – measures the length of the output packet queue in packets.

healthy – 0
caution – 1-2
critical – >2

Paging:
Paging is the process of moving pages between the memory and disk
Page Fault. A page fault occurs when a program attempts to access a block of memory that is not stored in the physical memory, or RAM. The fault notifies the operating system that it must locate the data in virtual memory, then transfer it from the storage device, such as an HDD or SSD, to the system RAM.
The performance of applications will suffer when there is insufficient RAM and excessive hard page faults occur
Hard page faults occur when the page is not located in physical memory or a memory-mapped file created by the process
Soft page fault occurs when the page is resident elsewhere in memory.
Note : Paging File / % Usage – should not be greater than 10%.
Pages/sec : High Pages/sec values can indicate insufficient RAM memory.
Process (_Total) \ Private Bytes : A consistently increasing value may be indicative of a memory leak.
Memory \ Pool Paged Bytes ;- Paged Pool is a larger resource than Nonpaged pool - however, if this value is consistently greater than 70% of the maximum configured pool size, you may be at risk of a Paged Pool depletion
Memory \ Committed Bytes ; if the value is constantly increasing without leveling off, you should investigate.
Memory \ Available Bytes :If this value falls below 5% of installed RAM on a consistent basis, then you should investigate.  If the value drops below 1% of installed RAM on a consistent basis, there is a definite problem!
Memory \ %Committed Bytes in Use ;- If this value is consistently over 80% then your page file may be too small
PROCESSOR QUEUE LENGTH : Threads in the processor queue are ready to run but can’t, due to another thread running on the processor. Queues with sustained element counts greater than 2 are indicative of a bottleneck.

Idle Workers :
The number of idle workers can tell you if you’re short of resources or if you have them in abundance. A lack of idle workers means that there are too many requests coming in and your server will have to create new threads and processes to handle them. This could cause each request to take more time to process, which increases the latency of each request. If you’re facing this issue, you should consider increasing the resource allocation to your Apache web server.

On the other hand, if there’s always a large number of idle workers, you have allocated too many resources. You might as well use those resources for other services running on the same machine.

In either case, your decision completely depends on the amount of traffic you are getting on your web server and the amount of resources you have on your machines. Before making any changes to your resources, it’s best to observe the idle worker count over a few weeks. This will eliminate the possibility of having low traffic in an off-season

HITs/sec and Transaction/sec

 HITs/sec and Transaction/sec

A Transaction is a group of Requests which creates multiple HITs on the server.

Hence we will see multiple HITs against one Transaction.

HITs/sec Graph helps to identify the Request rate sent by the testing tool.

High Response Time may cause less HITs/Sec

Eg :  Alogin operation which involves 10 HTTP Requests can be group together into a single transaction.

.".  When you see one dot in Transaction/sec graph there will be a 10 dots in HITs/sec Graph.

the hits per second is always per second where as throughput in per minute and sometimes in per second

In case of throughput; the higher or the better. This means that your server is capable of successfully executing that many number of requests per unit of time.

In case of throughput; the Lower the difference between throughput and hits per second (in same unit of time) the better for your system. If the difference is high that means that your server is not performing well enough.

In short hits per second is the total load on system and throughput is part of that load going successfully and the difference is the failed requests.

Sunday, January 30, 2022

Capacity Planning

Introduction
Capacity planning can help in answering some of the following –
  • What is the maximum load level that the system can handle?
  • What would the average response time, throughput, and CPU utilization be for a particular workload?
  • How much resources (servers, CPUs, memory) would be required to meet the Service Level Agreements (SLAs)?
  • Which components of the system affect performance the most? Are they potential bottlenecks?
What Is Capacity?
Capacity term can be used in multiple contexts, but at high level, it can be understood as
  • Number of transactions/users that can be supported by available resources during peak time of the day.
  • CPU utilization, memory utilization, and transaction response time are of interest here.
  • When capacity numbers do not meet the expectations, there are two options:
    1. Optimize application architecture and code.
    2. Add more resources.
      • Of course, infrastructure architecture needs to support this.
What Is Capacity Planning?
Capacity Planning is an important part of IT Management. It helps in identifying what kind of hardware/software and when it is required, and when, to meet the business needs. A capacity plan is important input to the IT budget process - it helps in allocating the appropriate budget to meet the capacity requirements

Without a capacity plan, organizations are either grossly under-prepared or over-prepared. Capacity planning is the process of determining the production capacity needed by an organization to meet changing demands for its products. A discrepancy between the capacity of an organization and the demands of its customers results in inefficiency, either in under-utilized resources or unfulfilled customers.

The goal of capacity planning is to minimize this discrepancy. Capacity can be increased through introducing new techniques, equipment, and materials, increasing the number of workers or machines, increasing the number of shifts, or acquiring additional production facilities.

Approaches to Capacity Planning
Various techniques and approaches are used by practitioners to do capacity planning. These vary in terms of efforts required/accuracy levels and also the phase in the development cycle, when the capacity planning is done.

Approach 1: Make an Educated Guess
  • Rely on intuition, expert opinions, past experience, ad hoc procedures and general rules of thumb.
  • PROS: Quick, easy and cheap.
  • CONS: Very inaccurate and risky
Approach 2: Generate Load and Measure Performance
  • Use load-testing tools that generate artificial workloads and measure performance.
  • PROS: Provides accurate and realistic data. Could help to identify bottlenecks and fine-tune system prior to production.
  • CONS: Extremely expensive and time-consuming. Assumes that the system is available for testing.
Approach 3: Build a Performance Model of the System
  • Build and analyze performance models which capture the performance and scalability characteristics of the system.
  • PROS: Often much cheaper and quicker than load-testing. Could be applied during early phases (arch/design).
  • CONS: Extremely complex. Accuracy depends on how representative models are.
Capacity Planning Process
  • Determine service level requirements
    1. From a capacity planning perspective, a computer system processes workloads and delivers service to users.
    2. During the first step in the capacity planning process, these workloads must be defined and a definition of satisfactory service must be created.
    3. A workload is a logical classification of work performed on a computer system. If you consider all the work performed on your systems as pie, a workload can be thought of as some piece of that pie. Workloads can be classified by a wide variety of criteria.
    4. Who is doing the work (particular user or department).
    5. What type of work is being done (order entry, financial reporting).
    6. How the work is being done (online inquiries, batch database backups).
  • Determine the unit of work
    1. What "transaction" really means.
    2. Can vary from an OLTP application to a batch system.
    3. "Business Transaction" vs "Technical Transaction."
  • Establish service levels
    1. A service level agreement is an agreement between the service provider and service consumer that defines acceptable service.
    2. The service level agreement is often defined from the user’s perspective, typically in terms of response time or throughput.
    3. Using workloads often aids in the process of developing service level agreements, because workloads can be used to measure system performance in ways that make sense to clients/users.
    4. If you want to base your service level requirements on present actual service levels, then you may want to analyze your current capacity before setting your service levels.
  • Analyze current capacity. Note that these steps are generally done for an existing system during load testing phase. but similar steps can be done using APM data for a live system or using performance modeling for a system which is still in early phases of development life cycle.
    1. First, compare the measurements of any items referenced in service level agreements with their objectives. This provides the basic indication of whether the system has adequate capacity.
    2. Next, check the usage of the various resources of the system (CPU, memory, and I/O devices). This analysis identifies highly used resources that may prove problematic now or in the future.
    3. Look at the resource utilization for each workload. Ascertain which workloads are the major users of each resource. This helps narrow your attention to only the workloads that are making the greatest demands on system resources.
    4. Determine where each workload is spending its time by analyzing the components of response time, allowing you to determine which system resources are responsible for the greatest portion of the response time for each workload.
  • Plan for the future
    1. Determine future processing requirements
    2. Systems may be satisfying service levels now, but will they be able to do that while at the same time meeting future organizational needs?
    3. Future processing requirements can come from a variety of sources. Input from management may include:
    • Expected growth in the business, Requirements for implementing new applications.
    • Planned acquisitions, IT budget limitations.
Problems in the Capacity Planning Process
  • No standard technology.
  • No standard workload.
  • Forecasting future applications/technologies is difficult.
  • Each vendor has their own benchmarks.
  • Distributed environments make modeling even more complex.
Common Mistakes in the Capacity Planning Process
  • Wrong workload.
  • Startup /shutdown time is generally ignored.
  • Monitoring overheads are ignored.
  • Too much data/too little analysis.

Friday, January 28, 2022

Standard Deviation (SD)

Standard Deviation is a key metric in performance test result analysis which is related to the stability of the application. 
Definition:
The Standard Deviation is a measure of how response time is spread out around the Mean. Simply say, the smaller the Standard Deviation, the more consistent the response time.

Importance of Standard Deviation in Performance Testing
Standard Deviation in your test tells whether the response time of a particular transaction is consistent throughout the test or not? The smaller the Standard Deviation, the more consistent transaction response time and you will be more confident about particular page/request. Delivering a consistent experience to the end-user is just as important as delivering a fast and responsive experience. Let’s take an example:

Transaction Name:        RT          RT        RT        RT        RT        Avg    SD     90th %ile
                                      (I1)            (I2)        (I3)    (I4)        (I5)
Login                         4            6            3            4            8        5        2            6
Search                         3            2            15           1           4        5        5.7        4
Logout                         5            5            6            4            5        5        0.7        5
                    where:
RT         = Response Time
I            = Iteration
Avg       = Average Response Time
SD        = Standard Deviation

In the above example:
  • Averages for all the transactions are the same. You cannot say the test results are good on the basis of average response time because averages are considered useless in Performance testing.
  • The 90th percentile of “Search” transaction is better than the other two, but you can see I3 has 15 seconds response time. It is true we do consider percentile value as an important metric, but not alone. You also need to check how much response time is deviating.
  • “Logout” transaction having lowest Standard Deviation (0.7) it shows response times are more consistent than other two and it is true we can see very less deviation in “Logout” response time 5, 5, 6, 4, 5. Also, its 90th percentile is 5.
  • So, we got our best performer (Logout) and need to investigate the other two requests (Login and Search) for tuning purpose.
Calculation of Standard Deviation:
how Standard Deviation is calculated because as a performance tester you will be looking for a tool that calculates quick and correct Standard Deviation and save your time.     

Standard Deviation calculation steps:
  1. Calculate the Mean (the simple average of the numbers)
  2. Subtract the Mean from each number and square the result
  3. Add up all the values then divide by N-1
  4. Take the square root of that. It’s your Standard Deviation
Illustration of Search Transaction response time:

Step 1:     Mean = (3 + 2 + 15 + 1 + 4)/5 = 5

Step 2:    (3-5)2  = 22 = 4;
                (2-5)2  = 32 = 9;
                (15-5)2  = 102 =100;
                (1-5)2  = 42 =16;
                (4-5)2  = 12 =1;

Step 3:    (4 + 9 + 100 + 16 + 1)/4 = 32.5

Step 4:      √32.5 = 5.7

Qus :- SD : 30 sec and Mean Response Time is 40 Sec.
Ans :  Here A transaction may have calculated Mean Response Time of 40 Sec  but SD of 30 Sec. This means that end user has High Chances of Response Time as Low as 25 sec and High as 55 Sec for same activity.

String Manipulation Function

String Manipulation Functions

String Manipulation functions allow you to manipulate or compare strings. These functions begin with the str prefix. Expand the category to view a list of the available functions.
Click one of the following functions for more information:

Function Name
Description
strcat    Concatenates two strings.
strchr   Returns the pointer to the first occurrence of a character in a string.
strcmp  Compares two strings to determine the alphabetic order.
strcpy   Copies one string to another.
strdup   Duplicates a string.
stricmp  Performs a case-insensitive comparison of two strings.
strlen    Returns the length of a string.
strlwr   Converts a string to lower case.
strncat   Concatenates n characters from one string to another.
strncmp   Compares the first n characters of two strings.
strncpy    Copies the first n characters of one string to another.
strnicmp   Performs a case-insensitive comparison of n strings.
strrchr      Finds the last occurrence of a character in a string.
strset       Fills a string with a specific character.
strspn     Returns the length of the leading characters in a string that are contained in a specified string.
strstr      Returns the first occurrence of one string in another.
strtok     Returns a token from a string delimited by specified characters.
strupr    Converts a string to upper case.

For instance we consider the function STRSTR and see how we use it.....

sample text :- 6172171084 (Service - RPC) Status: Success, Effective Immediately

If you want to capture the above text and try to see if any telephone number & success word is appearing in that phrase, then we use STRSTR function.

Using web_reg_save_param("Confirmation") - Pull that phrase into parameter called confirmation and then use that to validate if mobile number and success message are coming in the server response.
strstr
char *strstr( const char *string1, const char *string2);Returns the first occurrence of one string in another.

string1
The string that is searched.
string2
The string that is searched for in the first string.
strstr returns the first occurrence of one string in another

This is how we do it..........

// If the success message is not displayed, fail the transaction and exit iteration
        if (strstr(lr_eval_string("{Confirmation}"),"Success") < 1)
        {
            lr_error_message("***** Success Message not displayed ******");
            lr_end_transaction("X_RPC_14_SubmitOrder", LR_FAIL);
            lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_FAIL);
        }

        // Dynamic Validation for mobile number
        if (strstr(lr_eval_string("{Confirmation}"), lr_eval_string("{mobile}")) == 0)
        {
            lr_error_message("***** Dynamic Validation Failed for mobile number*****");
            lr_end_transaction("X_RPC_14_SubmitOrder", LR_FAIL);
            lr_exit(LR_EXIT_ITERATION_AND_CONTINUE, LR_FAIL);
        }

Example 1
This example uses strstr to search for the word "dog" in the string, str.
After strstr returns the address, position, the code then calculates the word's place in str by subtracting the address of the start of the string from position. This is the offset of the word "dog", in bytes.
    int offset;
    char * position;
    char * str = "The quick brown dog jumps over the lazy fox";
    char * search_str = "dog";
    position = (char *)strstr(str, search_str);
    // strstr has returned the address. Now calculate * the offset from the beginning of str
    offset = (int)(position - str + 1);
    lr_output_message ("The string \"%s\" was found at position %d", search_str, offset);
Output:
Action.c(14): The string "dog" was found at position 17

Example 2
The next example shows how strstr can be used to parse file name suffixes. The code checks the equality of the following two pointers:
The pointer returned by strstr after searching for the substring is either null on failure, or the address of the first character of the file suffix on success. Adding 4 moves the pointer to the end of the string.
The start of the string (path) plus its length, len. This is also the end of the string.
If these 2 pointers are equal than strstr has found the file suffix. If not, strstr has returned null.
    char * path = "c:\\tmp\\xxx\\foo.ocx";
    int len = strlen(path), filetype;
    // Check the suffix of the file name to determine its type
    if ((char *)(strstr(path, ".dll") + 4) == (path + len))
        filetype = 1;
    else if ((char *)(strstr(path, ".exe") + 4) == (path + len))
        filetype = 2;
    else if ((char *)(strstr(path, ".tlb") + 4) == (path + len))
        filetype = 3;
    else if ((char *)(strstr(path, ".ocx") + 4) == (path + len))
        filetype = 4;
    else
        filetype = 5;
    lr_output_message ("type = %d", filetype);

Output:
Action.c(18): type = 4

Wednesday, January 26, 2022

Interview Questions

Capgemini
+++++++++
Differences between request and hit:
            User action is a request.
            Successful request is a hit.
            Note: One request may contains multiple hits.
On which protocol do you work? web/html/java
Have you worked on client server application? 
What is the difference between lr_save_string and lr_eval_string with  Eg :- lr_save_string :- function assigns the specified null-terminated string to a parameter.  lr_eval_string :- Replace all occurance of the parameter with currentvalue.
What are different types of function do you used in the script? general vuser specific functions,protocl specific functions, userdefined functions.
Did you prepare performance test plan? 
Tell me about performance test plan contents?
What is difference between http and https?
What is the difference between Get and Post request?
While testing will you enable/disable the cache?
Who will take the decision to enable/disable the cache during testing?
What are the things you take care in runtime settings? pacing, think time, logs, multi threading, rendozvous point, Transaction.
How do you analysis that exactly network issues in a load testing? using network monitor.ans :- Pocket Loss, Latency, Bandwidth
**********************
Wipro
Discover
  a)What type technologies appl is build.
Planning
Design
Execute
Analysis
Components of LR?
Run time setting? ans :- General, Data Format Extensions, Browser, Network, Internet
Different types of recording modes? html, url
On what type of protocols do you worked? web and html
Difference between web and web service protocols?
What do you mean by load testing and stress testing?
What is correlation?
Have you done any correlation? Write the function?
Tell me the attributes other than LB and RB?
What is parametrization? Different options of parametrization?
When you are running the script in vugen you didn't find any errors, but while you are testing you came across some errors. What will be the problem?What is your approach?
Did you use web_set functions? web_set_user(), web_set_option(), web_set_proxy_bypass(), web_set_certificate(), web_set_max_html_param_len(), web_set_socket_option(), web_set_secure_proxy(), web_set_max_retries().
difference between client side response and server side response ?
what is mean by blocks
if we run the application manually the Response time taken 3sec but the same scenario ran in loadrunner tool the Response Time is 7 sec why?
The boundary length is dynamically hanged in correlation, how to do the correlation for this ?
How to distribute the 1000 data for 5 scripts ? ans : by using blocks.
we are passing 10 values by using scripts which are 5 values are valid values and 5 are invalid values. how to split the data and how to differentiate the data and print in two files separately.
*******************************
Deloitte
What is the testing process?
Tell me the SDLC model do you follow in project?
When you will start performance testing? after completion of GUI testing
What types of protocols you have used in your project?
How do you identify the protocols for your project? How do you select suppose protocol advisor tool identified 2 r more protocols?
What is your involvement in performance testing?
*******************
CSC

how to prepare a userdefined functions? where it is placed ?
*******************
Virtusa

File operations
Difference between html and url recording
Tell me about some critical Issues in your career
Difference between Transaction mix and User mix
File Extension
Where we can find the snapshot on Errors
Explain about Client side metrics and Server side metrics
How much maximum memory is possible to allocate the  processor (CPU)
Site scope 9.0
Oracle server metrics and AWR reports
What kind of reports do you send to client
where we can see the Raw data in Analysis graph
Webpage Diagnostics
Code profiler for .Net Application
Fixed no of users load -Load Test
Load is not given -Stress Test
Dynamic Workload changes -Spike Test
To check the Stability of the application -Soak Test or Endurance Test
Why we use Auto-collateoption
Why we go for Manual-collate and What is Manual-collate
What is the reason for we did not get the Results file
How you test your Application with Firewall and how you handle the Issue
Parameterization and what is use of Group parameter
If the client is not define any Vuser load and he defined only Hits/sec for particular transactions so, what type of procedure you follow and how you convey the client
Suddenly the Response Time is increased how will you identify the Issue without viewing the client and server side graphs
******************

CTS
1.What is the Performance testing process in your company?
2.What is correlation?
3.How will you correlate the dynamic values?
4.Write Correlation function?
5.How will you manually correlate the dynamic values?
6.What are different recording modes and difference between them?
7.Tell me about pacing?-Diff Options 
8.For doing the performace testing what are all things you required? Response time, cpu usage, memory usage
9.What is the Think time? Write the function?
10.What happens if we confiugre Think Time setting before creating script?
11.Tell me about LR components?
12.Where do you create scenario?
14.Difference between Load testing and stress testing?
15.What is your role in performance testing
----------
CTS Questions

1. How to gather the Requirements form Client
2. Explain Test plan
3. What is the Correlation and tell me detail about Arguments
5. How to upload the .csv file and are you sure the .csv file support to LR or not
6. What is Browser Emulation
7. What is Block size in Run time settings
8. What is the Step downloaded Time
9. What is difference between Ajax and Web(http/html)
10. What is the Automatic Transaction in LR
11. What is difference between Goal and Manual Scenario
12. Normally which Ramp-up and Steady state you follow in your project
13. While you are capturing the parameter for Correlation and  you don’t have Right    boundary what is Approach
14. What is Rendezvous point and which Test it Appears
15. Where we can give the GC (Garbage Collector) Setting in Weblogic Server
16. Explain detail about Check points
17. How you validate the script and how you debug the script
18. Tell me about Graph Settings
19. What is the default contents in filters option
20. Why we go for Merging concept
21. How you configure the metrics in your Web server and Database server
22. How you connect the Web servers and Database servers and whom will configure the metrics in your servers
------------------
MY CTS Interview Questions
how to start the performance testing ?(how to check the performance testing)
how to get the requirements
how use the string function in script what are they? ans :- String manipulation Functions and string evaluation functions
what are the things ur analyzed in application?
what are the enhancements u r done in scripting? ans :- Adding functions, structure, control flow, rendezvous points, and transaction points can enhance basic scripts.
there is a username and password how to get the parameters?
what are the protocols u r using and which version of loadrunner u r using ?
While running the VUGen script, Iam't able to see the browser. How can I see that, and what term is used to call that browser?VuGen > Tools > Options > Scripting > Replay

MY CTS Interview Questions
Tell me some server side counters ?
What are the challenges u r facing in scripting side?
What are scenarios u r prepared?
Difference between Throughput and Responsetime ?

MY CTS Interview Questions
1. what are the enhancements in VuGen Scripts? Ans :- Adding functions, structure, control flow, rendezvous points, and transaction points can enhance basic scripts.
2. what are the different counters you monitered?
3. tell me about think time?
4. what is sitescope?
5. what are the different counters for web server?
6. what is the function of correlation? ans :- Web_reg_save_param();
8. what is the function used for saving the dynamic value more than 256? ans :- web_set_max_html_param_len
10. Tell about checkpoints functions? ans :- Web_reg_find(), web_find(), Web_image_check().

MY CTS Interview Questions
what are the parameter we are analysed ?(u r using sitescope)
how to get the parameters for username and password?
what is the correlation function and what are the attributes for that function ? ans:- ParamName, LB, RB, CONVERT, ORD, RelFrameid, savelen, Saveas, search, NotFound.
what is the ORD attribute in web_reg_save_param() function ? ans :- ORD means Ordinal it means it occurance no of match in the list. by default ORD=1. if we specify the ORD=All it save the parameter value in the array.
what are the runtime settings ? there are different categories in this settings :- general, browser, network protocol, internet, data format extentions.
which monitroing tool your using ?
how to caluculate the users ? Number of virtual users = Number of users per hour * Number of requests per user * 3600 / [Length of user scenario (in sec)]
how to record the application ?
how to increase the users more than fixed users ? Ans : using Ramp Up
what is u r roles and responsibilities ?
What is your day to day activities as a Performance Test Engineer
how to correlate the script ?
how many users your run in your application ?
how many scripts your preapred in prodcuct ?
If web server, database and Network are all fine where could be the problem?
what you think if we have Responsetime is more ?
CPU Usage Exceeding more than 80% ? what might be the issue here.

My CTS Interview Questions
what is performance testing?
how to planning performance testing
what items in test case?
what are the components are Loadrunner ?
what are the requirements gahtering from client?
what is the entry criteria and exit criteria of application ?
if u r doing script for a project, after some time client given some extra resources. this time how you find out which one is needed to club with previous project and which one is not.
after getting requirements from client, what u r doing ? (means directly scripting or any else)
there is facebook application how you know which one is most important to prepare a script ?eg:- there is a uplode, like, login, logout, comment, etc.. how you know which one is acceptable for checking performance test ?
what is endurance testing?
what is correlation function and what are the attributes are there and what is Ord attribute?
how to do the correlation if there is no LB and RB values?
what are items monitoring in webapplication?
what are the functions u r using loadruuner(tool functions)
difference between HTML and URL recording mode ?
difference between web_reg_find and web_find ?
how many ways to find out the dynamic values ?
ramp up and steading state and again rampup and steading state which scheduling mode this one? and how?
what are the scenario types in controller and difference between them?
difference between loadrunner 11.5 and 12.2 ?
what are the values we need to crrelate values ?
How many areas we can do the correlation ?
How could you measures Https/Sec ? cts
what is the function to execute batch jobs? cts
How to prepare test data to use in Load runner. cts
Why is Load Runner called as State of Art Tool. cts
What is The Main Difference Between Http and Https CTS
Is it possible to play back screen using loadrunner? cts
What is the function for Nested Transaction in Load Runner? cts
in real time what are the functions used?and whats its usage? CTS
can u name some of the important functions in LoadRunner Scripting? CTS
How Load Runner records the script? I mean How it generate the script? CTS
ingenaral realtime prjoects how much load and bottleneck will take part in a project? tcs
****************
IBM my self
----------------
what are the roles and responsibilities ?
what is the throughput?
whta is the endurance testing ?
what are the counters in memory ?
difference between load testing and performance testing ?
what are the monitors ?
difference between throughput and Response time ?
****************
Napier my self
----------------
Tellme about your project ?
Difference between Client side metrics and server metrics ?
Difference between VUser run as a Thread and VUser run asa Process ?
What are the validation in LoadRunner?
Difference between Sequential, Random and Unique ?
Difference between lr_eval_string and lr_save_string?
What is atoi and atol and itoa ? 
Difference between Pacing and Think TIme?
How to calculate number of vusers ?
How to debug the script ?
How to get the requirement from the client ?
Difference between Real world Schedule & Basic Schedule and Group Mode & Scenario Mode ?
What are the problem u had faced in loadrunner ?
****************
Polaries
----------
1. what is the performance life cycle?
2. how to planning load test?
3. what is testing objectives? is it scenario objectives r application objectives?
5. how to find cpu usage?
6. what is correlation?
8. difference between manual and automatic correlation ?

Synechron
1.What is the Performance testing process in your company?
2.Tell me the Runtime setting option in LR?
5.In LR you have 3 recoding options(GUI,HTML,URL)what is the difference and how will you say that it is usefull for app?
8.Scenario - For 200 user, you have 10 data inputs what are all option you will select in parametrization?
9.In LR 9.5, you have protocol adviser and when you scan your application(eg- Google)and tool came up with Web(html/http),Ajax,Web services.Which protocol did you select? why you select that protocol (eg -Web (html/http)?
10.What is the archeiture of your application?
11.What is the hardware configuration of ur LG?
12.Different types of Scenarios?
13.What are all setting you do in Controller?
14.After running a scenario what you will be absorving on the scenario?
15.Scenario - 50 Vusers, 1 vuser ramp ups every 1min, ramp down simultaneosly and duration is 10 mins.how much time it takes to run the scenario? 
Ans -50 Vusers takes 49 mins to rampup and runs for 10 mins and ramp down simultaneosly. So total time is 59 mins.
Rule - No. of Vusers(No of vusers x Rampup time+) + Duration of running + Ramp downtime= Total time taken.
16.What is a performance testing?
17.What do you mean by stress testing and load testing?
18.Tell me contents for Performance Testing test plan?
19.Waht are all things you consider after executing a scenario?
*******************
ITC Infotech
1.Tell me the process of load testing in your project?
2.Different types of recording options in Load runner? ans :- there are different types of recording options we are having. General, Data Format Extensions, network, HTTP Properties.
3.Where you can select this recording options in Load runner ?
4.Are you done any correlation in your script?
5.How will you do correlate the dynamic values?
6.Attributes of Correlations function?
7.Where will you insert the correlation function before or after?
8.You have done correlation and how do you confirm that it is working fine?
9.After doing correlation in the script and you still getting the errors, what will be the problem?
************
Mphasis Interview Questions 
-------------------------
VUGEN:
------------------
1). How can u handle dynamic values?
2). What is difference b/w pacing and think time?
3). If the left boundary keep changing how can u handle?

CONTROLLER:
--------------------------
1). What is Rendezvous point?
2). Diff b/w Real world and basic model?
3). What are the goals in goal-oriented scenario?

ANALYSIS:
------------------------------
3). What are memory counters so far u used?
4). Which monitoring tools have u used in current project?
5). What are the roles and responsibilities in ur project?
6). how can u bench mark ur application?
------------------------------------------
My Mphasis Interview Questions
------------------------------
1. what are the protocols u r using ?
2. how to connect Load Generators from controller ?
3. how to get the requirements from client ?
4. what type of errors ur getting from vugen ?
6. how to prepare the script based on the client requirements ?
7. 
2nd round
------------
Difference between web_reg_save_param and web_reg_save_param_ex ?
what is the difference between correlation and parameterization ?
how to differentiate string and integers using string function ?
what are the client side metrics and server side metrics ?
************
D&B
--------
load testing Process
what is correlation?difference between manual & automatic correlation?
what is correlation function u r using?
How do you find out where co-relation is required? Give few example from your projects?
How do you write user-defined functions in LR? Give me few functions you wrote in your previous project?
What all run-time settings we have
how to find webserver related issues
how to find out database related issues
What is Rendezvous point?
difference between Response time and Throughput? Ans :- Throughput :- Number of requests handled per unit of time (e.g. Requests per second)
If web server, database and Network are all fine where could be the problem?
what is your system configuration ?
difference between correlate graph and overlay grapgh?
Difference between performance testing and load testing? and When do you do load Testing and performance Testing?
What Component of LoadRunner would you use to play Back the script in multi user mode?
How do you debug a LoadRunner script?
vusers are increased
************
Datum
--------
what is correlation function ? 
write correlation function and its properties? 
where we placed correlation function ?(need to show in system itself practicle)
what is difference between web_reg_find and web_find function ?
what is scenario and types of scenarios and differene between them ?
what are counters u r monitored ?
what are the web service monitores?
You have created several Auto Correlation rules. A new tester on your team is preparing to record a group of scripts on the same application on his workstation. What can you do to provide the tester with correlation rules .?
what are the webservices ur working ?
what webservice functions u r using ?
what is parameterization? what are the parameter types? difference between xml parameter and file type parameter ?
what are the loadtesting objectives ? Mesuring End User Resp Time, Defining the h/w config, checking reliablity, s/w & h/w upgradation, eveluting new products, mesuring system capacity, identify the bottlenecks.
explain scenario schedule?
Difference between lr_output_message and lr_error_message ?
******************
CGI
---------------------------
Difference between Strong and weak Reference Objects ?
Why are we using Finalize method? why we are not using this method in latest version of java ?
what will happen if we increase the GC Pause time ?
--------------------------
HP Diagnostics IQ
-----------------------
What is HP Diagnostics?
What are the advantages of HP Diagnostics?
How to integrate HP Diagnostics with HP Loadrunner and HP Performance Center?
Have you ever installed HP diagnostic?
Have you worked on Java and .net profilers?
What are the advantages of profiling?
*****************
Sitescope IQ
----------------
What is Sitescope?
Sitescope is an agent less monitoring tool to monitor availability and performance of different servers and applications.
What is the default port number of Sitescope?
SiteScope default port number is 8080 or 80.
Can you tell me how to configure Unix operating system in Sitescope?
Can you tell me how to configure Windows Operating System in Sitescope?
Can you tell me how to configure alerts in Sitescope?
How do you install the license in SiteScope?
How many points of license is required to monitor CPU in Linux system?
What are the monitors you have monitored with Sitescope?
You can say different operating system resources CPU, Memory, Network and different application servers Weblogic, Websphere and database servers Oracle, My SQL etc.
**************************
JVM Questions :- 
1. Why we need to write query's already Dev team is complete the code ?
2. 8 hours Execution How many snap shots we will take it ?
3. if we run the scenario in multiple DB's here the one DB having issue compare to other DB's ? how to check it ?
4. How to execute AWR report ? How you generate AWR report ?
5. How to conclude the Application is stable ?
6. How can we fix Performance for DB ?
7. How to optimize the Data Access path ?
8. We have Production & Staging Environment. but we are getting issues in staging environment and not getting Production Environment ?
9. What are the possible causes of Out of Memory ?
10. How to decide the Heap settings ?
11. For every JVM how many Heap areas do we have ? ans : only one
12. When Heap Area is created ? How many Heap areas are there ?
13. What data is saved in Heap ?
14. Load balancer Algorithms ?
15. Differenece between One JVM and Multiple JVM ?
16. When you get Thread Dump ?
17. Why we need Thread Dump ?
18. What is hotspot of Heap Structure ?
19. Difference between Method Area and Stack Area ?
20. What are the Types of References ?
21 . What is GC ? Why we destroy the Unused Objects ?
22 . What is Memory Leak ?
23. When GC cycles excessive happen ?
24. Where we see multiple GC Cycles ? ans : Profiling Tools.
25. How do you define Heap infrastructure settings ?
26. How CPU works ? Disk Works ? network works ?
27. Where we set the all parameters(XMS, XMX, XMN,...) ? ans : Webserver tomcat, weblogic 
28. What is the Max of users for Thread ?
29. On what basis do we set the Heap size ?
30. How do you define Min & Max Heap size ?
31. What is practical longer Heap ?
32. Can we give Min & Max Heap size is same ?
33. What is Min & Max size on windows on Linux Server ?
34. Where we get the Outofmemory Exception in GC ?
35. How the objects are created frequently ?
36. What is the use of Meta space?
37. Can we change heap settings during load setting ?
38. When we have Longer Heap and When we have Smaller Heap ?
39. What are the Memory areas in Heap ? ans : Younger and Older generations.
40. Why do we have two survivor spaces in Minor GC ?
41. What is the value to set in the Threshold ?
42. How GC is work ?
43. Why are you using G1 Gc collector and Why are using ....
44. How do you know the First user is failed ?
45. If we taken AWR report between 10 to 11 AM but suddenly DB is down waht will happen ?
46. What are the DB problems ?
47. Buffer cache will high what will happen ?
48. How do you fix Performance issues in DB ?
49. What is ADDM Report  ?
50. What is Parsor ?
51. Difference between Page Load Time and Page Rendering Time ?
52. Ho do you analyze the test as Performance Tester either start with Serverside first then client side or start with client side then server side or is it doing parallelly ? how ?
53. What type of Content do we have in clientside Performance testing ?
If the issue is fixed in client side and there is no issues is server side also, we reduced the Response Time from 11 Sec to 9 sec then what we need to do to improve Response time ?
54. XMS and XMX values are 4GB and 8GB, now what ever the Heapdump i have taken which is 11 GB why is it so ?
55. what is the Value addin come up with your lost test environment ?
56. Which environment we have to use for client side Performance testing ?
57. What is HAR file ?
58. Every SQL query is taking more than 2 sec ? why ?
59. How to get the GC Result at exact time in Heap Dump & Thread Dump ?
60. Ho to compare the graphs as existing result and latest result ?
61. How to check transitional flow in Dynatrace ?
62. How much time GC is taken to remove the unreferenced Objects ? 
63. If a production Webapp is not responding, how can you figure out what is wrong ?
64. When debugging a java application how would you identify major and Minor Grabage Collection?
65. When conducting a java Code review, What are the common Performance anti-patterens that you lookout for ?
66. What can you do to imrove query performane ?
67. In RDBMS What are the common " performance Killer" Quaries ?
68. Why does Physical Proximity to data matter ?
69. In webapplication what is CDN ? what are the benifits ?
70. What are the two main types of data Caches? ans : Private and Shared
71. What is classic problems involved with using Caches ?
72. What is TTL of Cache entry ? When whould we use ?
73. Between a Webserver and Web Browser responding with same data, how many layers of caching might exist ?
ans : Browser Cache, Proxy Cache, File Cache, Shared data Cache, DB query Cache.
74. Rahter then requesting the same full response each time, how would a HTTP Client check to see if the previous response for the same request had updated on the HTTP server ?
Loadrunner Process (Load Testing Process):-
Planning the test :-
Creating VUserScript :-
Creating scenario :-
Running the scenario :-
Monitoring the scenario :-
analyse the Result :-

 1: Planning the test :- Here, we develop a clearly defined test plan to ensure the test scenarios we develop will accomplish load-testing objectives. 
 2: Creating Vusers :- Here, we create Vuser scripts that contain tasks performed by each Vuser, tasks performed by Vusers as a whole, and tasks measured as transactions. 
 3: Creating the scenario :- A scenario describes the events that occur during a testing session. 
It includes a list of machines, scripts, and Vusers that run during the scenario.
We create scenarios using LoadRunner Controller.
We can create manual scenarios as well as goal-oriented scenarios. 
In manual scenarios, we define the number of Vusers, the LG machines, and percentage of Vusers to be assigned to each script. 
For web tests, we may create a goal-oriented scenario where we define the goal that our test has to achieve. 
LoadRunner automatically builds a scenario for us. 
 4: Running the scenario :-We emulate load on the server by instructing multiple Vusers to perform tasks simultaneously.
Before the testing, we set the scenario configuration and scheduling. 
We can run the entire scenario, Vuser groups, or individual Vusers. 
 5: Monitoring the scenario :-We monitor scenario execution using the LoadRunner online runtime, transaction, system resource, Web resource, Web server resource, Web app server resource, db server resource, n/w delay, streaming media resource, firewall server resource, ERP server resource, and Java performance monitors. 
 6: Analyzing test results :- During scenario execution, LoadRunner records the performance of the application under different loads.
We use LoadRunner graphs and reports to analyze the application performance.
******************
TEST STRATEGY CONTAINS :-
--------------------------
SCOPE AND OBJECTIVE :- The objective of the business and how much testing scope is there is defined under test strategy.
BUSINESS ISSUES :- How much is the budget of the project, how much time is required for testing, how much resources are needed etc. 
       are the part of business issues which needs to be considered before the actual testing starts.
TESTING APPROACH :- What type of testing is needed (performance, load, stress, functional etc.) and whether the testing is only manual or automation or both are some of the crucial points which defines the testing approach.
TEST DELIVERABLES :- What are the documents required from the testing team, how they would keep the record of the testing cycles etc. will be included here.
DEFECT TRACKING APPROACH :- Which tool will be used for tracking the defects and how will the testing team communicate with the development team and how the flow would go for defects are decided at this point in test strategy.
TRAINING :- If there is some complex or new tool is introduced in the business then it is helpful if the team members are given proper training. 
What type of training and the responsible person to conduct such training is defined here.
AUTOMATION :- If the project or business needs automation testing then the script language, tool used, reporting and code maintained is planned in test strategy.
RISKS :- Nobody can anticipate all the risks beforehand but obvious risks can be avoided and also solution (if risk occur) can be included in the document for future help.
***********************
Inscope and Out of scope :-
---------------------------
Objectives of test Plan :-
Scope :- what are the features to tested and what are the features are not to tested. similarly what type of testing is applicable and what type of testing is not applicable.
Test Approach :- 
Resource :- 
schedule :- 
Types of testing that are in scope:
The QA team will test the following types of functionalities:
• Smoke Testing
• Functionality Testing
• Regression Testing
• System Testing
• End-to-end Testing
• Exploratory Testing
3.2 Out of Scope for testing
The QA team will not test the features/functions which are not listed in the Features to be tested tale, of the CGS.
3.2.1 Types of testing that are out of scope: [Need to add Types of testing that will not be performed by QA, if any]. For instance:
• Security Testing
• Performance Testing
• Automation
Failure / Recovery / Backup Testing are out of scope for QA.
##################
Transaction Response Time :- To see how well the app performed under load, you need to look at the transaction response time and determine whether the transaction was within an acceptable limit for the customer.
*****************
Suppose in the middle of Performance testing phase, you get a new requirement and starting from development to functional testing have to implement the new requirement.what type of changes you will incorporate in PT and how you will plan to test the req.
Ans :- I would take the requirements change impact report document and discuss with the business analyst and devlopers to identify the impact of the req change or new req on the application and will identify the areas that would be impacted.
And will add this to my perf test plan and then carry out my performance testing activites once I receive the regression report after the req is implemented in the app.
*****************
Replay Log:-

It displays a textual summary of the script replay.
It indicates whether a request was successfully sent and associated response was successfully received. 
It displays the value of the parameters that were saved and substituted in the script.
If an error was received for a particular request then it indicates the type of the error and some suggestions if application to resolve the same.
It indicates the start and end of transactions inserted in the script.

Recording Log:-
It gives information about the communication that happened between the client and the server while recording the script.

Generation Log:-
It gives the end to end details of the generated script.
The recording settings, the request header, request body, response header, response body, transaction event details, etc. are displayed in the generation log.
It is very useful in identifying requests for correlations.

Correlation Results:-
This tab displays the differences between recorded and replay snapshots.
This is helpful in deciding which values to correlate when you want to perform automatic correlation.
Auto correlation is not always advisable, manually correlating yields best results and helps in developing a stable script.

Run time data:-
You can track the script information like iteration, action and line number it’s executing.
The Parameters section under this displays the value that is being substituted based on their update modes for all the parameters defined in this script.
#################
Load Generator :-
-----------------
LG are are used to simulate actual users while running the load tests. 
The controller contact the LGs and sends the scripts on the LGs to simulate the vusers.

It is very important to have a few LGs to support the load. 
It is equally important to monitor the LGs during the performance test as it is important to monitor the IT architecture that is being load tested.

In our scenario, the LGs were running out of the Physical memory and hence, the response time was getting impacted.
You can configure site scope to monitor all the LGs in load controller itself.

Watch for memory consumption on the LGs to make sure there is enough memory available for the vusers. 
CPU should not be a concern on these generators since there is no CPU intensive processing on these machines.

Can you please try pinging the LG machine from the controller.?


This scenario occurs because the communication between the Controller and LG machine happens through a software called as Agent.
Incase the Agent Service on the specified IP Address is not running, we would still be able to ping the machine, but cannot get it to act as a Load generator.

Loadrunner controller cannot connect to Load Generators?
Here are a few things to check.
1) All the Load Generators are in the same network as the controller.
2) Load Generator agent service is running on all the generators
3) Very important to make sure Windows Firewall is turned off. Agent service cannot start if windows firewall is on
4) Good practice to start the agent service/process as Administrator.
================
Common Performance Test Engineer Interview Questions
What is performance testing and why is it important?
What are some of the most common performance issues that can occur during software development?
What are some of the best practices for performance testing?
What tools are available to help with performance testing?
How can you determine what the acceptable levels of performance are for a given application?
What are some of the challenges that can be encountered when trying to improve performance?
What metrics should be used to measure performance?
How can you identify potential bottlenecks in an application?
What techniques can be used to optimize code for better performance?
Are there any industry standards for performance testing?
What are some common problems that can arise from poorly designed or executed performance tests?
How can you ensure that your performance tests are comprehensive and effective?
What are some tips for troubleshooting performance issues?
How can you prevent potential performance issues from occurring in the first place?
What is your experience with performance testing?

What are some of the most common performance issues that can occur during software development?
Example: “There are a number of potential performance issues that can occur during software development. Some of the most common include:

1. Poorly designed algorithms: Algorithms that are not well designed can be a major source of performance issues. Poorly designed algorithms can cause a software program to run slowly or use excessive memory.
2. Incorrect data structures: Data structures that are not optimal for the task at hand can lead to poor performance. For example, using an array to store a linked list can lead to excessive memory usage and slow access times.
3. inefficient code: Code that is not optimized for performance can be a major bottleneck. Inefficient code can cause a program to use excessive CPU time or memory.
4. Lack of caching: Caching is a technique that can be used to improve the performance of a software program. Without caching, data and instructions must be fetched from slow storage devices each time they are needed, which can lead to significant delays.
5. Poorly designed database queries: Database queries that are not well designed can be a major source of performance issues. Poorly designed queries can cause a program to run slowly or use excessive memory.”

What are some of the best practices for performance testing?
There are a few reasons an interviewer might ask this question:

1. To gauge the test engineer's understanding of performance testing concepts. It is important for performance testers to have a strong understanding of best practices, as this will ensure that they are able to design and carry out effective tests.
2. To assess the engineer's ability to apply these concepts in a real-world setting. Performance testing is not always a straightforward process, and being able to adapt best practices to the specific needs of a project is crucial.
3. To identify potential areas of improvement for the company's performance testing process. By understanding the best practices for performance testing, the interviewer can get an idea of where the company's current process may be falling short and make recommendations for improvement.

Example: “There are a number of best practices for performance testing, which include:

1. Defining clear performance goals and objectives upfront
2. Identifying the key metrics to be measured
3. designing an effective test plan
4. Using the right tools and technologies
5. Analyzing results and taking corrective action as needed”

What tools are available to help with performance testing?
One reason an interviewer might ask "What tools are available to help with performance testing?" to a performance test engineer is to gauge the engineer's knowledge of the subject. It is important to know what tools are available to help with performance testing because it can help determine which tool is best suited for a particular situation. Additionally, understanding the capabilities and limitations of different tools can help avoid potential problems during performance testing.

Example: “There are a number of tools available to help with performance testing, including:

-Load testing tools: These tools help simulate real-world user traffic and load on a system, in order to test its performance under stress. Popular load testing tools include Apache JMeter and Gatling.

-Performance monitoring tools: These tools provide visibility into the performance of a system, in order to identify bottlenecks and areas for improvement. Popular performance monitoring tools include New Relic and AppDynamics.

- profilers: These tools provide detailed information about the inner workings of a system, in order to identify areas that are causing performance issues. Popular profilers include Xdebug and XHProf.”

How can you determine what the acceptable levels of performance are for a given application?
There are a few reasons why an interviewer might ask this question to a performance test engineer. First, it is important for a performance test engineer to understand what the acceptable levels of performance are for a given application. This understanding allows the engineer to design tests that accurately reflect the real-world performance of the application. Second, this question allows the interviewer to gauge the engineer's understanding of performance testing concepts. Finally, this question gives the interviewer insight into the engineer's problem-solving abilities.

Example: “There are a few factors to consider when determining the acceptable levels of performance for an application. First, you need to identify the key performance indicators (KPIs) for the application. These KPIs could be things like response time, throughput, or error rate. Once you have identified the KPIs, you need to determine what values are acceptable for each KPI. This will vary depending on the specific application and business requirements. Once you have determined the acceptable values for each KPI, you need to establish performance targets. These targets should be based on the acceptable values for each KPI and should be achievable by the application under normal conditions.”

What are some of the challenges that can be encountered when trying to improve performance?
Some of the challenges that can be encountered when trying to improve performance are:

- Ensuring that all stakeholders are on board with the performance improvement initiative
- Identifying the key areas where performance needs to be improved
- designing effective performance improvement strategies
- Implementing the strategies and monitoring their effectiveness
- Making sure that the improvements are sustainable over the long term.

It is important to ask this question to a performance test engineer because they will have first-hand experience of what can go wrong when trying to improve performance. By understanding the challenges that can be encountered, the interviewer can get a better sense of whether the engineer is up to the task.

Example: “There are many potential challenges that can be encountered when trying to improve performance. Below are some of the more common ones:

1. Lack of clear goals and objectives - Without a clear understanding of what is trying to be achieved, it can be difficult to identify where improvements need to be made.
2. Lack of data - In order to identify areas of improvement, accurate and up-to-date data is essential. Without this, it can be difficult to make informed decisions.
3. Limited resources - Improvements often require additional resources such as time, money or manpower. If these are in short supply, it can make it difficult to implement changes.
4. Resistance to change - People can often be resistant to change, particularly if they are comfortable with the status quo. This can make it difficult to get buy-in for new ideas or approaches.
5. Complexity - Some systems or processes can be very complex, making it difficult to identify where improvements can be made. This can also make it hard to implement changes without causing unintended consequences.”

What metrics should be used to measure performance?
There are many reasons why an interviewer might ask this question to a performance test engineer. Some of the reasons could be to understand:

-What metrics the engineer uses to assess performance
-How the engineer uses those metrics to identify areas of improvement
-What tools or methods the engineer uses to collect performance data

It is important for the interviewer to understand how the engineer uses metrics to assess performance because it can give insight into the engineer's process and thought process. Additionally, it can help the interviewer understand what areas the engineer is most focused on when it comes to performance.

Example: “There are a variety of metrics that can be used to measure performance, depending on the specific goals and objectives. Some common metrics include response time, throughput, CPU utilization, and memory usage. 
Response time is the amount of time it takes for a request to be processed and a response to be returned. Throughput is the number of requests that can be processed per unit of time. 
CPU utilization is the percentage of the CPU that is being used. 
Memory usage is the amount of memory that is being used.”

How can you identify potential bottlenecks in an application?
The interviewee's understanding of how to identify potential performance issues in an application. A performance test engineer should be able to identify potential bottlenecks in an application by looking at the application's design and architecture. They should also be able to use performance testing tools to simulate load on the application and identify any bottlenecks that exist.

Example: “There are a few ways to identify potential bottlenecks in an application:

1. Use a profiler: A profiler is a tool that can be used to collect data about an application's performance, including information about how much time is spent in each method and which methods are called most frequently. This data can be used to identify areas of the code that may be potential bottlenecks.

2. Look at the application's design: The design of an application can provide clues about where bottlenecks might occur. For example, if an application has a lot of nested loops or complex algorithms, these could be potential areas of bottleneck.

3. Run the application under load: Running the application under load (i.e., with more users than it was designed for) can help to identify bottlenecks, since they will become more apparent when the system is under stress.”

What techniques can be used to optimize code for better performance?
There are many techniques that can be used to optimize code for better performance, and it is important for a Performance Test Engineer to be familiar with them in order to be able to identify potential areas for improvement. By optimizing code, a company can improve the speed and efficiency of its software products, which can lead to increased sales and improved customer satisfaction. Additionally, optimized code can help reduce the overall cost of ownership of a company's software products.

Example: “There are a number of techniques that can be used to optimize code for better performance:

1. Use the latest compiler versions and optimization settings.
2. Use performance-oriented programming techniques, such as loop unrolling and cache blocking.
3. Use data structures and algorithms that are designed for high performance.
4. Use assembly language or hand-coded optimization routines for critical sections of code.
5. Use a profiler to identify bottlenecks in the code and then optimize those sections.”

Are there any industry standards for performance testing?
There are many industry standards for performance testing, such as the Open Source Performance Testing Framework (OPTF), the Standard Performance Evaluation Corporation (SPEC), and the Transaction Processing Performance Council (TPC). These standards provide a way to compare the performance of different systems, and help ensure that performance testing is conducted in a fair and consistent manner.

The interviewer is likely asking this question to gauge the candidate's knowledge of performance testing standards and their importance. It is important for performance test engineers to be familiar with these standards so that they can properly design and conduct performance tests. Additionally, these standards can be used to benchmark the performance of systems under test, and to compare the results of different performance tests.

Example: “There are a few industry standards for performance testing, including the Open Source Performance Testing Methodology (OSPTM) and the Standard for Software Performance Testing (SSPT).”

What are some common problems that can arise from poorly designed or executed performance tests?
There are a number of potential problems that can arise from poorly designed or executed performance tests. Poorly designed tests can fail to identify potential performance issues, or can identify false positives that lead to unnecessary investigation and potential remediation efforts. Poorly executed tests can also produce inaccurate results, leading to incorrect conclusions about the system under test. Inaccurate performance test results can lead to incorrect decisions about system upgrades or capacity planning, which can ultimately have a negative impact on the business.

Example: “There are many potential problems that can arise from poorly designed or executed performance tests. Some common problems include:

1. Tests that are not representative of actual user behavior. If the test scenarios do not accurately reflect how users will actually use the system, the results of the test will not be accurate.
2. Tests that are not properly planned or executed. Poorly planned tests can result in inaccurate results, while poorly executed tests can miss critical issues.
3. Tests that are not properly monitored. Without proper monitoring, it is difficult to identify and diagnose performance issues.
4. Tests that are not properly analyzed. Without proper analysis, it is difficult to understand the root cause of performance issues and determine how to resolve them.”

How can you ensure that your performance tests are comprehensive and effective?
An interviewer would ask "How can you ensure that your performance tests are comprehensive and effective?" to a/an Performance Test Engineer to gauge the Engineer's understanding of how to design and implement effective performance tests. It is important to design comprehensive and effective performance tests in order to identify potential bottlenecks and performance issues in a system before it is deployed to production. By doing so, these issues can be addressed and resolved before they cause problems for users.

Example: “There are a few key things that you can do to ensure that your performance tests are comprehensive and effective:

1. Make sure to test all key functionality. This includes testing both positive and negative scenarios.
2. Use a variety of test data. This will help to ensure that your tests are representative of real-world usage.
3. Use multiple test environments. This will help to identify any potential environment-specific issues.
4. Use multiple test tools. This will help to identify any potential tool-specific issues.
5. Make sure to monitor all relevant metrics during testing. This will help you to identify any potential performance issues.”

What are some tips for troubleshooting performance issues?
An interviewer would ask this question to a Performance Test Engineer to gain insights into the engineer's troubleshooting process and performance analysis techniques. This is important because it allows the interviewer to gauge the engineer's ability to identify and resolve performance issues. Additionally, it allows the interviewer to identify any areas where the engineer may need improvement.

Example: “There are a few tips that can help troubleshoot performance issues:

1. Check the application logs for any errors or warnings that could be related to performance.
2. Use a profiler to identify which parts of the code are taking the longest to execute.
3. Use a performance monitoring tool to track key metrics such as CPU usage, memory usage, and network traffic.
4. Try to reproduce the issue in a test environment before making changes to the production environment.
5. Make small changes and then retest to see if the issue has been resolved.”

How can you prevent potential performance issues from occurring in the first place?
Performance issues can occur for a variety of reasons, ranging from incorrect configuration to poor code design. As a Performance Test Engineer, it is important to be able to identify potential performance issues and take steps to prevent them from occurring.

One way to prevent potential performance issues is to identify bottlenecks early on in the development process. This can be done through load testing and stress testing. Load testing simulates real-world usage scenarios to identify how the system will perform under normal conditions. Stress testing, on the other hand, pushes the system to its limits to identify any potential issues that may occur when the system is under heavy load.

Another way to prevent potential performance issues is to ensure that the system is properly configured. This includes setting up the correct caching strategies, tuning the database, and setting up the web server correctly.

Finally, it is important to have a good code design. This means writing efficient code that is easy to maintain. Good code design will help to ensure that the system is scalable and can handle an increasing number of users without performance issues.

Example: “The best way to prevent potential performance issues from occurring in the first place is to proactively monitor your system for performance bottlenecks and address them before they become a problem. This can be done by setting up performance monitoring tools and alerts that notify you when certain thresholds are met or exceeded. Additionally, it is important to regularly review your system's performance data to identify any trends that may indicate an upcoming issue. By addressing potential performance issues before they become a problem, you can avoid the need for reactive measures that can often be disruptive and costly.”

What is your experience with performance testing?
An interviewer would ask "What is your experience with performance testing?" to a Performance Test Engineer to gain insight into the Engineer's previous experience with performance testing and to determine if they would be a good fit for the position. It is important for an interviewer to ask this question because performance testing is a critical part of ensuring that software applications are able to handle high levels of traffic and scale properly. By understanding the Engineer's experience with performance testing, the interviewer can get a better sense of their skills and abilities.

Example: “I have been working as a performance test engineer for the past 4 years. I have experience in conducting performance tests for web applications, mobile applications, and desktop applications. I am familiar with various performance testing tools such as JMeter, LoadRunner, WebLOAD, NeoLoad, etc. I have also worked with different types of performance testing including load testing, stress testing, soak testing, spike testing, etc.”
What is your experience with performance engineering?
There are many reasons why an interviewer would ask this question to a performance engineer. The interviewer wants to know if the performance engineer has the necessary skills and knowledge to perform the job. Additionally, the interviewer wants to know if the performance engineer is familiar with the tools and techniques used in performance engineering.

Performance engineering is a critical part of ensuring that software applications are able to meet the demands of users. Performance engineers use a variety of tools and techniques to identify and resolve performance issues. In order to be effective, performance engineers need to have a strong understanding of how software applications work and how they are used by users.

Example: “I have worked as a performance engineer for over 10 years. I have experience with performance testing, load testing, capacity planning, and performance tuning. I have also worked with a variety of tools, including LoadRunner, JMeter, and Gatling.”

What are some of the most important aspects of performance engineering?
There are many important aspects of performance engineering, but some of the most important ones are:

1. Identifying and quantifying performance bottlenecks: This is important because it helps you prioritize which areas of the system need to be improved in order to achieve the biggest performance gains.

2. Designing and implementing performance improvements: This is important because it ensures that the changes you make actually result in the desired performance improvements.

3. Monitoring system performance: This is important because it allows you to track the progress of your performance improvements and ensure that they are having the desired effect.

4. Tuning system parameters: This is important because it can help squeeze even more performance out of the system by fine-tuning its settings.

5. Capacity planning: This is important because it allows you to ensure that the system will be able to handle future load increases without running into performance problems.

Example: “There are many important aspects of performance engineering, but some of the most critical ones include understanding the workloads that will be placed on the system, designing for performance from the start, and constantly monitoring and tuning the system to ensure that it continues to meet performance goals.”

What tools do you use for performance engineering?
The interviewer is asking this question to gain an understanding of the performance engineer's technical expertise. It is important to know what tools the performance engineer uses because they will be responsible for using these tools to identify and solve performance issues.

Example: “There are a number of tools available for performance engineering, and the specific tools used will vary depending on the needs of the project. Some common tools used for performance engineering include load testing tools, such as Apache JMeter, and profilers, such as YourKit Java Profiler.”

What are some of the challenges you have faced with performance engineering?
There are many potential challenges that come with performance engineering, and it is important for the interviewer to understand what challenges the candidate has faced in order to gauge their experience and expertise. Some of the challenges that might be mentioned include:

-Identifying performance bottlenecks

-Tuning application or database performance

-Load testing and capacity planning

-Monitoring system performance in production

-Diagnosing and troubleshooting performance issues

Each of these challenges requires a different set of skills and knowledge, so it is important for the interviewer to understand which challenges the candidate has faced in order to better assess their qualifications.

Example: “There are a number of challenges that can be faced when performance engineering, some of which include:

- Ensuring that system performance meets the required standards and is not degraded over time
- Identifying and resolving potential bottlenecks or other issues that could impact performance
- Monitoring system performance in order to identify any issues early on
- load testing and capacity planning to ensure the system can handle anticipated loads
- optimizing code or architecture for performance where necessary.”

How do you approach performance engineering projects?
Performance engineering projects can be approached in a number of different ways, depending on the specific goals and objectives of the project. However, some common elements of a performance engineering project include identifying performance bottlenecks, designing and implementing performance improvements, and monitoring system performance.

It is important for a performance engineer to be able to approach performance engineering projects in a systematic and organized manner in order to achieve the desired results. Furthermore, the ability to effectively communicate with other members of the project team is essential in order to coordinate efforts and make sure that everyone is working towards the same goal.

Example: “There are many different ways to approach performance engineering projects, but some common steps include:

1. Identify the goals of the project and what needs to be improved.

2. Analyze the current state of the system and identify bottlenecks.

3. Develop a plan to improve performance, taking into account the goals of the project and the constraints of the system.

4. Implement the plan and monitor the results.

5. Adjust the plan as needed based on feedback from users and further analysis.”

What are some of the best practices you follow in performance engineering?
An interviewer would ask "What are some of the best practices you follow in performance engineering?" to a/an Performance Engineer to gain insight into how the engineer approaches their work. It is important to know how the performance engineer plans and executes their work in order to ensure that the work is carried out effectively and efficiently.

Example: “There are a number of best practices that I follow in performance engineering:

1. Make sure that your system is designed for performance from the ground up. This means using scalable and performant technologies, and designing your architecture with performance in mind.

2. Use performance testing tools to simulate real-world load on your system, and identify bottlenecks early on.

3. Use caching judiciously to improve performance. Caching can be used at various levels (application, database, web server, etc.), and can greatly improve response times.

4. Optimize your code for performance. This includes things like using efficient algorithms, avoiding unnecessary computations, and using data structures that are optimized for speed.

5. Minimize the number of round-trips between the client and server by batching requests where possible.

6. Gather performance metrics regularly and monitor for trends or sudden changes that could indicate a problem.”

What are some of the lessons you have learned in your experience with performance engineering?
There are a few reasons why an interviewer might ask this question:

1. To gain insight into the candidate's engineering process and how they identify and solve performance issues.

2. To better understand the candidate's experience with performance engineering and what lessons they have learned along the way.

3. To see if the candidate is able to articulate their thoughts on performance engineering and communicate effectively.

4. To gauge the candidate's level of experience with performance engineering and whether they would be a good fit for the role.

5. To get the candidate thinking about performance engineering and what it entails.

Overall, it is important to ask this question to get a better understanding of the candidate's experience with performance engineering and what they have learned from it. This can help you determine if they would be a good fit for the role and if they have the necessary skills and knowledge for the job.

Example: “Some of the key lessons I have learned from my experience with performance engineering are as follows:

1. Always start with a baseline performance measurement. This will provide you with a starting point to compare against as you make changes.

2. Be aware of the potential for performance degradation as well as improvements. Sometimes, making one change can unintentionally impact other areas negatively.

3. Pay close attention to the details. Small changes can often have a big impact on performance.

4. Make sure to test your changes in a controlled environment before implementing them in production.

5. Always monitor performance after making changes to ensure that the desired results are achieved.”

What are the most important factors to consider when performance engineering?
One of the most important factors to consider when performance engineering is the trade-off between performance and resource utilization. It is important to understand how different system resources (e.g., CPU, memory, I/O) impact performance and to identify bottlenecks that can be addressed through tuning or other means. Additionally, it is important to have a good understanding of the workloads that will be run on the system in order to design for optimal performance.

Example: “There are many factors to consider when performance engineering, but some of the most important include:

1. Identifying and understanding the key performance indicators (KPIs) for the system or application.

2. Identifying and understanding the key drivers of performance for the system or application.

3. Identifying and understanding the potential bottlenecks in the system or application.

4. Developing a plan to test and measure the system or application against the KPIs and key drivers of performance.

5. Executing the plan and analyzing the results to identify areas for improvement.

6. Implementing changes to improve performance and re-testing to verify improvements.”

What are some of the techniques you use to improve performance?
There are many reasons why an interviewer would ask this question. One reason might be to get a sense of the engineer's process and how they go about improving performance. This is important because it can give the interviewer a better understanding of the engineer's abilities and whether they are a good fit for the position. Another reason for this question might be to gauge the engineer's level of experience and knowledge. This is important because it can help the interviewer determine if the engineer is qualified for the position.

Example: “There are a number of techniques that can be used to improve performance, including:

1. Caching: Caching data can help to improve performance by reducing the need to retrieve data from a remote location or database.

2. Optimizing code: Optimizing code can help to improve performance by making the code more efficient.

3. Minimizing HTTP requests: Minimizing HTTP requests can help to improve performance by reducing the amount of data that needs to be transferred between the server and the client.

4. Using a content delivery network (CDN): Using a CDN can help to improve performance by distributing content across multiple servers, which can reduce the load on a single server.

5. Gzip compression: Gzip compression can help to improve performance by reducing the size of data that needs to be transferred between the server and the client.”

What are some of the benefits of performance engineering?
Some benefits of performance engineering are that it can help identify and fix bottlenecks in an application, it can improve application response times, and it can help prevent application outages. Performance engineering is important because it can help ensure that an application is able to handle the load of traffic that it is expected to receive.

Example: “Performance engineering is the discipline of designing, analyzing and improving the performance of software systems. The goal of performance engineering is to ensure that a system meets its performance objectives, such as response time or throughput.

Performance engineering can help to:

- Improve system performance by identifying and eliminating bottlenecks
- Avoid or resolve capacity issues
- Improve scalability
- Reduce costs by optimizing resource utilization
- Improve customer satisfaction by meeting or exceeding performance expectations”

How do you ensure that the systems you design are scalable and performant?
When designing systems, performance engineers must take into account how the system will scale. They need to ensure that the system can handle an increase in traffic or data without becoming overwhelmed and crashing. Additionally, they need to make sure that the system will be able to perform well even under heavy load. By ensuring that the system is scalable and performant, the performance engineer can help to avoid any major issues or outages.

Example: “There are a few key considerations that must be taken into account when designing scalable and performant systems:

1. Redundancy and failover: When designing a system, it is important to consider how the system will respond in the event of a failure. For example, if one component of the system fails, will the entire system fail? Or can the system continue to function using other components?

2. Load balancing: It is important to ensure that the system can distribute load evenly across all components. This helps to avoid overloading any single component, which could lead to performance issues.

3. Caching: Caching can be used to improve performance by storing frequently accessed data in memory so that it can be quickly retrieved. This can help to reduce the load on the database and improve response times.

4. Optimization: The code that makes up the system should be optimized for performance. This includes both the application code and the database queries.”

What is your experience with load testing?
Load testing is a performance testing technique that is used to determine how a system performs under a specific load. This can help identify potential bottlenecks and identify areas for improvement.

Example: “I have experience with load testing tools such as JMeter, LoadRunner, and Gatling. I have used these tools to test the performance of web applications under various load conditions. I am familiar with different types of load testing, such as stress testing, endurance testing, and scalability testing. I am also familiar with performance tuning techniques that can be used to improve the performance of web applications.”

What are some of the challenges you have faced with load testing?
Some of the challenges that a performance engineer may face when load testing include designing test scenarios that accurately reflect real-world usage, configuring the test environment to accurately simulate the production environment, and ensuring that the test data is representative of the data used in production.

Load testing is important because it allows organizations to assess whether their systems can handle the expected traffic and load. By identifying performance bottlenecks and issues early on, organizations can make the necessary changes to their systems before they go live. This can help avoid disruptions and ensure a smooth user experience.

Example: “Load testing is a process of putting demand on a software system or application and measuring its response. The challenges of load testing include:

1. Determining the appropriate workload.
2. Creating realistic test data.
3. Configuring the test environment.
4. Executing the test and monitoring results.
5. Analyzing the results to identify bottlenecks and performance issues.”

How do you approach load testing projects?
Performance engineering is the process of ensuring that a software system meets its performance requirements. This includes identifying performance requirements, designing a system to meet those requirements, and verifying that the system meets those requirements.

Load testing is one type of performance test that is used to evaluate a system's ability to handle a designated workload. Load testing is important because it can help identify potential bottlenecks in a system before it is deployed.

Example: “There are a few key steps to approaching a load testing project:

1. Define the goals of the load test. What are you trying to accomplish? Are you trying to test the limits of your system? Are you trying to find bottlenecks? Are you trying to stress test a new feature?

2. Identify your users. Who will be using your system under load? What are their characteristics? How many users do you expect to be using the system simultaneously?

3. Choose your tools. There are many different load testing tools available, each with its own strengths and weaknesses. You need to choose a tool that will allow you to simulate the type of load that your users will generate.

4. Create your test scenarios. What actions will your users be taking while using the system? How long do you expect each scenario to take? What is the maximum number of users that can be active in each scenario?

5. Set up your test environment. This includes configuring your load testing tools and setting up any necessary test data.

6. Run your tests and analyze the results. Pay close attention to any errors or slowdowns that occur during the tests. These can indicate potential problems with your system”

What are some of the best practices you follow in load testing?
Load testing is a process that helps determine how a system performs under various load conditions. By understanding the best practices for load testing, a performance engineer can help ensure that a system is able to handle the expected load and identify any potential bottlenecks. By identifying these bottlenecks, the engineer can then work to improve the performance of the system.

Example: “Some of the best practices that I follow in load testing are:

1. Make sure to test under realistic conditions - This means simulating as closely as possible the real-world conditions under which your system will be used. This includes factors such as network speed and latency, concurrent users, data size and complexity, and so on.

2. Use a representative sample of users - In order to get accurate results, your load test should use a representative sample of the types of users that will be using your system in the real world. This includes factors such as demographics, skillset, location, and so on.

3. Use multiple load testing tools - No single load testing tool can provide all the information you need to make informed decisions about your system's performance. Use a combination of tools to get a comprehensive picture of your system's performance under load.

4. Monitor all aspects of system performance - Don't just focus on one metric, such as response time or throughput. Monitor a variety of metrics to get a complete picture of how your system is performing under load.

5. Analyze results thoroughly - Once your load test is complete, take the time to analyze the results in detail. Look for trends and patterns that can”

What are some of the lessons you have learned in your experience with load testing?
There are many reasons why an interviewer would ask this question to a performance engineer. Some of the reasons include:

1. To gauge the engineer's level of experience with load testing.

2. To understand the engineer's approach to load testing and how they go about ensuring that tests are accurate and representative of real-world conditions.

3. To get a sense of the lessons the engineer has learned about load testing, which can be valuable insights for the interviewer.

4. To determine if the engineer is familiar with best practices and common pitfalls associated with load testing.

5. To assess the engineer's ability to troubleshoot and identify issues that can impact performance.

Example: “Some of the lessons I have learned in my experience with load testing are:

1. Make sure to test under realistic conditions
2. Always test with a representative sample of users
3. Pay attention to response times and resources utilization
4. Be prepared to scale up your infrastructure if needed”

What are the most important factors to consider when load testing?
Load testing is important to performance engineering because it allows engineers to understand how a system will perform under different load conditions. By understanding the system's performance characteristics, engineers can identify potential bottlenecks and make recommendations to improve system performance.

Example: “There are many factors to consider when load testing, but some of the most important include:

-The type of application being load tested
-The expected workload
-The environment in which the load test will be conducted
-The resources available for the load test
-The objectives of the load test”

What are some of the techniques you use to improve load testing results?
It is important to ask this question to a performance engineer because load testing results can be improved by using various techniques. By asking this question, the interviewer can get an idea of what techniques the performance engineer is familiar with and how they might be able to improve the load testing results.

Example: “There are a number of techniques that can be used to improve load testing results, including:

1. Use more accurate models: More accurate models can help to improve load testing results by providing more realistic data. This can be achieved by using more detailed models, or by using models that better reflect the actual system under test.

2. Use more representative data: Using more representative data can help to improve load testing results by providing data that is more representative of the actual system under test. This can be achieved by using data that is more representative of the user population, or by using data that is more representative of the workloads that will be placed on the system under test.

3. Use more realistic workloads: Using more realistic workloads can help to improve load testing results by providing workloads that better reflect the actual system under test. This can be achieved by using workloads that are closer to the actual workloads that will be placed on the system under test, or by using workloads that are more intense than the actual workloads that will be placed on the system under test.

4. Use more sophisticated analysis: Using more sophisticated analysis can help to improve load testing results by providing better insight into the performance of the system under”

Thread

Native Thread Demon Thread Non-Demon Thread Native Thread: - Any Method/Thread which is mapped to OS is called Native Thread or Method. Demo...