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