In this post, we share a QA interview tool – a simple web application that has bugs seeded in it. Qxf2 created this tool about 6-months ago and shared it on a couple of different social media platforms. Since then, we have received enough unsolicited feedback and thank you messages that we felt it is worth publishing on our blog.
Background for this post
We really, really, really don’t like it when interviewers use generic applications (Gmail/Chair/Calculator) to evaluate whether the QA is good at testing or not. Good testing relies on context to give it focus. To get around the problem, my colleague (Avinash Shetty) and me developed a simple web application and seeded it with some bugs. We feel you can conduct more effective QA interviews using this web application as a backdrop.
QA interview application details
The app itself is a factorial calculator that works for the most part. The application is limited enough that anyone can grasp what it does within a couple of minutes. It has just enough validation checks and error handling to make it seem real. It also has some bugs that require the QA to narrow down the problem and address some boundary conditions. We have shared the application with enough testers (and developers) and are confident that it serves as a good interview tool.
1. Hosted application: We have hosted the application at: https://qainterview.pythonanywhere.com/. Have fun finding bugs!
2. Open-sourced: In case you want to expand on our work, we have open-sourced the code over here: https://github.com/qxf2/qa-interview-web-application.
3. Guide to interviewing QA: We have also written a detailed guide on how to structure your QA interviews and the kind of questions that have worked for us. Check out A better way to interview QA engineers
Frequently Asked Questions
1. Don’t you think people will game this system by finding out all the bugs in it?
No. Finding bugs is not enough. Good QA involves confirming what is right as much as it involves discovering bugs. If the candidate only talks about bugs, they are not testing correctly.
2. Should I hire only the QA engineers who find all the bugs?
Absolutely not! Hire the QA engineers based on the characteristics you value. If you value forethought, methodical testing and clear communication, hire the candidates that seem to have a method, can communicate it to you before they begin and clearly articulate when they change their approach.
3. Can you send me a list of bugs in the application?
Yes. But only if you send an email to email@example.com. We are doing this because we do not want to make the bug list public.
4. This is cool but what if I am hiring automation engineers?
This app is still very useful for interviewing automation engineers and SDETs. For web automation, simply provide them the URL https://github.com/qxf2/qa-interview-web-application and make them automate a test case. The application has one REST endpoint that takes a parameter that you can ask the candidate to discover and then write an API test. We have provided the code so you could ask candidates to write some unit tests too.
5. Isn’t this too simple? Wouldn’t everyone do well?
Apparently not. People with poor testing fundamentals struggle. You will also be surprised at how many different behavior quirks you pick up observing the candidate testing and communicating their testing. The app looks simple but we can promise you that it gives you an excellent starting point for conducting a QA interview.