Software Testing Interview Questions and Answers

1) Explain what is performance testing?

Performance testing is done for quality assurance. It involves testing software application to make sure that the software is working well under their expected workload.

2) Mention different types of performance testing?

  • Load testing
  • Stress testing
  • Endurance testing
  • Spike testing
  • Volume testing
  • Scalability testing

3) 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)

4) List out some common performance bottlenecks?

Some common performance bottlenecks include

  • CPU Utilization
  • Memory Utilization
  • Networking Utilization
  • S limitation
  • Disk Usage

5) List out some of the performance testing tool?

  • HP Loader
  • HTTP Load
  • Proxy Sniffer
  • Rational Performance Tester
  • JMeter
  • Borland Silk Performer

6) Why does JMeter become a natural choice of tester when it comes to performance testing?

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

7) 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.

8) 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.

9) 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

10) Mention what is the difference between JMeter and SOAPUI?

                              JMeter                                  SoapUI
·          It is used for load and performance testing HTTP, JDBC, JMS, Web Service(SOAP), etc.

 

·          It supports distributed load testing

·          ——–

·           It is specific for web services and has a more user-friendly IDE

 

·          It does not support distributed load testing

·          For most IDE, it has plugin support

11) Mention what is the difference between performance testing and functional testing?

                        Functional Testing                           Performance Testing
·          To verify the accuracy of the software with definite inputs against expected output, functional testing is done.

 

·          This testing can be done manually or automated

·          One user performs all the operations

·          Customer, Tester and Development involvement is required

·          Production sized test environment is not necessary, and H/W requirements are minimal

·           To validate the behavior of the system at various load conditions performance testing is done.

 

·          It gives the best result if automated

·          Several user performs desired operations

·          Customer, Tester, Developer, DBA and N/W management team

·          Requires close to production test environment and several H/W facilities to populate the load

12) Mention what is the benefit of LoadRunner on testing tools?

Benefit of LoadRunner testing tools is

  • Versatility
  • Test Results
  • Easy Integrations
  • Robust reports
  • Enterprise Package

13) Explain what is Endurance Testing and Spike Testing?

  • Endurance Testing: It is one type of performance testing where the testing is conducted to evaluate the behavior 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 behavior of the system when the load is increased substantially.

14) Explain what are the common mistakes done in Performance Testing?

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

15) Mention the steps required in JMeter to create a performance test plan?

To create a performance test plan in JMeter

  • Add thread group
  • Add JMeter elements
  • Add Graph result
  • Run test & get the result

16) Explain how you can execute spike testing in JMeter?

In JMeter, spike testing can be done by using Synchronizing Timer.  The threads are jammed by synchronizing the timer until a specific number of threads have been blocked and then release at once, creating a large instantaneous load.

17) Explain what is the throughput in Performance Testing?

In performance testing, throughput is referred to the amount of data transported to the server in responds to the client request at a given period of time. It is calculated in terms of requests per second, calls per day, reports per year, hits per second, etc. Performance of application depends on throughput value, higher the value of throughput -higher the performance of the application.

18) Mention what are the phases for automated performance testing?

Phases for automated performance testing includes

  • Design or Planning
  • Build
  • Execution
  • Analyzing & Tuning

19) Mention what is the difference between the benchmark testing and baseline testing?

  • Benchmark Testing:It is the method of comparing performance of your system performance against an industry standard that is set by other organization
  • Baseline Testing:It is the procedure of running a set of tests to capture performance information. When future change is made in the application, this information is used as a reference

20) Mention what is concurrent user hits in load testing?

In load testing, without any time difference when multiple users hit on the same event of an application under the load test is called a concurrent user hit.

21.Explain bug life cycle.

  • When a tester finds a bug, the bug is assigned NEW or OPEN with status.
  • The bug is assigned to Development Project Managers who will analyze the bug. They will check whether it is a valid defect. If not valid, the bug is rejected, and its new status is REJECTED.
  • Now, the tester checks whether the similar defect was raised earlier. If yes, the defect is assigned a status ‘DUPLICATE’
  • Once the bug is fixed, the defect is assigned a status ‘FIXED’
  • Next the tester will re-test the code. In case, the test case passes, the defect is CLOSED
  • If test case fails again, the bug is RE-OPENED and assigned to the developer.

22.How can we perform Spike testing in JMeter?

Ans: JMeter comes with a synchronizing timer which can handle the requests of multiple threads. It is able to get the required number of threads and release them at once to cause a spike.

23.Explain Load Testing on websites?

Ans: To access a website, a user sends a “request” to that website’s server, and the server sends back a response in the form of the website you want to access. To load test a website, quality assurance engineers and automation engineers just need to multiply the number of responses sent to simulate different traffic loads. The web server’s response to the influx of virtual users can then be measured. This is used to determine performance issues and server capacity.

24.What are the tools of performance testing?

  • LoadRunner(HP):This testing tool contains a wide array of application environments, platforms and databases. It is typically suitable for web applications and others.
  • QAload(Compuware): This tool is used for load testing of web, database and char-based systems.
  • WebLoad(RadView):It is used to compare running tests with test metrics.
  • Rational Performance Tester (IBM):It allows finding out the presence and cause of bottlenecks.
  • Silk Performer (Borland):This testing tool lets you predict the behavior of e-business environment.
  • Explain the concepts of Test Fusion Report of QTP.
  • Test Fusion report displays different aspects of the test run, soon after the tester runs a test. The Test Fusion report is used to display all the aspects of test run, it specifies where the application failures occurred, the test data used, and the detailed explanation of every checkpoint stating pass or failure and the application screen shots of every step by highlighting the discrepancies.
  • Test Fusion Report is a compilation of the entire testing process. It includes an overview of where the failures occurred, the test data that was used in testing, screen shots to support inconsistencies and detailed view of checkpoints.

25.What kind of input do we need from the end user to begin proper testing?

Ans: An end user is the most important person because he is the one who has to use the product and has a keen interest that anyone else in the project.

26.What is TestNG?

Ans: It is an advanced framework which is designed in a way to leverage the benefits by both the developers and testers. It also has an inbuilt exception handling mechanism which lets the program to run without terminating unexpectedly.

27. How to set test case priority in TestNG?

Ans:Below code helps you to understand how to set test case priority in TestNG.

12345678910111213package TestNG;
import org.testng.annotations.*;
public class SettingPriority {
@Test(priority=0)
public void method1({
}
@Test(priority=1)
public void method2(){
}
@Test(priority=2)
public void method3() {
}
}

Test Execution Sequence:

123Method1
Method2
Method3