views:

1326

answers:

7

There are a ton of questions on this site about interview questions for programmers, but what about QA engineers?

How can I make sure I'm getting somebody who really knows how to put test plans together and execute them?

How much in the way of technical skills should I demand? I've worked with a few testers before who knew basic SQL, and that was great, because they could interact with the UI and then go check to make sure everything looked correct afterwards in the db.

Of course, if they're too technical they just end up programming and you lose your tester. :P

Are there any standard tools that testers use that they should be familar with?

Has anybody had luck combining the QA role with product management? It seems like a perfect fit to me.

We all know we're supposed to have dedicated testers, but I bet few of us do. We should know how to hire one when we actually get the chance.

+6  A: 

Some of the best questions I've heard in the quality assurance arena revolve around real-world scenarios. The questions can range from "Given this well-known web application (take your pick: Gmail, Hotmail, Stack Overflow...), generate a list of test cases. How would you test each one?" Not-so-straightforward questions, such as "How would you test a vending machine?" or "How would you test this chair?" can also give some great insights on whether or not the candidate you're interviewing has the right QA mindset.

I'd also put an emphasis on metrics that the person considers to be important factors in software quality. Some "spot the bug in this chunk of code" type questions can help identify a candidate that is able to perform meaningful code inspection. I'd also look at whether or not the candidate has previously driven improvements in known-good test metrics at other jobs: high code coverage, unit test coverage, test automation, build verification and so on.

Technical knowledge is also exceedingly important. The problem is finding someone with that mindset who prefers to apply their knowledge towards breaking things. A solid tester with these skills will run circles around other testers; you simply cannot get someone with a point-and-click level of testing to perform in the face of common requirements. Consider a scenario such as "We're changing the way validation works for this querystring parameter; look at 10 gigs worth of log files to determine if this would break anything in our production environment." You'll need a tester with effective coding skills to make that decision.

Gabriel Isenberg
For whatever reason, some folks find the "describe how you'd test a chair" questions off-putting. It might be best to stick with questions a little closer to the actual job. Ask them about how they'd test a simple application.
Mark Bessey
+1  A: 

You have a bowl with 200 fish in it. Of these fish 99% are not guppies. How many fish should you remove so that 2% of what remains are guppies. Show your work.

This is about confusing requirements. It is said this way to change perspectives multiple times during the same question. It is meant to see if they can figure out what they are to test.

dacracot
+3  A: 

It might be worth asking them to explain the differences between various testing approaches (who does it, what is it for)? ie:

  • Unit testing
  • Smoke testing
  • Integration testing
  • System testing
  • Acceptance testing
  • etc...

Wiki may have some good source information here

toolkit
+1  A: 

I would ask if the tester has ever heard of James Bach. If not I would encourage them to hie to the nearest browser and watch yon video with all haste.

MrBoJangles
+3  A: 

There's a similar discussion here that may help.

17 of 26
Wow, I searched for a while and never found that! Dang, I didn't mean to ask a duplicate.
Eric Z Beard
+1  A: 

It all depends on what kind of QA person you looking to hire- I have following suggestions based on who you looking to hire

  1. To hire Automation expert - Give him to record some script and then evaluate the quality and the detail coverage of his script
  2. To hire Sys/integration testing expert - Give him a use case and ask him to come up with the test scenarios related to it and check how detail and creative a person can get to cover most of the scenarios
  3. To hire UAT testers - Just select a person who has the previous business experience working in the similar area
Chanakya
+1  A: 

Technical knowledge is a good to have for a QA person. He has to understand the working of an application from a much wider prospective than a developer, who would most of the time be restricted to his own component. The ability to develop small hacks and a perceived sense of knowing what can go wrong in a given component.

Another thing that a tester should have is the ability to ask questions. He should be curious to know what and why and also get to the how. He should not assume things, as once he does start assuming things, his ability as a tester goes down.

You have put in a good analogy of a tester with a product manager, these two roles are the ones who know the overall working of the product, while not actually getting into the internals. But a tester would be more keen on what ways can he/she devise to break the product, while a product manager, is more concerned with joining the pieces up and getting a perception of what the user actually would look for.

I would choose a person who is both technically sound and has a clear understanding of testing techniques. His logical and analytical abilities should be very good. Languages and Tools can be taught (if a basic knowledge of a HLL is there), but not logic and analysis of a problem/product.

My best has been to give the person being interviewed a use case like the address bar of the IE and let him find test cases or give him a function like memcopy and work out wat can go wrong with it and what all is to be tested to release the same.

gagneet