Skip to main content

How Do You Think?

Article

How Do You Think?

Article by Fiona Charles | Comments: (9) | Thu, 03/22/2007 - 5:21pm
Summary:

What are the attributes of a good tester--of a great tester? As every test manager knows, identifying the right people for a test team can be a struggle. In this week's column, Fiona Charles describes the qualities of mind she looks for in testers, and the interview questions she asks candidates so that she can evaluate how they think.

When I am staffing a test team, I look for testers with genuine skills-both testing skills and soft skills. Neither of these are straightforward or easy to find or evaluate, especially within the time constraints of an interview.

Beyond skills, I look for people with the right qualities of mind. For me, these include:

  • Real enthusiasm for testing
  • Judgment
  • Analytical ability
  • Creativity and problem-solving skills
  • Critical intelligence: curiosity and skepticism

Paper qualifications-whether tester certification, post-secondary education, or testing courses-don't tell me anything about a candidate's possession of these qualities. I could learn something by asking the person to solve a puzzle, or to demonstrate how she would test a given piece of software, but I'm wary of a one-size-fits-all approach to evaluating people. We all need to be aware that different kinds of intelligence manifest in different ways.

So I try to engage candidates in conversations that make them think. I work to move people away from their prepared answers to a conversational territory where they will reveal not only how they think, but also the qualities they truly value in doing the tester's job.

Gauge a Candidate's Feelings
I start with a couple of simple questions: Do you like testing? What do you like about it?

Every candidate will claim to like testing, but the answers tell me whether or not it's worth going on with an interview. Some people light up when I ask those questions. Others don't show any spark at all.

There is no one right answer. A passionate concern for users is valuable, even more so when it is coupled with glee in finding bugs and pursuing difficult clues. Good candidates display enthusiasm, searching curiosity, and a sense of joy Some people don't even seem to like software, let alone testing.

I also look for judgment in evaluating risk. I want testers who care about more than whether the software matches the written requirements. A tester needs to know that some requirements might matter more than others, and that half of the real requirements might never have been written down. If a candidate talks about risk-based testing, then she'd better go beyond the buzzwords and demonstrate a real understanding of what it is and how to accomplish it.

Delve into Work and School Experiences
Evaluating analytical skills or problem-solving abilities is not easy. I try to do this by asking testers how they approach problems. I pose a hypothetical problem and ask the candidate to suggest ways to solve it. I also ask for a specific example of a difficult testing problem the candidate has solved and the method she used. Again, there are no right answers. I'm looking for a sense of method, but also for creativity and the flexibility to adapt an approach to different circumstances. I'm especially interested in people who know what a model is, and why it might be a useful tool in analyzing and solving problems. I'm even more interested in candidates who understand that models have limitations.

Candidates must also possess critical intelligence. One indicator of critical intelligence is a candidate's description and assessment of the various sources of project information. I ask interviewees to give examples of the sources they've dealt with and others they know of. What issues did they encounter in getting and evaluating information? Were all sources equally credible? If not, what did they do about that? How might they cross-check different sources?

Finally, knowing what a candidate has studied or done in a former life can help guide interview questions that show her qualities of mind.

Take formal education. Academic studies at any advanced level require problem solving, at least in principle. I expect people with academic credentials to be able to talk about their studies, not only in terms of how the work might have prepared them to test software but also in terms that show me how-or if-they think and how they generally approach problems. Their answers will also tell me the qualities and skills they believe to be valuable for a tester.

A good tester should be able to provide an interesting analysis, even if it has never occurred to her to think this way before.

If someone were to ask me how my university studies in English language and literature helped equip me to be a tester, I would say that it's the passionate study of literature that's of interest, and the development of skills to pursue that study. A poem or a work of fiction is both a system and a model, just like a software system. Natural language is a symbolic system, used within various formal constraints to construct literature.

Studying both language and literature require analytical thinking and conceptual modeling. You need the ability to dig out sources of information and think critically about their reliability, and to construct and test hypotheses. You must have the imaginative reach to get inside someone else's view of reality and also to understand the historical context of a different period.

I expect candidates to be able to talk about the testing they've done in a similar way. Whatever we talk about, I want to see a zest for thinking and problem solving. I want candidates to display the ability to know what a metaphor is and why it might be useful and important to a tester. I want to see tenacity and healthy skepticism in that person as well.

The question that drives the entire interview is "How do you think?"

It's the conversation that really makes the difference. Because I work to get candidates to think and to talk enthusiastically, it's hard for them not to reveal what I want to know.

All of this makes for an enjoyable interview process. And when I do finally meet the successful candidate, the interview helps establish a foundation of trust and understanding for the future working relationship.

About The Author: Fiona Charles

Fiona Charles is a Toronto-based test consultant and manager with thirty years of experience in software development and integration projects. Fiona is the editor of The Gift of Time, featuring essays by consultants and managers of various professions about what they've learned from Gerald M. Weinberg. Through her company, Quality Intelligence, Inc., Fiona works with clients in diverse industries to design and implement pragmatic test and test management practices that match their unique business challenges. Her experiential workshops facilitate tester learning by doing, either on the job or at conferences. Contact Fiona via her Web site at www.quality-intelligence.com.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

#1

