Interview questions for Software Testing

1. What are the different methods of testing?

There are three methods of software testing and they are as follows:
• 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.

2. What is Exploratory Testing?

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

3. What is Test Bed?

An environment configured for testing. Test bed consists of hardware, software, network configuration, an application under test, other related software.

4. What is Test Environment?

Test Environment is the combination of hardware and software on which Test Team performs testing.

5. What are the different levels of testing?

There are mainly four testing levels and they are:
 Unit Testing
 Integration Testing
 System Testing
 Acceptance Testing
Basically, it starts with the Unit Testing phase and ends with Acceptance Testing.

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

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

7. What is Verification and Validation in Software Testing?

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.

8. What is traceability matrix?

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

9. What is usability testing?

It is a testing methodology where the end customer is asked to use the software to see if the product is easy to use, to see the customer’s perception and task time. An accurate way to finalize the customer point of view for usability is by using prototype or mock-up software during the initial stages.

10. What are the best practices for writing test cases?

• Write test cases with end-users perspective
• Write test steps in a simple way that anyone can follow them easily
• Make the test cases reusable
• Set the priority
• Provide a test case description, test data, expected result, precondition, postcondition.
• Write invalid test cases along with valid test cases
• Follow proper naming conventions
• Review the test cases regularly and update them if necessary.

11. What is Equivalence partitioning testing?

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.

12. Explain which test cases are written first black boxes or white boxes?

Black box test cases are written first as to write black box test cases; it requires project plan and requirement document all these documents are easily available at the beginning of the project. While writing white box test cases requires more architectural understanding and is not available at the start of the project.

13. Explain Bug Life Cycle or Defect life cycle?

A defect life cycle is a process in which a defect goes through various phases during its entire lifetime. It starts when a defect is found and ends when a defect is closed, after ensuring it’s not reproduced.
Bug or defect life cycle includes the steps as illustrated in the below figure. If you wish to learn in depth about Bug Life Cycle then you can refer my article on Software Testing Tutorial.

14. What is configuration management?

Configuration management (CM) is a process of systems engineering to maintain system resources, computer systems, servers, software, and product’s performance in a consistent state. It helps to record all the changes made in the system and ensures that the system performs as expected even though changes are made over time.

15. Name some popular configuration management tools?

Some of the popular configuration management tools are Ansible, Chef, Puppet, Terraform, Saltstack, etc.

16. What is Test Harness?

A test harness is the collection of software and test data configured to test a program unit by running it under varying conditions which involves monitoring the output with the expected output.
It contains the Test Execution Engine & Test Script Repository

17. What is Test Closure?

Test Closure is the note prepared before test team formally completes the testing process. This note contains the total no. of test cases, total no. of test cases executed, total no. of defects found, total no. of defects fixed, total no. of bugs not fixed, total no of bugs rejected etc.,

18. What is coverage and what are the different types of coverage techniques?

The parameter used in software testing to describe the extent to which the source code is tested is known as coverage. There are three basic types of coverage techniques and they are:
1. Statement coverage: It ensures that each line of source code has been executed and tested.
2. Decision coverage: It assures that every decision (true/false) in the source code has been executed and tested.
3. Path coverage: Here we ensure that every possible route through a given part of the code is executed and tested.

19. What are the benefits of Automation testing?

Benefits of Automation testing are:
1. Supports execution of repeated test cases
2. Aids in testing a large test matrix
3. Enables parallel execution
4. Encourages unattended execution
5. Improves accuracy thereby reducing human-generated errors
6. Saves time and money

21. What is Fuzz testing and when it is used?

Fuzz testing is used to detect security loopholes and coding errors in software. In this technique, random data is added to the system in an attempt to crash the system. If vulnerability persists, a tool called fuzz tester is used to determine potential causes. This technique is more useful for bigger projects but only detects a major fault.

22. Mention what the main advantages of statement coverage metric of software testing are?

The benefit of statement coverage metric is that
a) It does not require processing source code and can be applied directly to object code
b) Bugs are distributed evenly through the code, due to which percentage of executable statements covered reflects the percentage of faults discovered.

leave your comment


Your email address will not be published. Required fields are marked *