Software Testing Interview Questions and Answers


After the boom in software development, it is the software testing industry which 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 the software testing industry. There are some who like software jobs, but are not really keen on software development jobs, there are others who simply like the idea of software testing more lucrative than the software development jobs. Once you have decided to opt for software testing jobs, then 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, which are imperative. The person should be observant, creative, innovative, speculative, patient, etc. 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 experienced, there are certain questions, to which answers you should know.

• What is a test case?
Find the answer to this question in the article titled test cases.

• Explain the bug life cycle in detail.
This is one of the most commonly asked interview questions, hence this question is always a part of software testing interview questions and answers 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 are the phases of STLC?
Like there are different phases of the software development life cycle, there are different phases of software testing life cycle as well. Read through software testing life cycle for more explanation.

• 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 the testing to ensure nothing has changed, which should not have changed due to changes made.

• Explain stress testing.
Find the answer to this question in this article on stress testing.

• 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, walkthrough, management review. This is one of the manual testing interview questions.

• What are the different types of software testing?
There are a number of types of software testing which you will learn in the preceding link.

• 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 make sure that there are no conflicting or multiple functions or global variable definitions 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 functionality 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.

• Explain the waterfall model in testing.
Waterfall model is a part of software development life cycle, as well as software testing. It is one of the first models to be used for software testing.

• Tell me about V model in manual testing.
V model is a framework, which describes the software development life cycle activities right from requirements specification up to 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, implementation and ends 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. You may want to know about, how to log a bug (defect), contents of a bug, bug life cycle, and bug and statuses used during a bug life cycle, which help you in understanding the terms bug and defect better.

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

• Which are the different methodologies used in software testing?
Refer to software testing methodologies for detailed information on the different methodologies used in software testing.

• Explain performance testing.
It 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 system accomplish the designated functions given constraints regarding processing time and throughput rate. Therefore, performance testing is the process to test to 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 equivalence class partition.
It is either specification based or a black box technique. Gather information on equivalence partitioning from the article on equivalence partitioning.

• 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 exercise by a particular test suite. The formula which is used for statement coverage is:

Statement Coverage = 
Number of statements exercisedTotal number of statements
* 100%

• What is acceptance testing.
Refer to the article on acceptance testing for the answer.

• Explain compatibility testing.
The answer to this question is in the article on compatibility testing.

• What is meant by functional defects and usability defects in general? Give 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 invalid password and the user clicks on login button. If the application accepts the user name and password, and displays the main window, where an error should have been displayed. 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 usability testing?
Refer to the article titled usability testing for an answer to this question.

• What is exploratory testing?
Read the page on exploratory testing to find the answer.

• What is security testing?
Read on security testing for an appropriate answer.

• Explain white box testing.
One of the testing types used in software testing is white box testing. Read in detail on white box testing.

• What is the difference between volume testing and load testing?
Volume testing checks if the system can actually cope up 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 is 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 later on. Normally a group of users use the system before its complete deployment and give their feedback about the system.

• What is 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 purpose.

• Explain black box testing.
Find the answer to the question in the article on black box testing.

• What is verification and validation?
Read on the two techniques used in software testing namely verification and validation in the article on verification and validation.

• Explain validation testing.
For an answer about validation testing, click on the article titled validation testing.

• Explain beta testing.
For answer to this question, refer to the article on beta testing.

• 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 testing which runs the test cases that failed the last time, when 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 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 answers for freshers and the experienced. This is not an exhaustive list, but I have tried to include as many questions along with their answers, as I could in this article. I hope the article proves to be of help, when you are preparing for an interview. Here’s wishing you luck with the interviews and I hope you crack the interview as well.