QA Test Automation Engineer Interview Questions from a QA Lead in London
Updated: Mar 17, 2022
Throughout my career I have had multiple job titles QA Engineer, Software Developer in Test, Test Analyst, Automation Lead, QA Lead. None of which contain the acronym API. What is API tester? So how do you come up with interview questions for a role with so many different interpretations. I will explain my experience and how I've applied that to the interview process I have put in place as QA Lead at a fast growing healthcare startup.
Job title assumptions
There are definitely assumptions when you see a job for say a Software Developer in Test that it comes with expectations that you will be working with APIs but that's not necessarily the case in all circumstances I'm sure. The same with QA Engineer with the word engineer in the title you expect it to be a more technical role and involve programming.
How to Interview QA Engineer
Attending many interviews I've had to perform multiple programming whiteboard exercises, stuff like sorting a list or fizz buzz variants. Neither of which I performed particularly well at and still landed the job, based on feedback I received this was due to being able to talk through my problem solving process. I see why a whiteboard exercise is helpful for understanding someone's thought process but it doesn't reflect what a QA engineer does on a day to day basis. So when interviewing a QA Engineer don't do this. Focus on:
Passion for testing. Ask about bugs they've found, complex problems they've solved, projects they enjoyed working on.
Understanding the software. Ask them to elaborate on the software they are working on, get them to delve in to the detail of a specific feature they worked closely on (if they legally can talk about it).
Communication. Get them to speak about situations where they have had to defend a bug they raised or how they work with stakeholders or users to learn more about the product
Strengths of QA Engineer
I care about someone's testing mindset and their potential to be a strong tester within the modern testing principles. What's important is to understand your strengths and your weaknesses. Being able to explain your experience and relate it back to the job specification. Core strengths I look for in a QA Engineer:
Builds relationships with developers to find root cause of issues. Pairing with them on a problem or talking through a pull request.
Analyses production data for trends or information that helps inform their testing. Building monitoring to represent user behaviour.
Strong knowledge of the product in order to influence conversation within a refinement or planning session.
QA Engineer Interview Questions and Answers
Interview process at a healthcare startup
Questions with the recruiter
Phone call with our recruiter. Initially you will have a short conversation with our in house recruiter. This is to get to know you and for you to ask any questions about the role or the company (always ask questions, it’s really important for you to show interest in our company and to completely understand the role at this stage. The interview process is a two way conversation, saving you time as well if you realise the company or role isn’t the right fit for you). The questions I get the recruiter to ask revolve around a couple of themes, raising bugs & your testing experience.
Tell us about a bug you have found and how you resolved it? Expectations: Here I am looking for someone who communicates well with their team, specifically works closely with the developer who worked on the feature.
What are you most proud of in your testing career? Expectations: We want to know what you care about and what you value. Focusing on where you can add value and to hear about your achievements really helps us understand your passion for the role.
The 2nd stage of the interview process is the technical test, either pairing with myself the QA Lead or take home task. I always allow the candidate to choose the programming language they are most comfortable with, again I’m not looking for someone who has all the right skills now but someone who shows the ability to learn quickly and potential to grow within the role. The technical task consists of two parts:
Explain your test approach (single page only), to a scenario along the lines of: We have a new web service going out to production for the first time. The web service displays the days of the week our carers are available. Please describe your test approach to test for this specific scenario. Expectation: Read the scenario and the question multiple times so you fully understand what is being asked. I’m not looking for a multiple page test plan, specifically I’m looking for the testing required for a brand new service. For example what monitoring do you need to put in place, what checks do you need for a service in a completely new infrastructure, what checks do you want to run on production. Make sure you think about non-functional requirements and negative scenarios as well.
The programming part of the technical test involves the same scenario as above with a very simple API service returning days of the week a carer is available based on a specific date. Throughout the exercise you should comment on your code and explain your reasoning. In the task there are a couple of areas to focus on:
Fix the broken test Expectation: In order to understand whether you understand how to read code and can navigate the solution to work out what is causing the problem as deliberately I have made the error message unhelpful. Don’t try to refactor the code at this stage within the test or within the implementation. Just make the test pass. If you make a change to the test, run it again. Also use Google & Stackoverflow if you don’t remember something even if it’s really simple, this is what you would do if you were doing the job for real so use it! Also ask the interviewer questions, if you are pairing or even if you are doing it at home don’t be scared to ask questions, it’s better to fully understand the task or raise any issues with the task than go off down the wrong path.
Refactor the test Expectation: For you to show how you follow best practices. The code provided for the exercise does not follow best practices, when I ask the question “do you want to change anything?” it is not a trick question. If you don’t know what to change, say “I don’t know”. It’s okay to say that, I would rather you acknowledge that you don’t know than just move on or even worse attempt to blag it.
Add a negative scenario Expectation: To confirm you know what a “negative” scenario is (so study this before you tackle the task) and how to write a test yourself. Again you should follow best practices and make sure the tests pass (feels weird to have to say that but it happens).
After the exercise is complete we will walk through the code together. Again be honest about what you do and don’t know. Feel free to raise anything you weren’t sure about or anything you would improve in the future.
Questions with the team
The 3rd and final stage of the interview is to meet another QA & a Tech Lead or Product Owner from the team you would potentially be joining. Expectation: Again this is for you to learn more about the company and the people you would be working with. So make sure to ask questions, research about the company and also about the technology we use is important at this stage. The kind of questions at this point will revolve around:
Cloud platforms (e.g. AWS, Azure)
To summarise what you should know when going for an interview as an API tester. The role involves working with a team, googling, problem solving and coding. Therefore the interview questions aren’t just focussed on your knowledge around APIs or automating tests. It’s important to understand the basics of RESTful APIs and API testing tools but also that is something you can learn and research about so for me it’s okay if you don’t know them when under pressure within an interview setting. The important thing to takeaway from this article is to follow best practices when it comes to API test automation and also show your passion towards the role.