I recently got asked what I look for when recruiting for QA/test positions. So I decided I should share my thoughts both with those of my colleagues who are recruiting, and also those who are looking and maybe wondering what they need to be able to share in an interview.
I have broken this out into a small number of attributes or qualities I tend to focus on:
Passion for testing?
- ask questions about why/how did they got into a QA role or what keeps them in a QA role
- looking for someone who cares about quality and recognizes that it takes skill, that they have some of that and they enjoy using it
- ask them to tell you about an interesting bug they found and why it is interesting (was is challenging to expose, challenging for the team to resolve, an interesting chain of events type issue … is there genuine interest and passion in finding and solving problems here)
- what do they enjoy most about their current role?
- why do they want to leave?
- what does this tell me about what motivates them and what they may be looking for?
- do they understand the basic test design techniques of equivalence class partitioning and boundary value analysis – keeping in mind they may not know the terms, they may just do this intuitively
- ask example questions that have clear equivalence classes and boundary values or get them to explain how they would think about the test cases for a situation like this
- ask why they think of testing with those values to see if they have ever identified that they are applying a technique or a pattern to these types of problems
- you can also ask other basic questions like what are some of the important points to include in a good defect report, what they do when faced with ambiguous or unclear requirements
- do they know any test heuristics?
- do they perform exploratory testing? Can they describe what they do or give you an example? (Are they truly exploring or are they just doing ad-hoc and thinking they are the same?)
- how big is their team – if they are the only QA then they probably don’t have anyone to bounce ideas off or tell them there is another/better way of doing something
- are they all in the same office? – if yes how often are they talking with others on the team and why
- if some/all are remote – how do they communicate and what problems do they have communicating
- do they try to help developers resolve issues – ask them if they attempt to narrow down where, how or why a bug is occurring
- do they try to help PM/BA define requirements – ask them how the requirements analysis/review happens and how they provide feedback or ask questions to clarify requirements
- you are watching for any team vs us type attitudes or ‘not my role/job’ type attitudes
- do they understand their current process? Can they describe it briefly and succinctly? – if not then they probably don’t understand it well enough to explain it clearly to a new teammate, or it is too complicated for them to efficiently work with and they don’t know how to improve it
- do they do regression testing
- do they get to choose what testing is done and in what order?
- if yes, what do they do first and why?
- if not, then do they understand how the decisions on what to test and in what order are made?
- what happens when they find a bug in something they are testing? Do they stop and wait for a fix or pick up something else?
- if they could change one thing about their current process in order to improve it, what would they change and why?
Automation – only applicable if they have some automation experience
- what do they automate and why do they focus on automating that testing? Often get simple answers here varying from I automate what I am given/told to automate through to I automate everything – you are trying to understand if they know that there is judgement required here – choices to be made about what to automate in order to improve the efficiency of the team
- also common that QA automation is focused on UI – ask them if they have any experience of automating anything other than UI
- do they run their automation regularly? In a CI system?
- what problems have they had with automation – digging here to understand if they have built fragile automation or if they have learnt the basic mistakes and are experiencing more advanced problems like how to efficiently manage test data or parallelize tests more effectively
- ask them how they keep their skills current
- ask them to tell you about something they have learned recently that they found particularly interesting or useful
- ask them if they follow any QA/test/development folks blogs or twitter feeds and what they learn from that if they do