Load & Performance testing - Interview questions and answers - SQA Geek

Quality is never an accident;
it is always the result of intelligent effort.

Post Top Ad

Saturday 16 June 2018

Load & Performance testing - Interview questions and answers

Q.1 Who does load tuning after load testing?
Ans: Tuning software is done by a developer who is responsible for improving the performance of the system. Performance Testers can suggest or recommend tuning to the developer after finding bottleneck in the application or system. Keep in mind, only developers do tuning.

Q.2 In load testing, what is tuning software?
Ans: Software tuning is the process of fixing the bottleneck,; identified during performance testing. Also, identifying the level of software bottlenecks by getting the database and code profiled. Modifying or fine tuning the software to fix the bottlenecks is called tuning software.

Q.3 In load testing, what is tuning hardware?
Ans: During the load test, if there is a bottleneck related to scalability of hardware identified, then the process of bottleneck elimination is called tuning the hardware.

Q.4 In load testing, what are concurrent hits of a user?
Ans: When users hit an application step common without any difference in terms of milliseconds. It is called a concurrent user hit,  The point of concurrency will be added as one of the virtual user steps. Thus, all zip line users will wait at the point of concurrency if they reach this ahead of time. Once the point of concurrency is hit by all users, they can begin to hit the requests.

Q.5 What are the criteria for entering and exiting in testing performance?
Ans: You can begin testing application performance during the designs. After evaluating these tests, you can collect and analyze the results for performance to be improved. The process of performance tuning will be done throughout the life cycle of the application development. Performance tuning is done based on factors like application release time and application stability user requirement, scalability under load, reliability, performance tolerance and stress tolerance criteria. The end criteria in some projects are defined based on the performance of the client, defined for each application section. When a product gets to the level expected then this is considered as performance testing end criteria.

Q.6 What is a protocol?
Ans: A protocol is a set of defined rules for information transmission between 2 or more multiple systems is called a protocol. This is used for test script recording in most of the load and performance testing tools. So as a load test /performance engineer, you need to be familiar with the used protocol for script recording. You can get the related protocol information not from the developers but actually from the architects.

Q.7 What drawbacks do manual load tests have?
Ans: The manual load testing drawbacks are:
It is very expensive to do Manual Testing, as real users charge by the hour.
With manual load testing, load testing for longer durations like for 7 days won’t be possible, as users really work a maximum of eight hours daily.
You will not get accuracy for results correlation as there are delays between actions of users.
It is hard to do results collection as the results capture each other.
It is hard to do.

Q.8 What is the life-cycle of testing?
Planning the Test
Developing the Test
Execution of the Test
Analysis of Results

Q.9 What are the tools of testing performance of a system?
Ans: There are popular commercial tools for testing which include:
Borland Silk Performer, which allows behavior prediction of environments of e-business to be predicted before it is deployed, regardless of complexity and size.
IBM’s Rational Performance Testing- allows the comparison of test metrics versus running tests.
RadView’s WebLoad- allows comparison of test metrics versus running tests.
Compuware’s QAload- is used for database and web based systems.
HP’s LoadRunner- this is for other applications and web applications. It provides various environment applications, database and platforms. Evaluating each tracking of bottlenecks and components’ measurements is monitored by the number of servers. 

Q.10 What are the types of Non functional testing?
Ans: Here is the list of Performance Testing sub-genres:
Soak testing is performed to understand the behavior of the application when applying load for long time periods and what happens to the application’s response time and stability.
Spike testing is the application change that happens when suddenly large numbers of users decreases or increases.
Volume testing is application testing to determine how much data amounts it can handle effective and efficiency.
Stress testing is done for evaluating the performance of a system by increasing user numbers to more than the specified requirements limits. This is done to comprehend the levels an application will crash.
Load testing is done to examine an application’s performance for specified load expected by increasing the number of users performing specific application tasks in a specific period of time on the application.

Q.11 Why does performance testing need to happen?
Ans: Performance testing is done for evaluating the performance of an application under some stress and load condition. Generally, this is measured in terms of the user activity’s response time. It is designed for testing a whole system’s performance at high stress and high load conditions. For example, if customers like withdrawing funds from an ATM. If the response of the machine after card insertion takes more than five minute the system fails to function. Performance Testing Types include capacity, stress and load. Capacity is the measure of the capacity overall and what time a time of response becomes unacceptable. Stress examines behavior of application under activity in peak bursts. Load is analogous to testing volume and to determine how applications deal with data in large amounts.

Q.12 How to identify a memory leak?
Ans: You need to run the soak or endurance test when you are trying to identify a leak in memory. When you are running test for longer duration, the memory of the server in question will gradually grow if there is a leak in memory.

Q.13 What is profiling?
Ans: Profiling is a process of pinpointing a bottleneck performance at minute levels. This is done by performance teams for engineering which includes developers or performance testers. You can profile in any application layer getting tested. If you need to do application profiling you might need to use tools for performance profiling of application servers. When profiling an application server, you identify issues at the level of code such as memory intensive API’s If the database is what you are profiling using the tools for database profiling, you can identify a number of things such as a full table scan query, high cost queries and the number of executed SQLs.

