Essential Concepts in Manual Testing with Explanations and Examples
1. Can you explain the different types of manual testing?
- Functional Testing: Verifies that each function of the software operates in conformance with the requirement specification.
- Usability Testing: Assesses how user-friendly and intuitive the application is for end-users.
- Exploratory Testing: Carried out without test cases, testers explore the software to identify unexpected issues.
- Regression Testing: Ensures new code changes haven’t introduced bugs in existing functionality.
- Acceptance Testing: Confirms if the software meets the requirements and is ready for release.
2. What is a test plan, and what does it typically include?
- A test plan is a document that outlines the strategy for testing an application, detailing scope, approach, resources, and schedule. It typically includes:
- Objectives: Goals of the testing effort.
- Scope: Features to be tested and excluded.
- Resources: Team members and tools required.
- Schedule: Timeline for each testing phase.
- Risk Assessment: Identification and mitigation strategies for potential risks.
3. Explain the software development life cycle (SDLC) and the software testing life cycle (STLC).
- SDLC describes the stages in software development: requirements gathering, design, coding, testing, deployment, and maintenance.
- STLC focuses on the testing phases: requirements analysis, test planning, test case development, environment setup, test execution, and test cycle closure.
4. What is the difference between a bug, a failure, and an error?
- Error: A human mistake made during software development.
- Bug (Defect): A flaw in the code that causes incorrect or unexpected results.
- Failure: Occurs when the software behaves unexpectedly during execution due to a bug.
5. Can you describe the bug life cycle?
- The bug life cycle includes:
- New: Bug is reported.
- Assigned: Bug is assigned to a developer.
- Open: Developer analyzes and works on the fix.
- Fixed: Bug is resolved by the developer.
- Retest: Tester re-evaluates the fix.
- Closed: Bug is verified and closed if fixed.
- Reopen: Bug fails verification and is reopened if unresolved.
6. What is severity vs. priority in the context of a defect?
- Severity: Indicates the impact of a defect on the system.
- Priority: Specifies how soon the defect should be fixed. High-severity issues often take priority.
7. What is regression testing, and why is it important?
- Regression testing verifies that recent code changes haven’t negatively affected existing functionalities. It’s crucial to maintain software stability after updates.
8. What is the difference between verification and validation?
- Verification: Confirms that the software conforms to specifications (are we building it right?).
- Validation: Ensures the software meets user requirements (are we building the right thing?).
9. Explain exploratory testing and when it should be used.
- Exploratory testing is ad-hoc testing focused on discovery and learning. It’s useful when requirements are unclear or for identifying unexpected behaviors.
10. What are black-box testing techniques?
- Black-box testing techniques include:
- Equivalence Partitioning: Dividing inputs into equivalent classes.
- Boundary Value Analysis: Testing values at boundaries.
- Decision Table Testing: Using tables for complex logic.
11. What are the different types of testing techniques?
- Static Testing: Involves review processes, like code reviews or inspections.
- Dynamic Testing: Includes running the application to identify issues (e.g., functional and non-functional testing).
12. What is the difference between smoke testing and sanity testing?
- Smoke Testing: Initial testing to check if the critical functionalities work.
- Sanity Testing: Focused testing on specific functionalities after minor changes.
13. What is test coverage, and how do you ensure adequate coverage?
- Test coverage measures the extent to which the software is tested. To ensure adequate coverage, map test cases to requirements and focus on high-risk areas.
14. How do you report defects, and what details should be included in a bug report?
- Bug Report Details:
- Summary: Brief description of the defect.
- Steps to Reproduce: Exact steps to recreate the issue.
- Expected vs. Actual Results: What was expected and what occurred.
- Severity/Priority: Impact and urgency of the defect.
- Screenshots/Logs: Supporting evidence.
15. How do you prioritize test cases?
- Prioritize based on risk, business impact, and frequency of use. Core functionalities and high-risk areas should take precedence.
16. What testing checks if new changes haven’t broken existing features?
- Regression testing is used to ensure new changes don’t impact existing functionalities.
17. What type of testing verifies software meets business needs?
- Acceptance Testing verifies that software aligns with business requirements.
18. What would you use to confirm a bug is fixed before closing it?
- Retesting ensures the bug is resolved. Regression testing may follow to confirm overall stability.
19. What type of testing aims to discover unknown errors without a clear plan?
- Exploratory Testing is intended to discover unknown issues through unscripted, freestyle testing.
20. What testing do you perform when the client doesn’t provide requirements?
- Exploratory Testing and Ad-hoc Testing can be used to uncover unexpected issues in the absence of clear requirements.
21. What testing checks the software after a major code change?
- Regression testing is performed to verify that existing functionalities remain intact after major changes.
22. What type of testing ensures that critical functionalities work before release?
- Smoke Testing checks if critical functionalities work in the initial stages.
23. Difference between test case and test scenario?
- Test Case: Detailed steps, inputs, and expected outcomes for specific test conditions.
- Test Scenario: High-level concept or situation to be tested without specific steps.
24. What is the initial testing phase where major functionalities are verified?
- Smoke Testing is the first phase to check the primary functionalities.
25. What is quality control, and how does it differ from quality assurance?
- Quality Control (QC): Ensures products meet the quality standards through testing.
- Quality Assurance (QA): Focuses on improving processes to prevent defects.
26. What is Test Closure?
- Test Closure involves completing the testing phase, documenting findings, and evaluating the test cycle’s effectiveness.
27. What are the Principles of testing?
- Principles include defect clustering, pesticide paradox, absence of error fallacy, and testing shows presence of defects but not their absence.
28. What is the pesticide paradox? How to overcome it?
- Pesticide paradox suggests that repeated use of the same tests can make them ineffective. To overcome it, regularly review and update test cases.
29. What is a top-down and bottom-up approach in testing?
- Top-Down Testing: Begins with high-level modules and integrates downward.
- Bottom-Up Testing: Starts with low-level modules and integrates upwards.