Software Testing Interview Questions


Q#1. What is Software Testing?

Ans. According to ANSI/IEEE 1059 standard – A process of analyzing a software item to detect the differences between existing and required conditions (i.e., defects) and to evaluate the features of the software item.


Q#2. What is Exploratory Testing?

Ans. Exploratory testing is a hands-on approach in which testers are involved in minimum planning and maximum test execution. The planning involves the creation of a test charter, a short declaration of the scope of a short (1 to 2 hour) time-boxed test effort, the objectives and possible approaches to be used. The test design and test execution activities are performed in parallel typically without formally documenting the test conditions, test cases or test scripts. This does not mean that other, more formal testing techniques will not be used. For example, the tester may decide to use boundary value analysis but will think through and test the most important boundary values without necessarily writing them down. Some notes will be written during the exploratory-testing session so that a report can be produced afterward.


Q#3. What are the different methods of testing?

Ans. 

There are three methods of software testing and they are as follows:

Black-Box Testing
White-Box Testing
Grey-Box Testing
Black-box testing: It is a testing strategy based solely on requirements and specifications. In this strategy, it requires no knowledge of internal paths, structures, or implementation of the software being tested.
White box testing: It is a testing strategy based on internal paths, code structures, and implementation of the software being tested. White box testing generally requires detailed programming skills.
Gray box testing: It is a strategy for software debugging in which the tester has limited knowledge of the internal details of the program.


Q#4. What is "use case testing"?

Ans. In order to identify and execute the functional requirement of an application from start to finish "use case" is used and the techniques used to do this is known as "Use Case Testing."


Q#5. What are the different levels of testing?

Ans. There are mainly four testing levels and they are:

Unit Testing
Integration Testing
System Testing
Acceptance Testing


Q#6. What is the difference between the STLC (Software Testing Life Cycle) and SDLC (Software Development Life Cycle)?

Ans. SDLC deals with development/coding of the software while STLC deales with validation and verification of the software.


Q#7. What is a test case?

Ans. A test case is nothing but a set of conditions or variables under which a tester will determine whether a system under test satisfies requirements or works correctly. 


Q#8. What is traceability matrix?

Ans. The relationship between test cases and requirements is shown with the help of a document. This document is known as a traceability matrix.


Q#9. What is Verification and Validation in Software Testing?

Ans. Verification: It is a static analysis technique. Here, testing is done without executing the code. Examples include – Reviews, Inspection, and walkthrough.

Validation: It is a dynamic analysis technique where testing is done by executing the code. Examples include functional and non-functional testing techniques.

In the V model, the development and QA activities are done simultaneously. There is no discrete phase called Testing, rather testing starts right from the requirement phase.  The verification and validation activities go hand in hand.


Q#10. What is Equivalence partitioning testing?

Ans. Equivalence partitioning testing is a software testing technique which divides the application input test data into each partition at least once of equivalent data from which test cases can be derived. By this testing method, it reduces the time required for software testing.