Testing is a crucial part of the software creation process. It ensures that your code is working correctly and that all bugs are found before the software lands in the hands of consumers. But it can be difficult to explain these tests and their results to investors...
The only thing worse than leaving a hole on the team is filling it with the wrong person. Because auditions and existing life experiences are the best predictors of future performance, here are nine traits to look for when interviewing potential candidates.
Click on each one to jump to an explanation of the trait and how to hire for it.
- Adaptability. Be able to change test strategy to compensate for the team’s strengths and weaknesses.
- Improvisation. A good candidate can come up with new ideas on-the-fly.
- Business and outcomes perspective. A focus on what’s needed, right now; not blindly following a job description created years ago.
- Multivariate analysis. Complex tradeoffs such as decision trees or all-pairs reduce risk—but only if a tester has the skills to use them.
- Finding defects. If the software goes out the door with serious bugs, little else matters.
- Technical aptitude. Good testers continually learn and master new technologies.
- Communication skills. Finding bugs doesn’t matter if devs don’t understand how to reproduce them.
- Influencer skills. Holding a release to get a bug fixed might be best for the organization—but someone has to convince decision makers.
- Risk management. The most valuable—and rare—testers understand how risk-mitigation time is spent, and can explain potential risks to management.
Some testers talk about “the way we’ve always done it”, or “at my last job . . .”. A few data points are certainly a good start. Beyond knowledge, comprehension, and application comes synthesis — the ability to combine multiple prior data points to come up with the right approach to this problem.
How to interview for it: Ask how the candidate managed a major transition at work. Not just the technology, but in the way of working. It is possible a junior candidate is unable to answer this; they may not have experienced one yet. In that case, describe an approach to testing (heavily documented, no automation) and a desired total change from management to go no document of what-is-planned, but instead on the fly testing and heavy automation. Ask how they know a release was covered.
When adapting to changing strategy mid-stream, improvisation is more tactical. It requires adapting the approach moment-by-moment based on new information. Improvisational comedies, like the TV show “The Office”, have planned behavior but allow the method actors to find jokes in the moment. Improv in comedy is a skillset and discipline that create new ideas. It can be powerful for testing when applied for testing.
How to interview for it: Later in the interview, once the candidate is comfortable, play the Yes, And game. Perhaps bring in a couple of co-workers to play along. If you want to make it more like work, play the game to design a specification for software to quote car insurance, or describe a test approach to test a feature.
3. Business and Outcomes Perspective
Excellent testing is good, but not at the expense of the business. Testers might decrease their work on this project (even delay it!) to spend more time and effort on a project that is more critical to the success of the business. Firefighters, for example, have a great deal of “idle” time they might spend cooking, exercising or sleeping. The point is to not commit to any activity that takes more than a minute or two to put down, so the firefighter is available for emergencies. Hire for staff who see that the build, or the next project, is more important than triaging yet another trivial bug report.
How to interview for it: Ask about the candidate’s last job, what was blocking the release of value, and what they changed to improve the flow.
4. Multivariate Analysis
This is a fancy way to say tradeoffs with multiple variables. A bad multivariate analysis might result in moving from a one-week sprint to a four-week sprint to reduce the number of times the team runs regression testing. If regression testing is painful, doing it less often means the amount of uncertainty (regression bug) is four times as much.
How to interview for it: Ask about tradeoffs such as sprint length, story size, what to automate, and what humans should be testing for. Good multivariate hobbies include chess, complex board games, pinball strategy, music composition, higher-level mathematics, and some types of programming.
5. Finding Defects
Testers do more than double-check things; they provide information to decision-makers. Common shortcomings include missing entire categories of errors, focusing only on errors, and failing to understand what matters to the customer.
How to interview for it: Direct the candidate to a website such as Palindrome or Parkcalc. Give them a mission, such as finding obvious bugs, and ask them to describe their thinking as they progress. A skilled tester will ask questions about the mission and customer and report all kinds of information, using your answers to refine how they address you. That demonstrates communication skills, which is the next topic. For now, make sure the tester can actually find the bugs that matter.
6. Technical Aptitude
For a dynamic office, knowing C# or Java will be less important than learning whatever comes next very quickly. Software testers in particular need to learn enough to be dangerous — they need to learn to drive and assess various technologies, but perhaps not all the nuts and bolts.
How to interview for it: Ask about a new technology the candidate learned in the past year, then ask them to use it in the interview, if possible, or to explain it to you in layman’s terms.
7. Communication Skills
A candidate with excellent communication skills will be able to relay information in a way that is clear, yet concise. They will listen well, understanding what others are trying to say, and finding ways to “calibrate the signal” if they detect a breakdown in communication.
How to interview for it: Ask for an example of a time the candidate was misunderstood, and what they did to fix it. This can be tricky, as some candidates have been coached to never admit weakness. Make sure it is clear the question is not about a mistake — you want to understand how they identified and resolved a miscommunication.
8. Influencer Skills
A tester must also be able to influence others and advocate for what matters. When this skill is missing, the result might be a list of defects that don’t get addressed, or that make it into production. The skill of influencing is different from communication; influencing involves figuring out what drives behavior and how to affect it.
How to interview for it: Ask the candidate for a time they felt resistance to their ideas, and how they overcame that resistance. If the answer points to a need for further discussion, you could take on the role of a busy product owner, and have the candidate try to be a Quality Advocate (QA). Encourage them to talk you into fixing a bug. As you pretend to resist making the change, observe how the candidate responds. Ideally, the candidate will maintain their ground, stating their case with tact, or else pass responsibility for the decision up the chain of command.
It’s important to note here that a job interview is a high-pressure setting. Not only that, but as you’re conducting the interview, the candidate is also evaluating whether or not they want to work for your organization. So don’t get carried away with role-playing a scenario that involves disagreement. Always maintain a positive, respectful approach.
9. Risk Management
Think of risk management as combining several of the skills above, such as communication, systems thinking, finding defects, and multivariate analysis. Risk management moves from synthesis to application and even evaluation. It involves more than selecting the best, most powerful tests to find problems, but in explaining the other options and why these are superior. A risk expert can explain the risks to management in a way where they take the risk or give testing more time. Then, should those risks emerge, management actually understood the risk they were taking. This step is surprisingly rare in software circles.
How to interview for it: Ask the candidate for an example of a time they had to make a risk-based decision. An example would be how much time to invest in three different features when the testing needed to be done by the end of day, or how to prioritize which tests to automate. Once the candidate explains the decision, ask them to walk you through their thinking. A more advanced question is to an example of how they have visualized risk in the past, such as a spreadsheet, risk assessment table, mind map, or low tech testing dashboard that identified major risks by impact.
Before saying yes or no to a candidate, look around to see if they add unique skills to the team. A new hire who adds unique skills and has weaknesses the team can easily cover for might be a better hire than a “well rounded” candidate.
For even more questions to ask during software tester interviews, check out this article from our sister company, TestRail: 25 Challenging Test & QA Interview Questions.
All-in-one Test Automation
Cross-Technology | Cross-Device | Cross-Platform
Gherkin: Overview, Use Cases, and Format
Gherkin is a format used for cucumber testing. In this article, we go over what it is, its use cases, and the format of Gherkin.
The Importance of SQL Injection Testing
SQL injection testing is important for finding vulnerabilities and keeping your information secure. Learn more here.
6 Best Practices for Code Review
Code review is a daunting process, but there are ways to make it easier, more efficient, and more accurate. Learn more here.