In this era of the internet, the influence of software is quite strong. Software tools have become an indispensable part of this world and are changing human lives in many ways. They are powering various industries, ranging from education and businesses to healthcare and government agencies.
Customers are more inclined to use software that is free of bugs and offers smooth operation. As a result, it is critical to make sure that software is reliable and free from defects before going live in the market. This is where software testing comes into play.
Software testing refers to the process of verifying and validating a software product or application to ensure that it is free from flaws and works as expected. In other terms, we can say that software testing is an approach to checking that a software product meets the expected quality standards and requirements.
The sole purpose of software testing is to identify bugs or defects and missing requirements. Software testing is carried out either manually or using automated tools. Therefore, manual testing and automation testing are the two fundamental types of software testing.
This article primarily focuses on familiarizing you with some commonly asked manual testing interview questions and answers. But before we move on to that, let’s discuss what exactly manual testing is.
What is Manual Testing?
Manual testing is a type of software testing in which testers run test cases manually without the intervention of any test automation tool. It is the earliest type of software testing that aims to identify critical bugs and defects in a software product.
Let us consider one example to understand the need for testing. Consider that you have created a website and you want to test it for functionality. In this case, let us consider that the expected behavior of the website is that whenever users enter a username and password and hit the login button, they should be directed to the website’s home page.
Now, testers check the website for its expected behavior. When they run tests and determine that the login button does not redirect to the website’s home page, they report an error to a developer. The developer then fixes this issue and submits the website back for testing.
In general, testers need to test a software product until it meets the specified requirements or behaves as intended.
Top Manual Testing Interview Questions and Answers for Freshers and Experienced Professionals
Now, you know what manual testing is, let us now discuss some of the most frequently asked manual interview questions. We have split these questions into three levels, namely basic, intermediate, and advanced. So, here it goes!
Basic Manual Testing Interview Questions
1. What is software testing?
Software testing is a process of determining the completeness, correctness, and quality of software products. Alternatively, we can define software testing as an activity carried out by testers to check whether a particular software product meets the defined requirements and is free from defects or bugs. Its sole aim is to release bug-free and functional software.
2. Why is software testing required?
Testing software products is an inevitable aspect of the software development process since it guarantees that products are ready to use.
The following are some reasons that prove the importance of software testing:
- Software testing helps in identifying bugs and errors in software products.
- It ensures that a software product meets the quality standards and meets the requirements of end-users.
- With software testing, we can deliver fully-functional and error-free software products that make customers satisfied, which, in turn, helps to build strong relationships with customers.
- It ensures that a software product provides consistent, reliable, and accurate results without any failure.
3. Explain two fundamental categories of software testing.
Software testing has two broad categories, namely manual testing, and automation testing. Let us discuss each of these testing types in detail below.
- Manual Testing: In manual testing, Quality Assurance (QA) testers test a software application by executing test cases manually without requiring any automation tool.
- Automation Testing: Automated testing is a software testing type that uses special automated testing tools to execute test cases and compare the actual outcome with the expected outcome. It increases test coverage, effectiveness, and execution speed of the software testing process.
4. How does quality control differ from quality assurance?
Both quality control and quality assurance terms are used interchangeably in software testing. We can say that these terms are two different aspects of the same coin.
Quality control can be defined as the part of quality management focusing on meeting the quality requirements of a software product. It verifies that the software product has no defects and meets all the requirements specified by stakeholders.
On the other hand, we can define quality assurance as to the part of quality management that focuses on providing confidence that the quality requirements of a software product will be satisfied. Also, it concentrates on ensuring that methods and techniques used for developing quality deliverables are employed correctly.
5. What is the difference between SDLC and STLC?
SDLC stands for software development life cycle, whereas STLC stands for software development testing cycle. The first one deals with the development of software products, while the second one focuses on the validation and verification of the software products.
6. List out different types of manual testing.
The following are the different types of manual testing:
- Black Box Testing
- White Box Testing
- System Testing
- Acceptance Testing
- Integration Testing
- Unit testing
7. Explain different levels of manual testing.
There are four different levels of manual testing, as described below:
- Unit Testing: It involves testing a small testable portion of an application, called a unit. Each unit is tested individually. It focuses on testing every component or module of a software product and ensuring that they meet the specified requirements. Generally, developers perform unit testing.
- Integration Testing: It aims to combine all the individually tested components to form a single integrated system that undergoes testing. It ensures that the data flow between software components is correct and the integrated system is ready for the next level of testing. Testers are responsible for performing integration testing.
- System Testing: The integrated system is tested for its reliability, security, load, and performance. System testing ensures that a software product meets the requirements specified by stakeholders.
- User Acceptance Testing: It is the final level of manual testing that verifies whether or not the system is ready to be delivered to the end-users. As its name suggests, user acceptance testing is carried out by end-users, customers, or stakeholders.
8. Explain the difference between alpha testing and beta testing.
Alpha and beta testing are the types of user acceptance testing. The first one is carried out with the intent to identify bugs or errors in a software product before its release. On the other hand, beta testing is carried out by end-users of an application.
9. What are validation and verification?
Verification, also known as static testing, is the process of ensuring that we are developing the right product. It is carried out during the development phase of software products.
The sole purpose of verification is to check the quality, architecture, and design of a software product and ensure that it is being developed as per the specified requirements.
Following are the steps involved in the verification process:
Validation, also known as dynamic testing, is the process of ensuring that we have developed the right product. It is carried out after the development of software products. The principal objective of validation is to ensure that a software product meets the requirements specified by end-users.
Steps involved in validation are:
- Functional testing
- Non-functional testing
10. List out the different steps involved in manual testing.
Manual testing involves five different steps that are as follows:
- Planning and control
- Analysis and design
- Implementation and execution
- Evaluating exit criteria and reporting
- Test closure activities
11. What is a test case?
We can define a test case as a series of actions to be performed on a particular system to check whether it functions as expected and meets the specified requirements. It checks whether all the features within a system are functioning properly or not. Also, it ensures that the system meets the specified quality standards.
Generally, a test case consists of the test data, preconditions, postconditions, and test steps.
The quality assurance (QA) team is responsible for writing test cases. A collection or set of test cases is referred to as a test suite. Once developers completely develop an application, testers execute test cases on it.
12. Explain the difference between a defect and a bug.
In software testing, we can define a bug as a fault in an application occurring during the testing process. In simple terms, a bug is the result of a coding error that makes a program work poorly and produce inaccurate results. A bug is identified and corrected before a software product goes live in the market.
On the other hand, we can state a defect as a variance between the actual results and the expected results. Alternatively, it is a deviation in the customer requirements. A defect is detected once a software product is released.
13. State the advantages of manual testing.
The following are the advantages of manual testing:
- Manual testing is relatively cheaper than automation testing.
- With manual testing, testers can analyze the software product from the end-users perspective.
- We can perform GUI testing more precisely with the help of manual testing.
- Manual testing is easier to learn for beginners.
- It is ideal for small-scale projects where there is no need to repeat test scripts or reuse them repetitively.
14. State cons of manual testing.
The following are the disadvantages of manual testing:
- Manual testing consumes a lot of time.
- Load testing and performance testing are impractical in manual testing.
- It is highly susceptible to human errors.
- Carrying out regression testing manually is incredibly time-consuming.
- Manual testing has less scope as compared to automated testing.
- It is not ideal for large-scale and time-bounded projects.
15. What is white box testing?
White box testing is a manual testing type that aims to test a software product’s internal structure, design, and coding to verify the input-output flow. It helps in improving the software product’s usability, security, and design. The code of the software product is visible to testers, and hence, white box testing is referred to as clear box testing, transparent box testing, code-based testing, glass box testing, and open box testing.
16. What do you verify in white box testing?
In white-box testing, we verify:
- The security holes in a software product’s code.
- Broken and incomplete paths in code.
- The flow of input and output, as specified in the requirements document.
- The expected output.
- All conditional loops in the code.
17. What is black box testing?
Black box testing is a manual testing type that intends to test the functionalities of a software application without knowing its internal code structure, internal paths, and implementation details. It is entirely based on the requirements of a software product and focuses on its input and output. It is also referred to as behavioural testing.
18. Explain the difference between retesting and data-driven testing.
- Retesting: It focuses on checking bugs that are actioned by the development team to confirm that they are fixed.
- Data-driven Testing: It involves the testing of a software application with multiple test data. It is also referred to as table-driven testing or parameterized testing.
19. What is a test matrix and a traceability matrix in software testing?
A test matrix is used to capture the effort, plan, quality, time, and resources required to finish all the phases of software testing.
A software testing traceability matrix is a document that maps and traces the relationship between two documents, where one is requirement specification, and the other one is related to test cases. It ensures that all the requirements specified by end-users or stakeholders are covered in the test cases. Also, the traceability matrix makes it easier to identify missing functionalities.
20. What is a test plan, and what does it include?
A test plan is a document containing the test strategy, estimation, deliverables, objectives, schedule, and resources required for performing testing on a software product. Hence, we can say that a test plan is a blueprint required to perform various software testing activities in an organized manner, and it is managed by test managers.
The test plan document includes:
- Test scope
- Testing goals
- Testing Environment
- Reasons for testing
- Risk factors
- Criteria for entry and exit
21. What is a testbed in manual testing?
A testbed is a combined environment of hardware and software configured for performing testing. It consists of a specific operating system, hardware, software, network configuration, and the product under test.
22. What is exploratory testing, and when to perform it?
Exploratory testing is a software testing type that involves simultaneous learning, test design, and test execution. Testers do not create test cases in advance; instead, they test the system on the fly. They use their testing experience and domain knowledge to determine under what conditions the system may behave unexpectedly.
Before the software is released, testers perform exploratory testing on it as a final check.
Intermediate Manual Testing Interview Questions
23. What is the difference between manual testing and automation testing?
The below table highlights the key differences between manual and automation testing:
|Manual Testing||Automation Testing|
|Testers execute test cases manually without the intervention of automation tools.||Testers execute test cases using automation tools.|
|Manual testing is time-consuming.||Automated testing is relatively faster than manual testing.|
|It is possible to perform exploratory testing manually.||It is not possible to automate exploratory testing.|
|Manual testing is not accurate as there are high chances of human errors.||Automation testing is more accurate than manual testing since it uses automated tools to develop and execute test cases.|
|The investment and Return on Investment (ROI) in manual testing are low.||The investment and Return on Investment (ROI) in automation testing are high.|
|It is impractical to carry out load testing and performance testing manually.||We can use test automation for load testing and performance testing.|
|Manual testing helps in enhancing the customer experience since it lets humans detect glitches in an application.||Automation testing does not involve human observation, and hence, it does not guarantee a better customer experience.|
24. When should you consider manual testing over automated testing?
There are multiple cases where manual testing is considered over automation testing. Some of the cases are listed below:
- Short-term projects: Automation testing requires a lot of investment and planning. Therefore, it is reliable to use manual testing for short-term projects since they require less time and resources. For example, if you wish to build a small promotional website, manual testing would be more efficient.
- Ad-hoc testing: It is an unplanned and unstructured software testing type that does not follow any test design technique or documentation to create the test suite. So, ad-hoc testing is generally carried out manually.
- Exploratory testing: This type of software testing requires human involvement, and hence, it is carried out manually.
- Usability testing: The usability testing evaluates how efficient, convenient, and user-friendly a software product is, which requires human observation. Therefore, it is beneficial to carry out usability testing manually.
25. What is the role of test documentation in manual testing?
Test documentation is a document containing all testing-related details and is created before or during the testing process. We can define test documentation as a suite of documents containing information regarding test planning, test design, test execution, and test results. The test documentation helps testers to determine the testing effort required, test coverage, execution progress, etc.
The following are some significant types of test documentation:
- Test Strategy: A document containing all the test types to be executed for a software product.
- Test Plan: A planning document containing the scope, resources, approach, and schedule of testing activities.
- Requirement Traceability Matrix: A document that connects the requirements to test cases.
- Test Case: A document containing input values, execution preconditions, execution postconditions, and results.
- Test Data: A document containing data used for executing test cases.
26. What is regression testing?
Regression testing is a type of software testing carried out to ensure that any change or addition to the code of a software product does not affect its existing functionality. The primary purpose of regression testing is to ensure that a software product works well with new functionalities, bug fixes, or any other changes to existing functionality.
Below are some scenarios where you need to carry out regression testing:
- When new functionalities are added to the system.
- When the requirements change.
- In case of a defect fix.
- When there are performance issues.
- When there is a patch fix.
27. Explain the difference between system testing and integration testing.
The below table explains the significant differences between system testing and integration testing:
|System Testing||Integration Testing|
|It tests a software product as a whole to ensure that it meets the user requirements.||It tests an integrated system formed by combining different modules of a software system.|
|System testing is performed after integration testing.||Integration testing is performed after unit testing.|
|It involves both functional and non-functional testing.||It only involves functional testing.|
|Only test engineers perform system testing.||Test engineers, as well as developers, can perform integration testing.|
|It focuses on the behaviour of modules as a whole.||It focuses on the interface between two software modules.|
28. Explain the defect life cycle.
The defect life cycle, also known as the bug life cycle, is a journey of a defect where it goes through different phases during its lifetime. Whenever a defect is found, the life cycle of that defect begins and comes to an end once it is resolved.
The following are the different states of the defect life cycle:
- New: When a new defect is detected, it is assigned as NEW.
- Assigned: The newly detected defect is assigned to the development team.
- Active: A defect is active when it is addressed by a developer. A developer further investigates the defect and comes up with two possible outcomes, namely Deferred and Rejected.
- Rejected: A defect gets rejected if it is a duplicate defect, NOT a defect, or non-reproducible.
- Deferred: If a defect can not be addressed in that cycle, it gets deferred to a future release.
- Test: When developers fix a defect, it gets ready for testing.
- Verified: Once fixed, the QA team then retests the defect.
- Closed: It is the final phase of a defect.
29. What is a test harness, and why do we need to use it?
A test harness in software testing is collecting test stubs, drivers, and all other required tools essential for automating the test execution. It uses a test library to execute tests and generate test reports. Also, it contains information about the test file under test, test cases, target deployment port (TDP), etc.
We use a test harness because it:
- Automates the testing process.
- Executes test suites.
- Generate associated test reports.
- Supports debugging.
- Records the test result for each test.
- Increases the system’s productivity through automation.
- Enhances the quality of a software application’s different components.
- Handles complex scenarios during the test process testers find difficult.
30. What is a test closure?
A test closure is a document highlighting the summary of all the tests executed throughout the software development process. Also, it provides a complete analysis of the errors found and bugs removed.
We can refer to test closure as a memo prepared before completing the testing process. It consists of the total number of experiments carried out, bugs discovered, bugs settled, bugs not settled, bugs rejected, and bugs postponed.
31. What does the pesticide paradox principle state?
The pesticide paradox principle states that if the same test cases are executed again and again over some time, then they will not be capable of finding new bugs in a software product. Therefore, it is essential to revise and review regular test cases to detect new bugs in the system.
32. Explain defect cascading in software testing.
Defect cascading in software testing is the identification of a defect that has the potential of developing other defects in a software product. The testing team needs to fix such defects at the earliest since they become a cause for many other potential defects.
33. Explain the top-down and bottom-up integration testing.
Top-down integration testing: It is also referred to as Incremental Integration Testing. In this approach, higher-level modules are tested before the lower-level modules. High-level modules are referred to as main modules, whereas lower-level modules are called submodules.
Bottom-up integration testing: In this approach, lower-level modules are tested first, and then high-level modules are tested. Like the top-down approach, high-level modules are main modules, and lower-level modules are submodules.
34. How smoke testing differs from sanity testing?
The below table helps you understand the dissimilarities between smoke testing and sanity testing:
|Smoke Testing||Sanity Testing|
|It is carried out to determine if the critical functionalities of a software product are working fine.||It is performed to check whether the new bugs have been fixed after the software build.|
|Smoke testing is the subset of acceptance testing.||Sanity testing is the subset of regression testing.|
|Developers and testers can both perform smoke testing.||Only testers perform sanity testing.|
|It is used to test the overall functionality of a software product.||It is used to test only the modified or defective functionality of a software product.|
|We can carry out smoke testing either manually or using automation tools.||We only have the option to perform sanity testing manually.|
|Smoke testing is documented.||Sanity testing is not documented.|
|It is performed when any new product is developed.||It is performed after regression testing.|
35. Explain the difference between static and dynamic testing.
The following table highlights the difference between static and dynamic testing:
|Static Testing||Dynamic Testing|
|Static testing is performed in the initial phases of the software development process.||Dynamic testing is performed in the later stages of the software development process.|
|In static testing, the whole code of an application is not tested.||In dynamic testing, the whole code of a software product is tested.|
|Static testing involves a checklist for the testing process.||Dynamic testing involves test cases for the testing process.|
|The cost required for identifying and fixing bugs is comparatively lower.||The cost required for identifying and fixing bugs is high.|
|Software verification is called static testing.||Software validation is referred to as dynamic testing.|
36. Explain the terms bug release and bug leakage.
Bug Release: When a particular software product is assigned to the testing team knowing that it has defects, it is called bug release. In such a case, the severity and priority of bugs are low.
Bug Leakage: A bug leakage is when a bug goes undetected during the testing process, and after a software product gets released, the end-users identify that bug.
37. Explain positive testing and negative testing.
Positive testing: It is a type of software testing carried out on a software application by giving valid data sets as input. Positive testing aims to check whether the software application functions as expected with the given valid data sets.
Negative testing: It is a type of software testing carried out on a software application by providing invalid or improper data sets as input. Negative testing is performed to check whether the software application functions as expected with invalid data sets.
Advanced Manual Testing Interview Questions
38. What is Rapid Application Development (RAD)?
Rapid Application Development (RAD), also known as Rapid Application Building (RAB), is an agile software development methodology that prioritizes rapid prototype releases and iterations. In RAD, various components or functions of a software product are developed parallelly, as if they are mini-projects. After the development of all the components, they are assembled into a single working system.
39. What is Boundary Value Testing?
Boundary value testing is a software testing technique that performs the testing of data based on boundary values or between two opposite ends. Here, ends may be lower to upper, minimum to maximum, or start to end. This type of testing technique comes under black-box testing.
For example, let us consider a bank application that allows users to withdraw the maximum amount of Rs. 50,000 and the minimum amount of Rs. 100. If we perform boundary value testing on this bank application, we only test the exact boundaries, i.e., we test below the minimum limit and above the maximum limit.
40. What do you understand by a critical bug?
A critical bug is a bug that affects the majority of functionalities of a software. It means that the significant component of an application has broken completely, and there is no way to overcome it, leaving the application unusable.
41. What are the two parameters to check the quality of testing?
The following are the two parameters used for checking the quality of testing:
- Defect reject ratio: It is the ratio of the total rejection to the total production.
- Defect leakage ratio: It is the ratio of the total possibility of rejection occurrence to the total production.
42. Differentiate regression testing and retesting.
The below table shows the difference between regression testing and retesting.
|Regression testing is carried out to ensure that any change in the code of a software product does not affect its existing functionalities.||Retesting is performed to ensure that the test cases that failed in the previous execution are passed after they are fixed by developers.|
|Regression testing has a lower priority than retesting, but we can perform both parallelly in some cases.||Resting has a higher priority than regression testing.|
|It does not involve the verification of bugs.||Retesting involves the verification of bugs.|
|We can automate test cases in regression testing.||We cannot automate test cases while performing retesting.|
|It is used for passed test cases.||It is used for failed test cases.|
43. Explain the severity and priority of a bug.
Severity: It is defined as the degree or depth of the impact that a bug has on a system. It is associated with the functionalities and standards of the system. Bug severity inspects whether a particular bug is serious or not depending upon its impact on the system. There are five different types of bug severities, namely critical, major, moderate, minor, and cosmetic.
Priority: It is defined as the order of fixing the detected bugs. Bug priority examines whether a particular bug should be resolved soon or delayed, i.e., a developer should fix all the bugs having higher priorities. There are three types of bug priorities, namely high, medium, and low.
44. What are the different types of defects?
Three types of defects are described below:
- Wrong: If the requirements are implemented incorrectly or falsely, wrong defects occur. These defects primarily occur due to miscommunication or misunderstanding between the project team and a client.
- Missing: If the requirement given by a client is not implemented, missing defects occur. These defects occur if the project team does not note down the client’s requirements properly.
- Extra: If a software product incorporates a functionality not specified by a client, extra defects occur. Though this extra functionality does not affect the software product, it is considered a defect since it was not a client’s requirement.
45. When do we stop testing?
It is quite challenging to decide when to stop testing. Consider the below factors to decide to stop testing:
- When the functionality of a software product is stable.
- When there is less time.
- Limited budget.
- When essential features of a software product are functioning appropriately.
- When the bug rate falls below a certain level.
46. What is risk-based testing?
Risk-based testing is a software testing type carried out based on the probability of a risk. It aims to assess the risk depending upon a software product’s complexity, frequency of use, the criticality of business, and possible areas with defects. It prioritizes the testing of functions and features of a software product that are more likely to have defects.
47. State the components of the defect report format.
The following are the different components of the defect report format:
- Project name
- Module name
- Defect detected on
- Defect detected by
- Snapshot of the defect
- Defect ID and name
- Priority and severity status
- Defect resolved by
- Defect resolved on
48. Explain N+1 testing.
N+1 testing is a variation of regression testing. In this type of testing, testers perform testing on a software product in multiple cycles. The defects found in the Nth cycle are resolved and retested in the (N+1)th cycle, and the cycle continues until there are no defects.
49. What does a typical test report contain, and what are its benefits?
A typical test report consists of:
- Project information
- Test objective
- Test summary
The advantages of test reports are:
- We can know the current status of a project.
- Stakeholders or customers can take corrective actions if required.
- A final test report helps us determine whether a product is ready for release or not.
50. How to track a bug manually?
We can track a bug manually by following the below steps:
- Identify the bug
- Check that the bug is not duplicate
- Prepare the bug report
- Store the bug in the bug repository
- Send the bug to the development team
- Manage the bug life cycle
Here we have reached the end of the manual testing interview questions and answers. With testing being an indispensable part of the software development process, having a career in the testing domain opens up a lot of opportunities.
Businesses and organizations widely adopt automation testing, but it is not an absolute substitute for manual testing. Manual testing is considered much more reliable than automation testing since it involves human intuition and inductive reasoning.
This article covers the most commonly asked manual testing interview questions and answers. You can go through all the questions to ace your next interview.
People are also reading: