Tap to Read ➤

Software Testing Interview Questions and Answers

Bhakti Satalkar
In this story, we will tackle some of the important software testing questions that are frequently asked at interviews. Along with that, we will also provide you with the answers for the same. Continue reading for more details.
After the boom in software development, the software testing industry has presented the job industry with a plethora of career opportunities and jobs in software testing. There are various reasons why someone would want to take up a job in this industry.
There are some who like software jobs, but are not really keen on software development jobs, there are others who find the idea of software testing more lucrative than software development. Once you have decided to opt for jobs in this area, you will have to brace yourself with the answers to various software testing interview questions.
Manual Software Testing Interview Questions with Answers

As a software tester, the person should have certain qualities. The person should be observant, creative, innovative, speculative, and patient, among others. It is important to note, that when you opt for manual testing, it is an accepted fact that the job is going to be tedious and laborious. Whether you are a fresher or are experienced, there are certain questions which you should know the answers to.
Explain the bug life cycle in detail.
This is one of the most commonly asked interview questions for experienced as well as freshers. The bug life cycle is the stages the bug or defect goes through before it is fixed, deferred, or rejected.
What is regression testing?
Regression testing is the testing of a particular component of the software or the entire software after modifications have been made to it. The aim of regression testing is to ensure new defects have not been introduced in the component or software, especially in the areas where no changes have been made. In short, regression testing is done to ensure nothing has changed while changes to the software were being made.
What is a Review?
A review is an evaluation of a said product or project status to ascertain any discrepancies from the actual planned results and to recommend improvements to the said product. The common examples of reviews are informal review or peer review, technical review, inspection, walk through, management review.
Explain, in short, sanity testing, adhoc testing and smoke testing.
Sanity testing is a basic test, which is conducted if all the components of the software can be compiled with each other without any problem. It is to ensure that there are no conflicting or multiple functions or global variable definitions which have been made by different developers. It can also be carried out by the developers themselves.
Smoke testing, on the other hand, is a testing methodology used to cover all the major functionalities of the application without getting into the finer nuances of the application. It is said to be the main functionality oriented test.
Ad hoc testing is different than smoke and sanity testing. This term is used for software testing which is performed without any sort of planning and/or documentation. These tests are intended to run only once. However, in case of a defect found, it can be carried out again. It is also said to be a part of exploratory testing.
What are stubs and drivers in manual testing?
Both stubs and drivers are a part of incremental testing. There are two approaches, which are used in incremental testing, namely bottom up and top down approach. Drivers are used in bottom up testing. They are modules, which test the components to be tested. The look of the drivers is similar to the future real modules.
A skeletal or special purpose implementation of a component, which is used to develop or test a component that calls or is otherwise dependent on it. It is the replacement for the called component.
Explain priority, severity in software testing.
Priority is the level of business importance, which is assigned to a defect found. On the other hand, severity is the degree of impact the defect can have on the development or operation of the component or the system.
Tell me about V model in manual testing.
V model is a framework which describes the software development life cycle activities right from the requirements specification to the software maintenance phase. Testing is integrated in each of the phases of the model.
The phases of the model start with user requirements and are followed by system requirements, global design, detailed design, and implementation, and end with system testing of the entire system.
Each phase of model has the respective testing activity integrated in it and is carried out parallel to the development activities. The four test levels used by this model include, component testing, integration testing, system testing and acceptance testing.
Difference between bug, error and defect.
Bug and defect essentially mean the same. It is the flaw in a component or system, which can cause the component or system to fail to perform its required function.
If a bug or defect is encountered during the execution phase of the software development, it can cause the component or the system to fail. On the other hand, an error is a human error, which gives rise to incorrect result.
What is compatibility testing?
Compatibility testing is a part of non-functional tests carried out on the software component or the entire software to evaluate the compatibility of the application with the computing environment. It can be with the servers, other software, computer operating system, different web browsers or the hardware as well.
What is integration testing?
One of the software testing types, where tests are conducted to test interfaces between components, interactions of the different parts of the system with operating system, file system, hardware and between different software. It may be carried out by the integrator of the system, but should ideally be carried out by a specific integration tester or a test team.
Explain performance testing.
This is one of the non-functional type of software testing. Performance of a software is the degree to which a system, or a component of the system, accomplish the designated functions, given constraints regarding processing time and output rate. Therefore, performance testing is the process to test and determine the performance of a software.
Explain the testcase life cycle.
On an average, a test case goes through the following phases. The first phase of the testcase life cycle is identifying the test scenarios either from the specifications or from the use cases designed to develop the system. Once the scenarios have been identified, the test cases apt for the scenarios have to be developed.
Then the test cases are reviewed and the approval for those test cases have to be taken from the concerned authority. After the test cases have been approved, they are executed. When the execution of the test cases start, the results of the tests have to be recorded.
The test cases which pass are marked accordingly. If the test cases fail, defects have to be raised. When the defects are fixed the failed test case has to be executed again.
Explain statement coverage.
It is a structure based or white box technique. Test coverage measures, in a specific way, the amount of testing performed by a set of tests. One of the test coverage type is statement coverage. It is the percentage of executable statements which have been exercised by a particular test suite.
What is meant by functional defects and usability defects in general? Give an appropriate example.
We will take the example of 'Login window' to understand functionality and usability defects. A functionality defect is when a user gives a valid user name but an invalid password and the user then clicks on the login button.
If the application accepts the user name and password, and displays the main window, where an error should have been displayed, then that is a functionality defect. On the other hand, a usability defect is when the user gives a valid user name, but invalid password and clicks on login button.
The application throws up an error message saying "Please enter valid user name" when the error message should have been "Please enter valid Password."
What are the check lists which a software tester should follow?
Read the link on check lists for software tester to find the answer to the question.
What is the difference between volume testing and load testing?
Volume testing checks if the system can actually cope with the large amount of data. For example, a number of fields in a particular record or numerous records in a file, etc. On the other hand, load testing refers to measuring the behavior of a component or a system with increased load. The increase in load can be in terms of number of parallel users and/or parallel transactions. This helps to determine the amount of load, which can be handled by the component or the software system.
What is pilot testing?
It is a test of a component of a software system or the entire system under the real time operating conditions. The real time environment helps to find the defects in the system and prevent costly bugs been detected at a later time. Normally, a group of users use the system before its complete deployment and give their feedback about the system.
What is the exact difference between debugging & testing?
When a test is run and a defect has been identified, it is the duty of the developer to first locate the defect in the code and then fix it. This process is known as debugging. In other words, debugging is the process of finding, analyzing, and removing the causes of failures in the software. On the other hand, testing consists of both static and dynamic testing life cycle activities. It helps to determine that the software does satisfy specified requirements and it is fit for the purpose assigned to it.
What is boundary value analysis?
A boundary value is an input or an output value which resides on the edge of an equivalence partition. It can also be the smallest incremental distance on either side of an edge, like the minimum or a maximum value of an edge. Boundary value analysis is a black box testing technique, where the tests are based on the boundary values.
What is system testing?
System testing is testing carried out of an integrated system to verify that the system meets the specified requirements. It is concerned with the behavior of the whole system, according to the scope defined. More often than not, system testing is the final test carried out by the development team in order to verify that the system developed does meet the specifications and also identify defects which may be present.
What is the difference between retest and regression testing?
Retesting, also known as confirmation testing, is the testing that runs the test cases which failed the last time they were run in order to verify the success of corrective actions taken on the defect found. On the other hand, regression testing is testing of a previously tested program after the modifications made, to make sure that no new defects have been introduced. In other words, it helps to uncover defects in the unchanged areas of the software.
What is a test suite?
A test suite is a set of several test cases designed for a component of a software or system under test, where the post condition of one test case is normally used as the precondition for the next test.
These are some of the software testing interview questions along with answers for freshers and experienced professionals, alike. Though this is not an exhaustive list, the most important, as well as, common questions and answers have been included in this story.