⬡ Hub
Skip to content

Manual testing interview questions with answers

Beginner Level

1. What is software testing? Answer: Software testing is the process of evaluating a software application to identify any defects, errors, or missing requirements against the expected behavior. It ensures the quality, reliability, and performance of the software before it is released to end-users.

2. Why is software testing important? Answer: Software testing is crucial for several reasons: 1. Quality Assurance: It ensures the software meets specified requirements and functions as expected, leading to a higher quality product. 2. Bug Detection: Testing helps identify and fix defects or bugs early in the development cycle, reducing the cost and effort of fixing them later. 3. Customer Satisfaction: Reliable and high-quality software leads to better user experience and increased customer satisfaction. 4. Cost Reduction: Finding and fixing bugs early is significantly cheaper than addressing them after deployment. 5. Risk Mitigation: Testing helps identify potential risks and vulnerabilities, improving the security and stability of the software. 6. Performance Verification: It ensures the software performs well under various conditions, including load and stress. 7. Reputation Protection: Releasing well-tested software protects a company's reputation and builds trust with users.

3. What is manual testing? Answer: Manual testing is a type of software testing where a human tester manually interacts with a software application to identify defects, bugs, and usability issues. It does not rely on scripts or automated tools. The tester plays the role of an end-user, using the application's features to ensure correct behavior and to verify that the software meets specified requirements. It is particularly suitable for exploratory testing, usability testing, and for projects in early development stages, or those undergoing frequent changes.

4. Explain the Software Development Life Cycle (SDLC). Answer: The Software Development Life Cycle (SDLC) is a structured process that outlines the stages involved in developing, deploying, and maintaining an information system. It provides a framework for managing software projects, ensuring that they are completed efficiently, effectively, and meet the requirements of stakeholders.

The typical phases of an SDLC include: 1. Requirements Gathering and Analysis: Understanding and documenting user needs and system requirements. 2. Design: Creating the system architecture and design based on requirements. 3. Implementation (Coding): Writing the actual software code. 4. Testing: Rigorously testing the software to identify and fix defects. 5. Deployment: Releasing the software to the production environment. 6. Maintenance: Ongoing monitoring, bug fixing, enhancements, and adaptations.

5. Explain the Software Testing Life Cycle (STLC). Answer: The Software Testing Life Cycle (STLC) is a sequence of specific activities conducted during the testing process to ensure software quality. It involves several distinct phases, each with its own goals and deliverables.

The typical phases of STLC include: 1. Requirement Analysis: Understanding requirements from a testing perspective. 2. Test Planning: Defining scope, objectives, strategy, and resources for testing. 3. Test Case Development: Designing and developing detailed test cases. 4. Test Environment Setup: Setting up the hardware and software environment for testing. 5. Test Execution: Executing test cases, recording results, and logging defects. 6. Test Cycle Closure: Formally concluding testing activities, analyzing results, and documenting lessons learned.

6. What is the difference between Quality Assurance (QA) and Quality Control (QC)? Answer: * Quality Assurance (QA): QA is a proactive process focused on preventing defects. It is process-oriented, establishing and maintaining processes to ensure consistent quality throughout the entire product development lifecycle. The goal is to build confidence that quality requirements will be met by ensuring the process used to create the product is sound. * Quality Control (QC): QC is a reactive process focused on identifying and correcting defects in the final products or services. It is product-oriented, involving the inspection, testing, and reviewing of individual products or components to ensure they meet specified quality standards. QC typically occurs during testing and inspection, often at the end of the production process.

7. What is the difference between verification and validation? Answer: * Verification: It is the process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. It asks, "Are we building the product correctly?" It is a static process involving reviews, inspections, and walkthroughs, typically occurring throughout the SDLC. * Validation: It is the process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements and meets the user's needs and expectations. It asks, "Are we building the right product?" It is a dynamic process involving actual execution of the software, typically taking place after coding.

8. What is a bug, defect, and error? Answer: * Error: A human mistake made by a developer during any stage of the software development process (e.g., coding, design, requirements gathering). It is the cause of an issue. * Bug: The manifestation of an error in the code, discovered during testing, that causes the software to behave unexpectedly or incorrectly. It is a specific coding flaw. * Defect: A broader term referring to any deviation from the specified requirements or expected functionality of the software. It can arise from errors, design flaws, incomplete requirements, or communication gaps. A bug is a type of defect.

