Angie Jones has this awesome video explaining the technical interview process for software testers. This blog is a summary of that process in written form. I often watch these videos at double speed.
1. The Testing Question
Many automation engineers out there are great at code but not so great at the testing element. Companies are looking for people with strong skills in both. Someone could ask you:
- How would you test this pen/chair/bottle?
- How would you test a username/password log in field on a website?
It’s easy to jump straight into test scenarios. BUT make sure you come back to the context;
- Why is this being tested?
- Who is it being built for?
- What are the requirements/features?
2. Unit Testing
You might be given a sample function and ask to come up with some unit testing ideas. As an Automation Engineer you probably won’t be writing unit tests but this question is to see how you apply that testing mindset. You might answer this in a Test Driven Development approach.
public int add(int a, int b);
- Does this method add two integers and return it?
- What are the min and max values? e.g. is what about an integer larger than 32 bits?
- a = 0 and/or b = 0
- Negative numbers?
3. Service Tests
You might be asked to test a simple CRUD API for a sample API e.g. user management, what scenarios would you create to test the API? Make sure to talk about the different HTTP methods and the different error responses. How would you create scenarios to test them?
4. UI Tests
You might be given a web page and asked to create some UI tests using the tools you are the most familiar with. You could talk about the different approaches you might use too. If you could talk out how you would build out a page object model, what parts are common across different pages and how you’d abstract them out in their own classes such that they could be easily reused this would be gold.
5. Programming questions
Unfortunately you might have the same programming questions thrown at you as developers. These are a horrible part of the interview process but it’s something we have to live with. HackerRank is a great way to practice and to get efficient at this type of performance.
Dan Ashby has this great post on how he interviews testers using this mindmap:
If I was interview a technical tester I’d start with an intro. We will then dive into an exploratory testing question. Then ask about using GIT and how you would collaborate with developers. Then deep diving into some more technical questions on unit/API testing depending on the role.
- tell me a bit about yourself…
- How would you test a username/password login page?
- How do you create a pull request in GIT?
- What unit tests for this function can you come up with?
- How would you test this sample API?
If I was interviewing for a mobile tester role I’d ask about using command line tools like Android Debug Bridge (ADB). For example, how would you generate a battery historian report and pull files from an android device using ADB?
How do you go about interviewing testers? Do you have any other tips to add?