1. Describe the various kinds of software testing.
Ans:
Software Testing can be broadly categorized into:
- Manual Testing – Performed by testers without automation tools.
- Automation Testing – Uses tools to automate the test process.
- Functional Testing – Unit, Integration, System and Acceptance.
- Non-Functional Testing – Performance, Security, Usability and Compatibility.
2. What is the Defect Life Cycle?
Ans:
A bug's stages are referred to as the Defect Life Cycle:
- New – Bug is logged.
- Assigned – Given to a developer.
- Open – Actively being fixed.
- Fixed – Issue is resolved.
- Retested – Tested again by QA.
3. What’s the difference between validation and verification?
Ans:
Verification ensures the software is being built correctly, focusing on design documents, plans and specifications. Its a static process without executing the code. Validation ensures the software meets the user’s expectations through real-world testing and confirms the correct product has been built. Its a dynamic process involving actual testing.
4. What are test cases and why are they important?
Ans:
Test cases are detailed instructions created to verify whether a particular software feature works as expected. They help structure the testing process and ensure consistency. Well-written test cases improve test coverage, aid in identifying defects and simplify communication within QA teams and with developers.
5. What is a Test Plan?
Ans:
A comprehensive document that describes the testing process's environment, tools, scope, methodology and timeline is called a test plan. What will be tested, who will test it and how problems will be handled are all outlined. Additionally, it guarantees the quality of the application being developed and keep teams in synch.
6. How does white-box testing vary from black-box testing?
Ans:
White box testing involves breaking down the internal logic, structure and operations of the code. Usually used for unit and integration testing it necessitates programming expertise. Black-box testing, on the other hand, treats the application as a "black box" and focuses only on inputs and outputs, without knowing how the system processes data internally.
7. What is regression testing?
Ans:
Regression testing makes ensuring that features that have already been created and tested continue to work properly even after patches, enhancements or configuration changes. It prevents the reappearance of old bugs and is essential for maintaining software reliability throughout development cycles.
8. What is Boundary Value Analysis (BVA)?
Ans:
A testing method called boundary value analysis concentrates on input values that fall outside of acceptable input ranges. For instance, the test values would be 0, 1, 100 and 101 if the input range was 1 to 100. This technique helps catch common errors that occur at boundaries where the behavior of the application might change.
9. What is Equivalence Partitioning?
Ans:
Equivalence Partitioning divides input data into partitions or groups that should be treated similarly by the application. Only one test case from each group is selected, assuming others will behave the same. This technique saves time and provides effective coverage without redundant testing.
10. How do you prioritize test cases in manual testing?
Ans:
Test cases are prioritized based on their risk level, business impact and frequency of use. High-priority tests cover core functionality, areas with known instability or components with high user traffic. This ensures that the most critical features are tested first, increasing the chances of detecting severe defects early.