Q.14 What are the automated testing phases of performance?
Ans: There are involved phases in testing automated performance and these are:
Design/Planning- this is the first phase where teams gather the performance testing requirements. This can include team requirements, system requirements, technical requirements and business requirements.
Build- this phase is made up of requirements that are automated and gathered during the phase of planning/design.
Execution- this phase is actually accomplished in multiple phases. It consists of various testing types like benchmarking testing and baseline testing.
Tuning and Analyzing- during testing of performance, you can capture all the related system details like System Resources and Response Time for identifying the system’s major bottlenecks. After these are identified, you will then be able to improve the overall performance of the system.

Q.15 What is throughput in performance testing?
Ans: In Performance Testing, throughput is the data amount sent by the server in response to the request of the client in a given time period. It can also be the unit number of work you can handle per time unit. You measure throughput in terms of per second requests, reports per year, hits per second or daily calls, etc. In many cases, you calculate throughputs in bits per second. Generally you get higher performance with higher throughput value.

Q.16 How is JMeter spike testing performed?
Ans: To perform spike testing, you need to understand what change happens on applications when suddenly large numbers of users decrease or increase. You can achieve JMeter spike testing using a timer that is synchronized. You block the threads by getting the timer synchronized until a specific thread number is getting a blocking. Next, one a large load is instantaneously created, release these.

Q.17 What are baseline tests?
Ans: These are tests done on applications before coming to conclusions. It can be either the validation or verification process which gives an idea of what the next stage needs to do. It is a testing technique that is very important, and if properly done, eighty five per cent of problems with performance can be solved and identified when proper tests of baseline are accomplished.

Q.18 How are benchmark and baseline tests different?
Ans: The process of running tests in sets is to capture information performance is baseline testing. This info can be used as a reference point when changes in the future are made to applications. On the other hand, benchmark tests are the process of comparing the performance of your system against industry standards giving by other organizations. You can, for example, run baseline tests on applications, analyze the collected results and modify many indexes on the database of a SQL Server before running the identical test once more using the previous same results to find out whether or not new results are the same, worse or better. 

Q.19 List out what are the common performance problem does user face?
Longer loading time
Poor response time
Poor Scalability
Bottlenecking (coding errors or hardware issues)

Q.20 List out some common performance bottlenecks?
Ans: Some common performance bottlenecks include
CPU Utilization
Memory Utilization
Networking Utilization
Disk Usage

Q.21 Why does JMeter become a natural choice of tester when it comes to performance testing?
Ans: JMeter tool has benefits like
It can be used for testing both static resources like HTML and JavaScript, as well as dynamic resources like Servlets, Ajax, JSP, etc.
JMeter has a tendency to determine the maximum number of concurrent users that your website can handle
It provides a variety of graphical analyses of performance reports

Q.22 Mention what all thing involves in Performance Testing Process?
Right testing environment: Figure out the physical test environment before carry performance testing, like hardware, software and network configuration
Identify the performance acceptance criteria: It contains constraints and goals for throughput, response times and resource allocation
Plan and design Performance tests: Define how usage is likely to vary among end users, and find key scenarios to test for all possible use cases
Test environment configuration: Before the execution, prepare the testing environment and arranges tools, other resources, etc.
Test design implementation: According to your test design, create a performance test
Run the tests: Execute and monitor the tests
Analyze, tune and retest: Analyze, consolidate and share test results. After that, fine tune and test again to see if there is any enhancement in performance. Stop the test, if CPU is causing bottlenecking.

Q.23 List out some of the parameters considered for performance testing?
Memory usage
Processor usage
Bandwidth
Memory pages
Network output queue length
Response time
CPU interruption per second
Committed memory
Thread counts
Top waits, etc.

Q.24 List out the factors you must consider before selecting performance tools?
Customer preference tool
Availability of license within customer machine
Availability of test environment
Additional protocol support
License cost
Efficiency of tool
User options for testing
Vendor support

Q.25 What is Load testing?
Ans: Load testing is to determine if an application can work well with the heavy usage resulting from a large number of users using it simultaneously. Load is increased to to simulates the peak load that the servers are going to take during maximum usage periods.

Q.26 Mention what is the benefit of Load Runner on testing tools?
Ans: Benefit of LoadRunner testing tools is
  • Versatility
  • Test Results
  • Easy Integrations
  • Robust reports
  • Enterprise Package

Q.27 Explain what is Endurance Testing and Spike Testing?
Ans: Endurance Testing: It is one type of performance testing where the testing is conducted to evaluate the behaviour of the system when a significant workload is given continuously
Spike Testing: It is also a type of performance testing that is performed to analyze the behaviour of the system when the load is increased substantially.
Explain what are the common mistakes done in Performance Testing?

Q.28 The common mistakes done in Performance Testing are
  • Direct jump to multi-user tests
  • Test results not validated
  • Unknown workload details
  • Too small run durations
  • Lacking long duration sustainability test
  • Confusion on definition of concurrent users
  • Data not populated sufficiently
  • Significant difference between test and production environment
  • Network bandwidth not simulated
  • Underestimating performance testing schedules
  • Incorrect extrapolation of pilots
  •  Inappropriate base-lining of configurations

Q.29 How do you identify which protocol to use for any application?
Ans: Previously Performance tester had to depend much on the development team to know about the protocol that application is using to interact with the server. Sometimes, it also used to be speculative.

However, LoadRunner provides a great help in form of Protocol Adviser from version 9.5 onwards. Protocol adviser detects the protocols that application uses and suggest us the possible protocols in which script can be created to simulate the real user.

Declaimer:- Credit goes to the original poster.

No comments:

Post a Comment

Post Bottom Ad