top interview questions of software testing

top interview questions

top interview questions of software testing which can be asked during interviews. I hope this article will help you with your interviews. 

top interview questions

  • What is Software Testing and Why is software Testing required?

  Software Testing is an activity to check whether the actual result matches the expected result.  We also ensure that the software is defect-free.  Ensures that software should work as expected.

When we are working on software development and let’s suppose we are making a calculator application for the customer. Now without testing the application, we release the application on the user’s environment. When a user tries to use that application and tries to add some numbers. Then instead of performing addition, our software performs multiplication. Now, this becomes a very irritating situation. The user gets back to us and complains to us about this bug. If we perform proper software testing then we can get rid of these errors
This was a very basic example. There are numerous examples where improper software testing has led to the death of many peoples.
On this link, you will get a detailed analysis of what is software testing and why it is required.


  • What are verification and validation?

Verification: Process of evaluating the software at the development phase. It checks that the development is taking place as per the specifications. Verification is a static analysis technique and it occurs before validation. Here Testing is done without executing the code.
Validation: Validation means the developed product is bug-free and is working as expected. It is a dynamic analysis technique where testing is done by executing the code. Here we check that the developed software meets the customer’s requirements or not. validation comes after the verification phase.
  • What is functional testing and non-functional testing?

Functional Testing: Functional Testing means testing technique in which we test the functionality of the software. It is a type of black-box testing. In this technique System is tested by providing some valid input then we verify the output and checks that actual results match with the expected results. This testing technique can be performed in both ways: manually or by using automation. Here we don’t need to check the source code. We just need to check that our application should work as expected.
There are various types of functional testing that you can study by clicking on the given link.
Non Functional Testing: It checks the non-functional aspects of the software application. In non-functional testing, one can check the performance of the application, load time, usability, etc.
This testing is equally important as functional testing. The example of non-functional testing is checking how many users can log in at the same time or how many seconds our site took in loading.JMeter is the most widely used tool to perform non-functional testing.
By visiting this link you can know about various types of functional and non-functional Testing
  • What are the different levels of manual testing?

  1. Unit Testing
  2. Integration Testing
  3. System Testing
  4. Acceptance Testing
  • What is the difference between defect and failure?

Defect: When there is some variance between actual and expected result is known as a defect. It can occur if the application is not performing as expected or we haven’t made an application according to the requirements specified. It can be founded by a developer.
Failure: Failure occurs when the defect reaches the end customer.when we developed a software application. After completion of the software application is delivered to the customer and the customer finds an error in the application then it is known as a failure. It can be a human mistake or system environment error.
  • What is positive and negative Testing? (top interview questions)

Positive Testing: Positive testing can be done by providing valid data as input. It checks that the system behaves as expected with valid data.
For example, We are entering the name in entering a person name field. Now it accepts only characters’ data, so in this case, we enter characters in this field. This is how positive testing works. 
Negative Testing: In negative testing, we provide a system with invalid data and checks how the system behaves with these invalid inputs. It covers all test cases and provides good quality of the application. This testing is performed to check that our application doesn’t do anything that it is not supposed to do.
For example, Our submit button can be clicked only after filling the whole application but we click on the submit button when our form is empty or half-filled. This provides us 100% quality.
top interview questions
  • Whats is component Testing?

In component testing, each component in the application is tested separately. For example, if we have 3 components then all these 3 components are tested separately. Component testing is performed by testers.component testing is also known as module testing. Since component testing is performed at any stage then it helps in identifying errors at an early stage.
Component Testing is performed after unit testing. 
  • What are the advantages of manual testing?

  • Manual testing is cost-efficient
  • Manual testing can be performed in both large or small projects.
  • It can be performed in all kinds of applications.
  • Easy to learn for new people who just started testing.
  • In some cases, manual testing is more reliable than automation testing.
  • Manual Testing saves time in finding the bugs.
  • Explain the defect life cycle. (top interview questions)

The defect life cycle is the set of states that a bug goes through in its entire life. This starts when the tester finds any defect and ends when the tester closes the defect assuring that it won’t come back. It varies from project to project. 

Defect Life Cycle States:

  • New: When a defect is logged and posted the first time then this state is known as New.
  • Assigned: In this state, the logged defect is assigned to the development team. The tester finds that the bug is genuine then he assigns this bug to the development team.
  • Open: In this state, the developer starts working on the assigned bug. Now when a customer starts working on that logged bug, the following conditions can take place.
        • Duplicate: If the bug is repeated then the developer marks it as a duplicate bug.
        • Rejected: If the bug is not genuine then the developer marks the bug as rejected.
        • Not a Bug: If the logged bug has no link with the functionality. For example, the customer just asked to change the name of some person in the application then this is not a bug. So the developer marks it as Not a Bug.
        • Deferred: When the bug is expected to be fixed in coming or next releases then the logged bug can be marked as a deferred.
  • Fixed: When a developer has made required changes to the code and bug has been fixed from their end then the bug state is marked as fixed.
  • Pending retest: Developer gives the particular code to a tester for testing that fixed bug. Now in this state, the bug that needs to be tested is pending.
  • Retest: In this state tester performs the testing and check that the bug has been fixed or not yet fixed.
  • Verified: If after a retest, testers find out that the bug has been fixed then the status of the bug is marked as verified.
  • Reopen: If the bug still exists then tester changes the status to reopen and again this bug is assigned to a developer.
  • Closed: If the bug has been fixed successfully then the bug status marked as closed. This means that the bug has been fixed, tested, and approved.
  • What is the difference between user acceptance testing and system testing?

User Acceptance Testing: User acceptance testing is done after the system testing. It is used to check that the developed software meets customer requirements. It is performed by the end-user before moving the software application to the production environment. User acceptance testing is performed by the client and end-users. It covers both alpha and beta testing. It is performed on the basis of positive test cases.
System Testing: System testing is performed to check whether the software product meets the required requirements or not. The system is performed by developers as well as testers. It is performed after the development of software products and before delivering the product to the customer. Both functional, as well as non-functional testing, is performed. Both positive and negative test cases are performed in this testing.

These are top interview questions of software testing. In coming days, we will discuss about other top interview questions of software testing.