It is a very good article. Not taking any credit away, I would like to add my comments disagreeing to few statements by the author and other readers. Having development skills for testing is desirable and in some cases it is a MUST. There are some good testers who do not have development skills, and that is fine, but "testing team should not become a dumping place for people rejected by development". Testing is an engineering discipline and development skill is one of the basic skills in software engineering. The people in testing teams should understand that they are equal to developers and they should work towards creating credibility for their teams. If we keep picking up people who are rejected by development, it creates a perception that testing is not equal, and people who come through this route, keep living in that perception for longer. People who can break this perception (with or without dev skills) is the one I would select for my testing team.

#2

I think that a grasp of epistimology comes into it (how you know what you know), regardless of whether the candidate knows the word. I think that that is more important than experience as a developer or a tester. I have seen novices with a grasp of epistomology test rings around people with a plodding "following orders" mentality.

#3

I agree with your insight into what makes a good tester. However, there is one additional aspect you have not mentioned that I consider critical. It is my experience that to be a "good" tester of software the tester MUST have had some experience actually developing software...the stuff they are going to TEST! I view my experience as an accumulation of the mistakes I have made... and in 40+ years as a software developer and test engineer the list is long. There is no substitute for first-hand knowledge of creating "bugs" during development. Beyond this the most important thing for a tester is attitude...I was a software development engineer for 25 years before I "saw the light", changed my attitude, and "evolved" to a higher plane as a tester!!

#4

This article and the 1st comment that came after the article are bang on target. Like my eyes lighted up when I read the article and comments. I have done lots of interviews my self in a domain area and can vouch for few things : (a) Demonstrative applied knowledge of the domain to the extent that the role requires - at the minimum. Theoretical answers are ok, but applied knowledge is what I look for ; (b) How does a person react when a particular complex or tricky question is asked - that is why telephonic interviews sometimes can throw up wrong 'uns; (c) Aptitude and Attitude - are the keys. When interviewers compromise due the pressures of the situation, then they are inviting trouble with welcoming hands. Thanks for reaffirming my faith in the core qualities that an interviewer should search for.

#5

This may be controversial or unorthodox, but my experience says the content of the questions asked is not as imporant as the complexity of the questions -- questions that require the interviewee to think. The interviewee's answers will reveal aptitude (high or low) for understanding and formulating complex concepts. That is the first quality I want to verify.Secondly, you want some experience or education relevant to the job responsibilities, but this is only a secondary consideration. I wouldn't hire anyone with tons of experience who can't formulate or grasp complex concepts! That would leave me with someone who won't be as productive, but who may expect to be given seniority and a higher salary because of years of experience. That's a pandora's box of issues I want to avoid.When my impression has been that the interviewee is intelligent (regardless of experience), that person has proved to be highly productive, low-error-rate, fast learner, and bright with suggestions to improve processes. Early in my management career, when I went against my impression of the interviewee's aptitude, and hired based on the employee being highly experienced with a resume that was a "perfect fit" for the position, I got an unproductive employee who had ego issues (because of so many years' experience) and resentment when confronted with low productivity. I don't mind egos so much, unless they're mixed with low productivity. As an employer, I've seen the rule proved repeatedly that valuing intelligence/aptitude (over experience) brings success, and valuing experience (over intelligence/aptitude) brings failure. The only way to determine the aptitude of the interviewee, as you say in the column, is to engage in conversation that requires analytical thought "on the fly" on a variety of topics.Ironically, therefore, the most impractical thing you can do is hire solely on practical experience. A small company's survival depends first upon the aptitude and abilities of its employees, while experience can be gained in the long-term. But hiring without scrutinizing aptitude, just blindly hiring people with good resumes, will *always* sabotage your company. I like to ask "scenario questions" that require perceptivity in grasping the subtleties of the question, as well as require on-the-fly formulation and articulation of a complex answer. I would adapt this same principle of interviewing and use it for any job, from entry-level sw-test asst. to lead developer to CIO.

#6

Good article about how to hire a good tester or infact a great tester. But I think these are the theoritical concepts of interviews. What I believe is that interview is totally a runtime sync activity between the interviewer and the interviewee. Its not necessary that the interviewer is more intelligent than the interviewee. The only thing that should be taken care by the interviewe is to satify the interviewer at any cost. The interviewee should try to keep the discussion according to his knowledge or understanding.I agree with the author's view about all the attributes that one should look for while hiring some person for testing. Effective communication and patience is must for the testing team member now a days. Creativity and exploratory behaviour is also very important because what I believe is "Whatever you are doing is testing for a great tester".-- Sanat Sharma

#7

I agree with the 'how do you think' concept. I have two other comments, coming from managing a pretty large (50 testers) group for many years: 1. I found a mix of people most effective, allowing me to assign people to tasks they were suited for: the detail people, the intuitive people, the developer people, etc. Sometimes you need a system engineer, sometimes a geek, sometimes you just need a person who is really good at communicating with both developers and managers.2. Often musicians make excellent testers.

#8

hi,i being head of quality assurance in a software company fully agree with the qualities you mentioned. one more quality i would like to add is "intuitive". i have seen many excellent developers having zero percent flair or capability for testing and vice versa i.e. excellent testers, techincally sound too but not a good developer.jaideep

#9

It is a very interesting article.I just started my carrer as Qaulity Analyst,when i was interviewed similar question were asked.I believe that qualities as u discribe in your article is necessary to be a very good tester.