Top Mostly asked Software Testing Interview Questions-Answers in 2020

TechiesHub9
11 min readOct 31, 2020

Q.1. What is Software Testing ?

Answer — Software Testing is a process of executing an application or a programme with the intent of finding the software bugs. It verifies actual product with an expected product to make it defect free.

Q.2. What is Software Testing Life Cycle (STLC)?

Answer — Software Testing Life Cycle(STLC) is a process of whole activities performed during bug detection to bug resolve. There are multiple phases in STLC. Each phase in STLC has specific action to be performed. You will get more reference about it here.

Q.3. What is White Box Testing and Black Box Testing ?

Answer

Black Box Testing is a Software Testing method in which internal structure/ code/ implementation of any software product/program is not known to the tester. Tester don’t have any idea about internal working of any product is being tested, limited knowledge means only external functionality is known. It is done by Testers. Here Programming knowledge is not needed to perform Black Box Testing.

White Box Testing is a Software Testing method in which internal structure/ code/ implementation of any software product is known to the Tester. Tester knows how the internal working goes, implementation works. It is applicable to Unit Testing, Integration Testing. It is mostly done by developers and Testers too. Here Programming knowledge is needed to perform White Box Testing.

Q.4. What is difference between Error, Defect & Bug in Software Testing?

Answer –

Error: The different output from the required logic, syntax or standards is called as Error.

There are 3 types of Errors: 1.Syntax Error 2. Logical Error 3.Execution Error

Defect: When an error is detected by Tester i.e. Quality department then it is called a Defect.

Bug: When a defect gets approved by the Software Developer then it converts into Bug.

Q.5. What is Traceability Matrix?

Answer — Traceability matrix also called Requirement Traceability Matrix is a table that traces the requirements during the S/W development life cycle.This includes one with the requirement specifications and another one with the test cases.There are many user defined templates for RTM. Each requirement is RTM document is linked with it’s associated test case so that testing can be done as per the mentioned requirements. Furthermore, Bug Id is also linked with it’s associated requirements and test case.A Traceability Matrix is a document that co-relates any two-baseline documents that require a many-to-many relationship to check the completeness of the relationship.

Requirement Traceability Matrix (RTM) is a document that maps and traces user requirement with test cases.It captures all requirements proposed by the client and requirement traceability in a single document, delivered at the conclusion of the Software devlopement life cycle. The main purpose of Requirement Traceability Matrix is to validate that all requirements are checked via test cases such that no functionality is unchecked during Software testing.

Parameters of RTM:

  1. Requirement Id
  2. Requirement Type and Description
  3. Test Cases with Status

Traceability Matrix can do below listed things:

1. Show the requirement coverage in the number of test cases

2. Design status as well as execution status for the specific test case

3. If there is any User Acceptance test to be done by the users, then UAT status can also be captured in the same matrix.

It checks 100% test coverage. It analyzes the impact on the QA team’s work with respect to revisiting or re-working on the test cases. The related defects and the current state can also be mentioned in the same matrix. It shows missing requirements or document Failure. It helps in tracing the developed documents during different phases of SDLC. It shows the overall defects or execution status with a focus on business requirements.

Q.6. What are the Types of Software Testing? Explain ?

Answer — Basically on high level there are 2 types of Software Testing:

1. Functional Testing

2. Non-Functional Testing

Functional Testing: Functional Testing is nothing but What is the work is supposed to do. It tests whether each functionality or operation is performing as per requirement. Functional Testing tests the behavior of a software under test. Types of Functional Testing:

1.Unit Testing

2.Smoke Testing

3.Sanity Testing

4.Integration Testing

5.System Testing

6.Component Testing

7.Regression Testing

8.User Acceptance Testing

Non-Functional Testing: Non-Functional Testing is a type of testing which is performed to verify the Non-functional requirements of Application. It is based on the requirements defined by clients. It focuses on the behavior of the product not the functionality. It enhances the performance of the software.

Q.7. What is Test Case, Test Scenario, Test Suite ?

Answer

Test Case: Test case is a set of actions to be performed on the Software product to verify the expected functionality of the sprint or feature. A Test case contains test steps, test data, preconditions, Expected Result, Actual Result, Status, Post conditions, etc. It describes “How to Test” any functionality.

Test Scenario: Test Scenario describes What to Test. Multiple test cases can be created from single Test Scenario. It covers a wide range of possibilities.

Test Suit: A Collection of Test Cases is called Test Suit. Test Suits are based on the scope of project.

