Testing Fundamentals & Principles
Explain the difference between verification and validation. At what stages of the development lifecycle does each occur?
Can you name three of the "Seven Principles of Software Testing" and explain how they influence your approach to writing code?
What is the difference between an Error, a Bug, a Defect, and a Failure?
Explain the difference between QA, QC, and Testing.
What is the difference between functional and non-functional testing, and can you give examples of each?
What is the difference between positive testing and negative testing, and why do you need both?
What is the primary purpose of software testing, beyond finding bugs, what value does it provide to a project?
What is the "absence-of-errors fallacy," and why is a bug-free system not necessarily a successful one?
Explain the "Pesticide Paradox" in software testing. How do you mitigate it in a long-running project?
Explain the principle that 'exhaustive testing is impossible.' How do you decide when you have tested 'enough'?
Explain the principle that 'testing shows the presence of defects, not their absence.' How does this affect how you communicate test results?
What is 'error guessing,' and how do you use your experience as a developer to perform it effectively?
What is the psychology of testing, and why is an independent tester often more effective at finding defects than the developer who wrote the code?
Explain the 'defect clustering' principle and how the Pareto principle applies to where bugs are found in a system.
What does the testing principle 'testing is context-dependent' mean, and how would your approach differ between an e-commerce site and medical software?
Testing Types & Levels
What is the difference between a smoke test and a sanity test? When would you run one versus the other?
What is the difference between Black-box, White-box, and Grey-box testing?
What are Alpha and Beta testing, and at what stage of the SDLC do they occur?
What is the difference between black-box and white-box testing, and when would a developer use one over the other?
Explain the difference between Static Testing and Dynamic Testing.
What are the conceptual differences between unit, integration, and system testing, and what is the primary goal of each?
What is the conceptual difference between a unit test and an integration test? When would a bug pass a unit test but fail an integration test?
What is 'Exploratory Testing' and how does it differ from 'Ad-hoc Testing'?
What is end-to-end testing, and how does it differ from system testing?
Compare "Big Bang" integration testing with "Incremental" integration (Top-down vs. Bottom-up). What are the tradeoffs regarding stubs and drivers?
What are the different integration testing strategies (sandwich/hybrid) and where do they fit relative to top-down and bottom-up?
Test Automation
Explain the 'Arrange-Act-Assert' (AAA) pattern.
What is the purpose of fixtures and setup/teardown in tests, and why is proper cleanup important?
Describe the Test Automation Pyramid. Why are unit tests at the base and E2E tests at the peak? What happens to a project that follows the 'Ice Cream Cone' anti-pattern?
Explain the conceptual differences between a Mock, Stub, Fake, Spy, and Dummy. When would you choose a Fake over a Mock?
What are the 'FIRST' principles of a good unit test?
What is the Page Object Model, and how does it improve the maintainability of UI automation?
What is "headless" browser testing, and what are the tradeoffs between headless and headed execution in a pipeline?
How do you decide what to automate versus what to test manually or through exploratory testing?
What is the difference between data-driven and keyword-driven test automation frameworks?
What is snapshot testing, and what are its benefits and pitfalls?
What are 'Flaky Tests,' what causes them, and how do you handle them in a CI environment?
What is a 'Test Oracle' in the context of automated testing? How do you know if the output of a test is actually correct?
How does Property-Based testing differ from traditional Example-Based unit testing? When is it most effective?
Defect Management & Metrics
Explain the difference between 'Bug Severity' and 'Bug Priority' with an example of a High Severity / Low Priority bug.
Describe the typical states a bug goes through from 'New' to 'Closed.' What does it mean if a bug is 'Deferred'?
Why is it generally accepted that the cost of fixing a bug increases as it moves further along the SDLC? Can you give a conceptual example?
What information should a good defect/bug report contain to make it actionable for a developer?
What is "Defect Leakage," and how is it used as a metric for the effectiveness of a QA process?
What is defect density, and how is it calculated and used?
What is Defect Removal Efficiency, and how does it measure the effectiveness of your testing process?
Test Process & Management
What are 'Entry Criteria' and 'Exit Criteria' for a testing phase?
Explain the difference between regression testing and confirmation testing (re-testing). Why is regression testing so critical in Agile environments?
What is a Requirement Traceability Matrix, and why is it important for ensuring full test coverage of a project's requirements?
What is a 'Regression Test,' and how do you decide which tests to include in a regression suite?
What is the difference between a 'Test Plan' and a 'Test Strategy'?
Can you walk me through the phases of the fundamental test process, from planning and monitoring through analysis, design, implementation, execution, and completion?
Why are managing test data and test environments important, and what challenges do they present?
What is a test policy and how does it relate to a test strategy and test plan?
What is risk-based testing, and how do you prioritize what to test when time is limited?
How do you approach test estimation for a project or a sprint?
Test Design Techniques
Explain Boundary Value Analysis. Why are defects more likely to occur at the edges of input ranges rather than in the middle?
What is equivalence partitioning, and how does it help reduce the total number of test cases while maintaining coverage?
Explain 'Equivalence Partitioning' and provide a real-world example.
What is the difference between Equivalence Partitioning and Boundary Value Analysis?
What is the difference between a test scenario, a test case, and a test script?
What makes a good test case? What fields or characteristics should a well-written test case have?
When would you use a 'Decision Table' versus 'State Transition Testing'?
How would you use Equivalence Partitioning and Boundary Value Analysis to reduce a large set of possible inputs to a manageable number of test cases?
When would you use a Decision Table to design your test cases instead of simple input-output mapping?
What is use-case testing, and when is it an appropriate black-box design technique?
Explain state-transition testing and when it is the most suitable design technique.
What is pairwise (all-pairs) testing, and how does it dramatically reduce the number of test combinations needed?
Development Methodologies & Lifecycle
Describe the Red-Green-Refactor cycle of Test-Driven Development. What are the primary benefits of writing the test before the code?
What is Behavior-Driven Development (BDD)? How does the 'Given-When-Then' syntax help bridge the gap between technical and non-technical stakeholders?
What is the 'Definition of Done' (DoD) in an Agile context and how does testing fit into it?
How does the V-Model map specific testing levels to different phases of the software development lifecycle?
What is User Acceptance Testing, and how does it differ from operational, contractual, and regulatory acceptance testing?
What is the role of a tester on an Agile/Scrum team, and how does it differ from the traditional waterfall QA role?
Briefly explain the Agile Testing Quadrants. How do they help a team balance business-facing vs. technology-facing tests?
What is the W-model, and how does it improve on the V-model's treatment of testing activities?
What is ATDD (Acceptance Test-Driven Development), and how does it differ from TDD and BDD?
Static Testing & Reviews
What are the different types of reviews in static testing: informal review, walkthrough, technical review, and inspection, and how do they differ in formality and purpose?
What can static analysis and code reviews find that dynamic testing cannot?
Explain the difference between Static Application Security Testing (SAST) and Dynamic Application Security Testing (DAST). What can one find that the other cannot?
What is penetration testing, and how does it differ from vulnerability scanning?
White Box & Coverage
Explain the difference between Statement Coverage and Branch (Decision) Coverage. Why is 100% statement coverage not sufficient to prove a path is bug-free?
Why is 100% Code Coverage not a guarantee that the software is bug-free?
What test coverage metrics do you track, and what are the limitations of using coverage as a quality metric?
What is mutation testing? How does it help you measure the quality of your tests rather than just the quantity of code covered?
What is 'Cyclomatic Complexity' and how does it impact your test strategy?
What is the purpose of MC/DC, and why is it used in safety-critical systems?
What is path coverage, and how does it relate to statement and branch coverage?
Explain the difference between condition coverage and decision coverage in white-box testing.
Ci Cd & Continuous Testing
What does it mean to 'shift left' in the testing process, and what are the primary benefits for a development team?
How does 'Continuous Testing' differ from traditional scheduled testing phases in a CI/CD environment?
Explain the concept of Consumer-Driven Contract Testing. How does it solve the problem of breaking changes in a microservices architecture?
Explain 'Shift-Right' testing and the concept of 'Testing in Production'.
What does it mean to "Shift-Left" in testing, and what is "Shift-Right" testing (Testing in Production), including techniques like Canary and Feature Flags?
What is DevTestOps (or DevOps from a testing perspective), and how does testing integrate across the delivery flow?
What are quality gates in a CI pipeline, and how do you decide what criteria should block a release?
Non Functional Testing
What is compatibility (cross-browser/cross-device) testing, and why is it necessary?
What is installation testing, and what scenarios should it cover?
Explain the difference between load testing, stress testing, and spike testing. What specific information does each provide about system scalability?
What is exploratory testing, and why is it still valuable even if you have 100% automated test coverage?
Explain the difference between Scalability Testing and Volume Testing.
What is the difference between Performance testing and Scalability testing?
Why is accessibility testing considered a non-functional test, and what are the core POUR principles you should test for?
What is usability testing, and how do you evaluate whether a product is usable?
What is the difference between localization and internationalization testing?
What is soak (endurance) testing, and what kind of defects does it uncover that a short load test would miss?
What is 'Fuzz Testing' (Fuzzing) and when would you use it?
What is 'Chaos Engineering' and how does it relate to testing for reliability?
What are recovery testing and reliability testing, and how do you design tests for them?