Interview Questions and Answers on Software Testing




1.  What is a test case?
     A test case is a document which specifies test steps, input values, expected output and the preconditions for executing the test to make sure that the application satisfies the requirement.

2.   What is the major benefit of start testing early in the life cycle?
     It helps to prevent defects from being introduced into the code. We can reduce the errors early in the starting stages so it will reduce the cost of the quality.

3.   Explain about Usability Testing?
     Usability Testing is for the ease with which users can learn and use a product.

4.   How can you say that a bug is valid?
     Any variation in the behavior of functionality from the requirement or client’s expectation is a valid bug.

5.   Difference between Priority and Severity?
     Priority is the order in which developer has to fix the bug whereas Severity is how seriously the bug is impacting the application.

6.   What is Traceability Matrix?
    It is a tool to map test case and test requirement/feature to ensure that all the software requirement/feature has been covered through testing.

7.   Explain about End-to-End Testing?
     The process of testing a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate is known as End-to-End Testing.

8.   Difference between Bug and Defect?
    Any fault in a program which makes it to perform in an unintended manner is termed as a Bug. If the software misses some feature of function from what is there in requirement it is called as a defect.

9.   Difference between Performance Testing and Load Testing?
    Performance testing is a type of testing intended to determine the responsiveness, reliability and/or scalability of a system under a given workload whereas Load testing helps to identify the maximum operating capacity of an application.

10.   Explain the different stages of Software Testing Life Cycle?
       The Software Testing Life Cycle (STLC) represents all the phases related to testing throughout the Software Development Life Cycle (SDLC). Below are the phases of STLC:
          a.  Requirements phase
          b.  Planning Phase
          c.  Analysis phase
          d.  Design Phase
          e.  Implementation Phase
          f.  Execution Phase
          g. Conclusion Phase
          h. Closure Phase

11.   What is Regression Testing?
       Regression testing is the testing after bug fixing, modification of a system, component, or a group of related units to ensure that the modification is working correctly and is not damaging or imposing other modules to produce unexpected results.

12.   What is Cyclomatic Complexity?
       It is the measure of logical complexity of an algorithm, used in white-box testing.

13.   What is Smoke Testing?
       Smoke testing is the most cost-effective method for identifying and fixing defects in software, after code reviews. It is done by testers before accepting a build for further testing.

14.   What is a Race Condition?
       It is a kind of concurrency problem which occurs when multiple accesses occurs to a shared resource, at least one of which is a write, with no mechanism to control simultaneous access.

15.   What is Gorilla Testing?
       Testing one particular module or functionality heavily is known as Gorilla Testing.

16.   Explain Exploratory Testing?
       Testers have to understand the application first by exploring the application and based on this understanding they should come up with the test scenarios.

17.   Which are the software testing methods to be used to test software in abnormal condition?
       Stress Testing

18.    What is Stress Testing?
       Testing conducted to evaluate a system or component at or beyond the limits of its specified requirements to determine the load under which it fails and how is known as Stress Testing.

19.   What is the KEY difference between preventative and reactive approaches to testing?
       Preventive approaches will always prevent the occurrence of bugs by testing designs, corresponding diagrams and use cases and unit tests etc. 
       Corrective technique concentrates on something which has gone wrong i.e. finding bugs and fixing it after coding.

20.   What is Monkey Testing?
       Testing a system or an Application on the fly, i.e. just few tests here and there to ensure the system or an application does not crash out is known as Monkey Testing.


Comments