Q.8. What is Smoke Testing and Sanity Testing ?

Answer

Smoke Testing is a process which checks the major functionality of any product or build is working fine or not. Instead of going in detail deep testing, it checks only major core parts of build. This is how tester can reject any majorly affected links or broken links at initial stage. The main focus of Smoke Testing is to test the critical areas/ parts of the application and not whole application.

Sanity Testing : Sanity Testing is a type of Testing which checks whether software is working fine when any new module or functionality gets implemented to an existing product and after bug got fix. Sanity Testing is usually performed by Testers. Sanity Testing is a subset of Regression Testing.

Q.9. What is Priority and Severity in Software Testing ?

Answer — Priority of the Test is urgency to solve the bug.

Severity is Impact of the bug on the application.

Q.10. What is Load Testing and Stress Testing ?

Answer

Load Testing: Load Testing is a non-functional testing in which performance of software application is tested under a specific expected Load. It is testing of an application under normally expected condition. It checks the highest limit of any module in an application.Ex. No. of logged in users.

Stress Testing: Stress Testing is nothing but testing of an application under worst case situation. It verifies the higher point at which system breaks. It checks reliability and capability of product.

Ex. Website get crashed, slow speed at the time of any online sale

Q.11. What is Regression Testing ?

Answer — Regression Testing is a type of testing in which testers verify that any change in code of the software does not affect any existing functionality of software. It checks whether product is working fine after change in any functionality or existing code. In Regression testing already executed test cases gets executed to ensure whether they are working fine or not.

Q.12. What is Unit Testing ?

Answer — Unit Testing is basically done by Developers at the time of Software Development. It is a type of testing where every individual units are tested. The focus is to check every single unit of product is performing as expected.

Q.13. What is Verification and Validation in Software Testing ?

Answer

Verification: Verification is static testing. It occurs before Validation. It addresses the concern “Are you building product Right?”. It is done by Developers. It includes following activities: 1. Inspections 2. Reviews 3. Walk- throughs 4.Demos

Validation: Validation is dynamic testing. It occurs after Verification. It addresses the concern “Are you building the Right product?”. It is done by Testers. It includes following activities: 1.Functional Testing. 2. Non-Functional Testing.

Q.14. What is Integration Testing ?

Answer — Integration Testing is defined as the testing of combined parts of an application to determine if they are working correctly. Integration Testing performed after Unit Testing. Here, we test the group of related module. It finds interfacing issues between the modules. It can be done in 2 ways: 1. Bottom-Up Integration Testing 2. Top- Down Integration Testing

Q.15. Difference between Retesting and Regression Testing ?

Answer –

Retesting: Retesting test the failed test cases in final execution to verify whether issue has resolved or not. It is applied on Defect fixes. Defect Verification is came under Retesting. Priority of Retesting over Regression Testing is higher, so it is carried out before Regression Testing. Retesting is performed on Failed Test cases.

Regression Testing: Regression Testing is a testing which checks due to any bug fix or modification in code other part of the application should not get affected. It is not performed for specific defect fixes. It is carried out parallel with Retesting. Regression Testing is performed on only passed test cases.

Q.16. What is Gorilla Testing ?

Answer — Gorilla Testing is a type of testing in which testers and sometimes developers also takes part. In this testing any product or module get tested in all aspects repeatedly to check the robustness of the product. Gorilla Testing describes the repetitive, boring manual testing process which is done by tester hundred times before. It checks the functionality of any module heavily. It is also called as Frustrating Testing.

Q.17. What is Monkey Testing ?

Answer — Monkey Testing is a type of testing in which user or tester provides a random input to check the behavior of any application, to check whether system is crashing or not. This technique does not follow any predefined test cases. This testing works well at the time of Load / Stress testing by providing random inputs to check whether application is breaking or not.

Q.18. What is Exploratory Testing ?

Answer — As in name Exploratory Testing is about exploring the product. What is the purpose of product or any application, what it does, what it doesn’t do, what works and what not works. In this Testers are involved in minimum planning and maximum test execution. This testing means testing of Software without any specific plans and schedules.

Q.19. Explain Alpha, Beta Testing ?

Answer –

Alpha Testing: Alpha Testing is a first phase of testing in customer validation. It is performed in Development environment before it is released to the customer. Here white-box and or black box testing technique are involved. Here the functionality, usability of the product gets tested.

Beta Testing: This is the second phase in Customer Validation. It is performed in Customer environment

Q.20. What is Compatibility Testing ?

