views:

171

answers:

4

Hi, I normally ask this question in a interview for tester. Our software is really complex, has GUI and backend component. We require the tester to be good in analytical and can think out of the box. In this context, is the following question good to be asked or is it too complex/bad/ugly? Also our requirement is that the tester should be experienced.
The Question
There is a software named as Circles finding software. This software takes as input a Black or white image (the pixel is either black or white). If there is a circle in the image it will highlight the border in the red color and output the image, or else it will output the same image. It is supposed to find all the circles that a human can find in the image. So what all tests will you run on this software? By test I mean what all images you will pass to test it's working. Please draw the images.

+5  A: 

I think it's an excellent question.

It's unclear and ambiguous, since it doesn't give any kind of context for how circular a circle has to be. Does it merely have to appear circular to a person? How about slightly ovoid? Irregular edges? What about a 2x2 square of pixels; is that circular? One pixel on its own?

Are there other shapes? What if those shapes overlap? What if a circle goes outside the border? How about circles within circles; do they count?

If the tester simply grabs a pen and starts drawing without asking you a ton of questions, you know they're not going to work out. I say go for it.

Lunivore
@Lunivore: And how about dotted lines? But I wouldn't automatically reject a person who started drawing. Maybe they hope to explain what they did, and discuss the complex issues of definition, afterwards. After all, the goal is to find intelligent, competent, and creative people, not to see how fast you can eliminate likely or possible duds.
Tim
@Tim I would still expect them to ask a ton of questions at some point. The best testers I know are the ones who help uncover hidden scope and assumptions by talking through different examples. As a dev they're so valuable to me, because they help me create code without bugs instead of merely finding them afterwards. Sure, if they can *learn* to do it, that works... but if you've got an intelligent, competent and creative person who already knows the kind of techniques that make a great tester, I think the learner isn't going to work out.
Lunivore
@Lunivore. I think we agree, just a different emphasis. The goal of the interview is to give the candidate the best chance to shine. So if the interviewer wants intelligent questions *beforehand* it would be good to say "Before you begin, feel free to ask any questions. Questions are welcomed, Candidates are judged on the intelligence of their questions."
Tim
@Tim I think we agree too. I'd prefer not to give them *too* much of a push to ask questions - but then I work in organisations where you have to have a bit of confidence and courage or it will never work out. "Feel free to ask questions" would be enough for me. YMMV.
Lunivore
+4  A: 

I think that question is fine as a "lead off" question - by that I would expect a viable candidate to come back with some questions for clarification - such as:

  1. How close do two concentric circles need to be before they are no longer considered different circles?
  2. How should a partial circle - that is, one which intersects the boundary of the image - be considered?
  3. How "circular" does a circle have to be - are ellipses or ovoids considered "circles"?

You are looking for someone who can think about the underlying problem and tasks.

Ken Ray
I don't think the interviewer should necessarily respond with **questions** per se. I would rather an interviewee start a discussion about it, as if they were informing me of considerations to make rather than wanting me to do all the hand-holding.
Brad
Brad - I thought that is what I said - that if I was being interviewed for that position, and asked the "circles" question that Manoj R asked, I would respond to the interviewer in that manner - to show that I understood this wasn't just a trivial, simple case, but particularly in software testing, it is understanding those special situations, the "edge cases" (no pun intended...) that make the difference between a solid, comprehensive test and a farce.
Ken Ray
@Ken, correct, but my preference would be an interviewee to **tell** me what the concerns were, anticipating them, rather than asking me to reduce the complexity of the system by improving the quality of input data. This will show you someone who is going to anticipate just how bad the input data can sometimes be and program for those cases.
Brad
+2  A: 

I think it works well as a the-response-means-almost-nothing-to-me-i-only-care-about-the-process questions that just seem to paralyze most people. Go for it.

Brad
+1  A: 

For starters, I would reword part of the question, specifically the "This software takes as input a Black or white image (the pixel is either black or white)".

What pixel? What color is the background and what color is the circle? Are they interchangeable or is it a fix pattern.

I would use, if it is as I think it is, something like "This software takes as input an image with black and white pixels." Maybe adding "black (foreground) and white (background) pixels" if you rather be specific on this.

Also, I would prefer a "discuss the images you would use"; it is important for a tester to be able to express his ideas not only by drawing. Also, if you offer him to draw and give him a BLACK pencil, you may be conditioning the candidates and make them focus directly on shape and position and forget other possibilities as multiple colors in the picture.

I would rather give them no tools and see which would they determine they need.

EKI