9. Describe the defect life cycle (or bug life cycle). Answer: The defect life cycle describes the systematic process a software defect undergoes from its initial identification to its eventual resolution and closure. Key stages include: 1. New: Defect is discovered and logged. 2. Assigned: Defect is reviewed and assigned to a developer. 3. Open/Active: Developer works on fixing the defect. 4. Fixed: Developer fixes the defect and marks it as fixed. 5. Pending Retest: Defect is awaiting re-verification by the testing team. 6. Retest: Tester re-examines the functionality to confirm the fix. 7. Verified: Tester confirms the bug is fixed. 8. Closed: Defect is fully resolved and closed. Other possible states include Reopened, Deferred, Rejected/Not a Bug, Duplicate, Cannot be Fixed/Not Reproducible.

10. What is a test case? What does it typically include? Answer: A test case is a set of conditions or variables under which a tester will determine whether a software system is working correctly. It typically includes: * Test Case ID: Unique identifier. * Test Case Name/Title: Descriptive name. * Description: Explanation of what the test aims to verify. * Preconditions: Conditions to be met before execution. * Test Steps: Sequence of actions to perform. * Expected Result: Anticipated outcome. * Actual Result: Observed outcome. * Status: Pass, Fail, or Blocked. * Postconditions (Optional): Conditions after execution. * Test Data (Optional): Specific data inputs.

11. What is a test scenario? Answer: A test scenario is a high-level description of a potential user action or a specific functionality to be tested in a software application. It outlines an end-to-end path through the application, focusing on what needs to be tested rather than how. It is often user-centric and serves as input for creating multiple detailed test cases.

12. What is the difference between a test case and a test scenario? Answer: * Test Scenario: A high-level description of a functionality or feature to be tested, outlining what to test from an end-user perspective. It is broad and can encompass multiple test cases. * Test Case: A detailed, step-by-step set of instructions describing how to test a specific feature or functionality. It includes prerequisites, test steps, input data, and expected outcomes, focusing on verifying individual functions.

13. Explain the difference between static and dynamic testing. Answer: * Static Testing: Involves examining code, documentation, and other artifacts without executing the program. Its objective is to prevent defects by identifying errors early. Techniques include reviews, walkthroughs, and static analysis tools. It's performed in early stages and is generally less costly. * Dynamic Testing: Involves executing the software code to analyze its behavior during runtime. Its objective is to find and fix defects by validating actual behavior against expected outcomes. Techniques include unit, integration, system, and acceptance testing. It's performed in later stages and can be more costly if bugs are found late.

14. What is black box testing? What are some techniques? Answer: Black box testing is a software testing method that evaluates the functionality of an application without any knowledge of its internal code structure, design, or implementation details. Testers interact with the system as an end-user, focusing solely on inputs and outputs to ensure the software meets requirements.

Some techniques include: * Equivalence Partitioning: Dividing input data into partitions where each class is expected to produce similar results. * Boundary Value Analysis (BVA): Testing input values at or near the edges of valid and invalid partitions. * Decision Table Testing: Used for complex logic, listing all possible combinations of conditions and corresponding actions. * State Transition Testing: Testing the behavior of a program as it transitions between different states. * Pairwise Testing: Covering all possible pairs of combinations of input values when there are many parameters. * Error Guessing: Using experience and intuition to guess where defects might exist.

15. What is white box testing? Answer: White box testing, also known as clear box or structural testing, is a software testing methodology where the tester possesses complete knowledge of the internal workings, structure, design, and implementation of the application being tested. This includes access to the source code, design documents, and infrastructure. The primary focus is to examine the internal logic, code structure, and execution paths within the software to ensure thorough code coverage and detect bugs early.

16. What is the difference between smoke testing and sanity testing? Answer: * Smoke Testing: A preliminary testing process to verify the basic and critical functionalities of an entire software build. Its main goal is to determine if the new build is stable enough for further detailed testing. It is broad in scope, often documented, and performed early. * Sanity Testing: A focused testing process performed after minor changes or bug fixes to ensure specific functionalities behave as expected and haven't introduced new issues in affected areas. It is narrower and deeper in scope, often ad-hoc, and performed after smoke tests have passed.

17. What is positive and negative testing? Answer: Positive testing involves providing valid data and expecting the system to behave as designed, confirming that the application works as expected under normal conditions. Negative testing, on the other hand, involves providing invalid data or unexpected inputs to ensure the system handles errors gracefully, prevents crashes, and maintains data integrity.