Answer — Compatibility Testing is a Non-Functional type of Testing which performed to check whether an application or software product is working fine on different devices, different operating system, different browsers, different hardware and network requirements.

Q.21. what is Release and Build ?

Answer — A Release is an installable software provided to the end-users after it gets tested by testers. At the time of product release, release notes are attached to it includes a number of defects still open, covered user stories, change-requirements, and version of the release.

A Build is an executable file passed by Developers to the testing team for testing the application. It undergoes various processes of fixing and testing until the application works as expected. Once the application becomes stable and ready, it gets released in the market.

Q.22. What is Fuzz Testing ?

Answer — Fuzz Testing is a testing in which a large amount of random input data is provided to the application to find any security threats or risk and issues in the application.

Q.23. Difference between Web Application and Desktop Application ?

Answer — Desktop application is a computer programe which runs on local computer. It needs electricity and desktop/ laptop/ tablet etc. Desktop apps are restricted for some hardware requirements.

Web Application can be used worldwide at any time, at any location. It just needs an internet connection, network requirement. Those who have access to browser, internet can use web application.

Q.24. Difference between Test Driver and Test Stub ?

AnswerTest Stub is a prototype of a function which integrates with an application to complete it’s functionality. Prototype means only a skeleton of a function without any code. It is useful in testing that follows top-down approach.

Test Driver is a part of a program that calls Software component under Test. It is useful in testing that follows bottom-up approach.

Q.25. On What basis you will write Test Cases ?

Answer — I would write the test cases based on Functional specifications and Business Requirements Document (BRD) and test cases using the domain knowledge.

Q.26. In which phase of SDLC, Tester’s role starts ?

Answer — In Software Development Life Cycle, after completion of FRS Document the Test Lead prepare the use case document and test plan document, then the tester role starts.

Q.27. Explain Test Plan in Software Testing?

Answer — Test Plan in Software Testing is a formal document which describes the scope of testing, time requirement, resource requirement, test environment in which testing will be performed, schedule of testing activities. Basically Test Team Lead writes the Test Plan. It is derived from the Software Requirement Specifications.

Q.28. What is Exhaustive Testing ?

Answer — Exhaustive testing is a testing in which all possible data combinations are used as a input to check the application’s performance.

Q.29. What is GUI Testing ?

Answer — GUI is a Graphical User Interface Testing in which tester finds the defects in User Interface. It checks whether User interface is looking as expected and meet the specifications.

Q.30. What is Positive and Negative Testing ?

AnswerPositive Testing is performed to proove that a given product or application is working as it is expected to do. The need of Positive Testing is to verify the known test conditions. When a test case tests the software to obtain a set of expected output, it is called as Positive Testing.

Negative Testing is performed to proove that application does not fail when an unexpected input is given. The need or purpose of Negative Testing is to break the system with unknown inputs. Providing unknown input to the application gives an idea about how the application is performing in critical situation. When you put an invalid input and receive errors is known as negative testing.

Q.31. Explain Formal Testing ?

Answer — Formal Testing is performed with a plan, documented set of test cases, etc that outline the methodology and test objectives. Test documentation is developed from requirements documents, design document, equivalence partitioning, domain coverage, error guessing, etc.

Q.32. Explain Security Testing ?

Answer — As in name Security Testing is a testing which determines data and resources be saved from outer intruders. It saves the system from any kind of vulnerabilities that any hacker could exploit.

Q.33. What is UAT ?

Answer — UAT in Software Testing is User Acceptance Testing. This is the last phase of STLC. It is also known as end-user testing. The purpose of this testing is to verify that Software is working as per the Business Requirements or Expectations. It checks the user-friendliness of the application.

Q.34. What is Adhoc Testing ?

Answer — Adhoc Testing is a testing in which tester tries to break the system by giving multiple random inputs. It is performed without any proper planning, test cases and functionality. Adhoc tests are performed after formal testing is performed. The tests are intended to be run only once, unless a defect is discovered.

Q. 35. What is Spike Testing ?

Answer — Spike Testing is a non-functional type of testing. It is a performance testing in which application’s performance get checked after increasing the number of active users during the load testing.

Q.36. Explain Software Testing Techniques ?

Answer

Software Testing Techniques gives testers a better idea to write testcases. It reduces a no. of test cases.

There are 5 different Test Design Techniques:

  1. Boundary Value Analysis (BVA)
  2. Equivalence Class Partitioning
  3. Decision Table based Testing
  4. State Transition
  5. Error Guessing

--

--