Testing problems usually fall under one of hour categories:
- Test a real world object
- Test a piece of software
- Write test code for a function
- Troubleshoot an existing issue
What the Interviewer is Looking For:
- 
Big Picture Understanding: - Are you a person who understands what the software is really about?
- Can you prioritize test cases properly?
 
- 
Knowing How the Pieces Fit Together: - Do you understand how software works
- How might it fit into a greater ecosystem
 
- 
Organization: - Do you approach the problem in a structured manner
- A good candidate will break down the parts into categories
- This structured approach will assist in thoroughly creating test cases
 
- 
Practicality: - Can you actually create reasonable testing plans?
 
Testing a Real World Object
- Who will use it and why?
- What are the use cases?
- What are the bounds of use?
- What are the stress/failure conditions?
- How would you perform the testing?
Testing Software
Manual vs. Automated Testing:
- manual: human interaction with software
- automated: tests performed by scripts or tools to imitate human interaction
Black Box vs. White Box Testing:
- black box testing: using the software βas isβ or with βintended privillegesβ to test
- white box testing: additional, elevated programmatic access to test individual functions
- Are we doing Black Box Testing or White Box Testing?
- who will use it? And Why?
- What are the use cases?
- What are the bounds of use?
- What are the stress conditions / failure conditions?
- What are the test cases? How would you perform the testing?
Testing a Function
- Define the test cases
- What is the normal case?
- What are the extreme cases?
- Nulls and βillegalβ input
- Strange input
 
- Define the expected result
- Write test code
Troubleshooting Questions
- Understand the Scenario
- Break Down the Problem into testable units or actions
- Create Specific, Managable Tests