101. Define Verification and Validation. What is the difference?
Verification:
Process of checking if the product is built right (e.g., inspections, reviews, walkthroughs).
Validation:
Process of checking if the right product is built (e.g., actual testing against requirements).
Key Difference:
- Verification = Static, no code execution
- Validation = Dynamic, involves running the code
Q102. Explain a real-time experience where you implemented a test harness.
Answer: A test harness is a custom-built framework designed to test software modules in isolation. In one of my past projects, we developed a test harness to automate the testing of a financial application’s interest calculation engine. The harness included:
- Automated setup of test environments
- Input simulation for edge cases
- Use of stubs to mimic third-party APIs
- Assertion-based logging and report generation
This drastically improved test coverage and reduced manual regression time.
Q103. What factors determine whether a test should be automated or manual?
Answer: Key criteria include:
- Repeatability: If a test is frequently executed, automate it.
- Complexity: Simple UI flows can be automated, complex visual validations are manual.
- Time & Budget: Automation requires initial investment; ROI matters.
- Application Stability: Automate stable modules, keep unstable features under manual testing.
- Test Type: Regression, Load, and Smoke tests are ideal for automation.
Q104. Where do you see yourself in five years within the QA domain?
Answer: In five years, I aim to be in a QA Manager or Test Architect role. My focus would be:
- Designing enterprise-level QA strategies
- Leading automation transformations
- Managing client-facing delivery and UAT
- Building efficient, scalable QA teams
This aligns with my passion for quality assurance leadership and continuous process improvement.
Q105. Differentiate between Unit, Integration, and System Testing.
Answer:
Testing Type | Performed By | Focus |
Unit Testing | Developer | Individual components or functions |
Integration | Tester | Interaction between modules |
System Testing | Tester | End-to-end system validation |
Each stage validates functionality at different levels, ensuring smooth SDLC flow.
Q106. What is IEEE and why is it important in QA?
Answer: IEEE (Institute of Electrical and Electronics Engineers) is a global body that publishes software testing standards like IEEE 829, which ensures consistency and quality in QA documentation, test planning, execution, and reporting.
Q107. What is the role of QA in a software product company?
Answer: QA ensures:
- Requirements are met
- The product is bug-free
- Risk is minimized before release
QA acts as a gatekeeper of quality ensuring user satisfaction and regulatory compliance.
Q108. How do you approach building a high-performance QA team?
Answer: Steps include:
- Assessing project complexity
- Identifying required skill sets
- Recruiting based on test design, automation, domain knowledge
- Creating a blend of junior and senior testers
- Defining clear QA processes and ownership
This leads to an agile, collaborative, and highly productive QA team.
Q109. Should we test the entire application when only one module changes?
Answer: Only if the modified module has dependencies or integration points with others. Otherwise, module-level regression suffices. Perform impact analysis to define the scope.
Q110. What are ISO standards in software testing and why are they important?
Answer: ISO 9000 family standards help implement robust quality management systems:
- ISO 9001: Defines QA processes
- ISO 9000-3: Tailored for software development
These ensure consistency, process control, and client confidence.
Q111. What is the Waterfall development model? When is it useful?
Answer: Waterfall is a linear SDLC model ideal for small-scale or well-defined projects. Steps: Requirements → Design → Implementation → Testing → Deployment → Maintenance. Not ideal for dynamic requirements.
Q112. What is migration testing in manual QA?
Answer: Migration testing validates:
- Data accuracy during version upgrades
- Functionality continuity
- Compatibility in OS/db/application migration scenarios
Essential when moving from legacy systems to modern platforms.
Q113a. Define key testing terminologies.
Answer:
- Error: Human mistake in coding/design
- Fault: Resulting bug in software
- Failure: Deviation during execution
- Reliability: Probability of fault-free operation in defined conditions
Q113b. Why is software testing necessary?
Answer: Testing:
- Identifies defects early (cost-efficient)
- Increases system reliability
- Prevents production failures
- Ensures regulatory compliance
Uncaught bugs can lead to revenue loss, customer churn, and legal risks.
Q114. What is UAT and when should it be performed?
Answer: User Acceptance Testing (UAT) is the final phase, where end-users validate:
- Functional alignment
- Business workflows
Performed before production release to ensure real-world readiness.
Q115. How to evaluate if a testing tool fits your system?
Answer:
- Match tool with tech stack (e.g., Selenium for web, JMeter for load)
- Check integration support
- Validate ease of use, licensing, community support
- Conduct Proof of Concept (PoC) before adoption
Q116. Difference between a test strategy and test plan?
Aspect | Test Strategy | Test Plan |
Scope | Organization/Project-wide | Specific release or cycle |
Documented? | Not always (can be verbal) | Always documented |
Purpose | High-level test approach | Detailed test schedule & scope |
Q117. What is a test scenario in manual testing?
Answer: A test scenario is a high-level documentation of a business flow (e.g., login → purchase → checkout). Each scenario maps to multiple test cases validating functionality and logic.
Q118. Explain White-box, Black-box, and Gray-box testing.
Type | Knowledge Required | Performed By | Focus Area |
White-box | Internal code | Developers | Logic, loops, paths |
Black-box | No internal access | Testers | Functional behavior |
Gray-box | Partial access | Testers/Dev | Both behavior and logic blend |
Q119. Define Structural and Behavioral Testing.
- Structural (White-box): Based on code structure (e.g., condition coverage, loop testing)
- Behavioral (Black-box): Based on expected behavior via test cases, without internal code view
Q120. How does unit testing support software development?
Answer: Unit testing:
- Catches bugs early in development
- Ensures code reliability
- Reduces downstream bug fix cost
- Speeds up integration testing
By resolving logic issues at the code level, it saves project timelines.
Q121. Why did you choose a career in software testing?
Answer: Testing aligns with my:
- Detail-oriented mindset
- Passion for problem-solving
- Desire to ensure product quality
QA gives me exposure to multiple domains and technologies while contributing to risk mitigation and customer satisfaction.