Another point of divergence is attitude. Test executors are experts on what cannot be done, while test engineers are experts on what it will take to get something done. When faced with challenges, such as poor organizational processes or low resource availability, test executors excel in explaining why goals can't be accomplished. Test engineers understand, however, that conditions are never perfect, so they look at such challenges as opportunities to earn their paychecks. They begin to craft a set of scenarios that outline how various levels of a goal can be accomplished under the current circumstances.
Being technical does not mean being an expert programmer; it means understanding systems beyond what is seen on the surface so you can better interact with them. It also means having the ability to produce quality solutions with computer science concepts. Test executors shy away from these concepts and argue that they are outside of the scope of a tester's job function. A test engineer is excited over the prospect of streamlining processes with technical concepts, such as scripting language automation and test tool customization.
Differentiating Engineers and Executors
When evaluating resources, whether during an interview or on the job, there are certain things to look for that indicate on which side of the dichotomy the resource falls. The first is whether or not the resource is capable of relaying a basic understanding of testing concepts and terminology. You can always look at someone's resume and find strategically placed testing buzzwords, but be wary of people who can't speak concerning the information in their own resumes. I can't tell you how many interviews I've conducted where interviewees have drawn a blank when asked to describe what's included in a typical test case.
In addition to being able to speak on basic testing concepts, the applicant must be able to speak about these concepts using previous experiences as support rather than as definitions. Many people mistake being a subject matter expert for being a test engineer. When asked about the basics of testing, they talk endlessly about functionality of applications they've worked on without addressing testing's body of knowledge at all. Without an understanding of testing's basic concepts, it doesn't matter how important he was in his last position because the skills won't be transferable. True test engineers can effectively discuss basic testing terms and concepts using personal experiences as support. Key concepts include:
- Test cases
- Test planning
- Defect analysis
- Requirements analysis
- Requirements coverage
- Test reporting
- Test process improvement