Ans: Performance Testing is performed to determine the response time of some components of the system perform under a particular workload. It is generally measured in terms of response time for the user activity. It is designed to test the overall performance of the system at high load and stress condition It identifies the drawback of the architectural design which helps to tune the application. It includes the following:
Ans: Performance Testing is performed to evaluate application performance under some load and stress condition. It is generally measured in terms of response time for the user activity. It is designed to test the whole performance of the system at high load and stress condition.
Example: Customer like to withdraw money from an ATM counter, a customer inserts debit or credit card and wait for the response. If the system takes more than 5 min. then according to requirements system functioning is fail.
Type of Performance Testing:
Load: analogous to volume testing and determine how application deal with a large amount of data.
Stress: examine application behavior under peak bursts of activity.
Capacity: measure overall capacity and determine at what time response time become unacceptable.
Ans: There is no standard testing life cycle, but it is consist of the following phases:
Ans: To improve the system performance we follow a mechanism, known as Performance Tuning. To improve the performance of the system there are two types of tuning performed:
Ans: Throughput in Performance testing is the amount of data sent by the server in response to the client request in a given period of time or it is the number of units of work that can be handled per unit of time. The throughput is measured in terms of requests per second, calls per day, hits per second, reports per year, etc. In most of the cases, the throughput is calculated in bits per seconds. Higher the throughput value, higher the performance of the application It is includes the client-side statistics.
Ans: Following are some popular commercial testing tools are:
LoadRunner(HP): this for web and other application. It provides a variety of application environments, platforms, and database. A number of server monitors to evaluate the performance measurement of each component and tracking of bottlenecks.
A load(Compuware): used for load testing of web, database and char-based system.
WebLoad(RadView): it allows comparing of running test vs. test metrics.
Rational Performance Tester (IBM): used to identify the presence and cause of system performance bottlenecks.
Silk Performer (Borland): allow prediction of the behavior of e-business environment before it is deployed, regardless of size and complexity.
Ans: Performance testing is needed to verify the below:
Ans: Following activities are performed during testing of application:
1. Create user scenarios
2. User Distribution
3. Scripting
4. A dry run of the application
5. Running load test and analyzing the result.,
Ans: Spike Testing is performed to understand what changes happen on the application when suddenly a large number of user increased or decreased. Sudden changes in the number of users by increasing or decreasing at a certain point of application and then monitoring the behavior. In JMeter, spike testing can be achieved using Synchronizing Timer. The threads are blocked by synchronizing the timer until a particular number of threads have been blocked, and then release them at once thus creating large instantaneous load.
Ans: Baseline testing is testing which is performed on the application before coming to any conclusion. It can be either the verification or validation process which provides an idea of what the next stage has to do. It is a very important testing technique, if done properly, 85% of performance problems can be identified and solved when proper baseline tests are done.
Ans: The differences between baseline and benchmark testing are:
Baseline testing is the process of running a set of tests to capture performance information. This information can be used as a point of reference when in future changes are made to the application whereas Benchmarking is the process of comparing your system performance against an industry standard that is given by some other organization.
Example: We can run baseline test of an application, collect and analyze results, and then modify several indexes on a SQL Server database and run the same test again, using the previous results to determine whether or not the new results were better, worse, or about the same.
Ans: When the multiple users, without any time difference, hit on the same event of the application under the load test is called a concurrent user hit. The concurrency point is added so that multiple Virtual User can work on a single event of the application. By adding concurrency point, the virtual users will wait for the other Virtual users which are running the scripts, if they reach early. When all the users reached to the concurrency point, only then they start hitting the requests.
Ans: Following drawbacks of manual Load Testing that leads to Automation load testing:
Ans: The benefit of LoadRunner testing tools is
Ans:
Ans: The common mistakes done in Performance Testing are
Ans: Distributed load testing: in this, we test the application for a number of users accessing the application at the same time. In distributed load testing test cases are executed to determine the application behavior. Now application behavior is monitored, recorded and analyzed when multiple users concurrently use the system. Distributed load testing is the process using which multiple systems can be used for simulating the load of the large number of users. The reason for doing distributed load testing is to overcome the limitation single system to generate a large number of threads.
Ans: Any Software Performance Test Plan should have the minimum contents as mentioned below:
Ans: The phases involved in automated performance testing are:
Planning/Design: This is the primary phase where the team will be gathering the requirements of the performance testing. Requirements can be Business, Technical, System and Team requirements.
Build: This phase consists of automating the requirements collected during the design phase.
Execution: it is done in multiple phases. It consists of various types of testing like baseline, benchmarking testing
Analyzing and tuning: During the performance testing we will be capturing all the details related to the system like Response time and System Resources for identifying the major bottlenecks of the system. After the bottlenecks are identified we have to tune the system to improve the overall performance.
Ans: Following are the sub-genres of Performance Testing:
Ans: We can start the performance testing of application during the design. After the execution of the performance testing, we collected the results and analyzed them to improve the performance. The performance tuning processed will be performed throughout the application development life cycle. Performance tuning is performed which is based on factors like release time of application and user requirements of application stability, reliability and scalability under load, stress and performance tolerance criteria. In some projects, the end criteria are defined based on the client performance requirements defined for each section of the application. When the product reaches the expected level then that can be considered as the end criteria for performance testing.
Ans: Performance Bottlenecks can identify by monitoring the application against load and stress condition. To find bottleneck situation in performance testing we use Load Runner because provides different types of monitors like run-time monitor, web resource monitor, network delay monitor, firewall monitor, database server monitor, ERP server resources monitor, and Java performance monitor. These monitors can help us to determine the condition which causes increased response time of the application. The measurements of the performance of the application are based on response time, throughput, hits per sec, network delay graphs, etc.