QA interview question Flashcards
What is Software Quality Assurance (QA)?
QA ensures that software meets specified requirements and standards through systematic monitoring, testing, and improving processes.
What is the difference between QA and QC (Quality Control)?
QA focuses on improving processes to prevent defects, while QC focuses on identifying defects in the final product.
What are the phases of the Software Testing Life Cycle (STLC)?
- Requirement Analysis
- Test Planning
- Test Case Development
- Test Environment Setup
- Test Execution
- Test Closure
What is the difference between functional and non-functional testing?
- Functional Testing: Validates the software’s functionality against requirements.
- Non-Functional Testing: Validates performance, usability, security, and other quality attributes
What is black-box testing?
Testing without knowledge of the internal code or structure, focusing on inputs and expected outputs.
What is white-box testing?
Testing with knowledge of the internal code and structure, focusing on logic and internal workings.
What is regression testing?
Testing to ensure that new changes haven’t introduced new bugs or broken existing functionality.
What is exploratory testing?
A hands-on testing approach where testers explore the software without predefined test cases.
What tools have you used for test management?
Examples: JIRA, TestRail
What is the purpose of a test plan?
A test plan outlines the testing scope, objectives, resources, schedule, and deliverables.
What is a test case?
A set of conditions or inputs with expected outcomes to validate software functionality.
How do you prioritize test cases?
Prioritize based on business impact, critical functionality, and likelihood of defects.
What is severity vs. priority in defect tracking?
- Severity: The impact of the defect on the system.
- Priority: The urgency of fixing the defect based on business needs.
How do you handle tight deadlines or incomplete requirements?
Prioritize critical test cases, communicate risks to stakeholders, and focus on testing core functionality.
How do you ensure good communication with developers?
Maintain open communication channels, provide clear and detailed bug reports, and participate in regular meetings (e.g., stand-ups or retrospectives).