 |
Home > Detail: Will the Real Professional Testers Please Step Forward?


| A StickyMinds.com Original |
 |  |  |  Will the Real Professional Testers Please Step Forward?
 By James Whittaker

  
 Summary: In this week’s column, James Whittaker’s message to testers is loud and clear: Respect your discipline and you will gain the respect that your discipline deserves. Read on for some ways that testers can earn respect, and for some common elements present in organizations that recognize the importance of testing. |  |  |

|
|
 | What is it that makes some companies havens for testing talent while other
companies incite anger from their testing ranks? At every testing conference I
attend, I hear the same laments:
- "Developers think they are better than us."
- "Development is always late in delivering the code and it’s Test that gets
blamed when the schedule slips. Everything is always our fault."
- "Upper management treats us like second-class employees."
- "How do we get the respect we deserve?"
And so on and so forth.
I’ve listened in on the conversations these folks have with the testing
consultants in attendance. In general, the consultants are full of empathy, as
well as suggestions about how to improve the situation. Most of the solutions I
have overheard fall into two categories:
- You need to improve communication between test, development, and upper
management. This will allow a dialog that will lead to a better understanding
and appreciation of testers.
- The problem is that testers are not certified. Certification will
legitimize testing as a field and help ensure adequate treatment.
Frankly, and with due respect to the test consulting community, the first
solution sounds a lot like Dr. Phil giving marital advice and the second sounds
a lot like a labor union.
In my opinion, neither psychotherapy nor unionization will solve this
problem. Respect is doled out in the technology sector only when it is deserved.
That’s a good thing. Too many times we hear people in other industries
complain that it doesn’t matter how talented you are, that merit has nothing to
do with respect or advancement. Our goal is to get so good at what we do, that
colleagues and management have no alternative but to respect us.
So I have been taking notes during the last year on a mission to understand
this problem. I accomplished my mission by studying the organizations in which
this problem does not occur, organizations where testers are respected by
developers and management and are afforded pay and career paths equal to
development.
The common denominators I found are (in no particular order):
Insistence among testers for individual excellence
The companies I studied have a large number of testers who take pride in
their testing prowess. They are good, they know they are good, and they take
great pride in demonstrating their excellence. I hear them speak about their
bugs with as much pride as the developers talk about their code. They
name their bugs and, if questioned, will recount their hunt, their technique,
their insight, and every bit of minutiae that relates to isolating and reporting
the problem they found. Personal pride in a job well done is not the exclusive
domain of developers. To these testers I say, "Long live your stories and may
your tests never lack targets!"
Primary concern focused on the quality of the product.
Lest you read item number one above and thought those testers arrogant and
self absorbed, my subjects in this study had one singular focus: maximum
contribution to product success. Whereas the developers can look with
understandable pride at what they put in a product, testers can feel
equal pride for what they keep out of the product. For this, testers
deserve our respect. They deserve our thanks. And forward-looking companies are
generally ready to give it. To those companies who refuse to generously dole out
this respect, perhaps they would be willing to re-insert those bugs and do
without the services performed by their best and brightest testers.
A corporate focus on continuing education for testers
I often get invited to teach one-day testing seminars onsite. These courses
are full of testers who are eager to learn. I start each class with one simple
theorem: "Anyone who thinks they can learn testing in a single day is a fool who
has no business testing software." I invite such people to leave my course and
implore them to leave the discipline. By this rather harsh statement, I stand
firm: testing is not to be taken lightly.
Testing is a pursuit; testing begins, but it never ends. This is a fact of
life: we can never be finished with our testing task. No matter how much code we
cover, there is always more that remains uncovered. No matter how many input
combinations we apply, there are so many more that we did not apply. No matter
how much we think we excel at testing, there are more complexities and
subtleties that elude our full understanding.
Testers must demand, and receive, the education they so desperately need.
Companies that refuse continuing education benefits—conferences, onsite or
remote courses, books, and (if you are lucky enough to find them) graduate
college courses—should be banned from the practice of software development. Such
companies are a hazard to software users everywhere. Testing is a challenging
intellectual discipline. It not only requires training, it demands it. Companies
that refuse to cover these expenses for testers are negligent.
The hiring of degreed engineers for test positions
Testing is not a clerical task. It is an engineering discipline and is best
carried out by trained engineers. Obviously, one cannot over-generalize here.
There are some people who have majored in the arts who make fine testers. And we
always need domain experts to test applications that require specialized skill
(imagine testing a flight simulator without a pilot or two on your team). But,
in general, a computer science degree (or related major) is necessary. There is
background knowledge about algorithms, computational complexity, graph theory,
and data structures that are requisite skills, building blocks for a deep and
well-rounded testing education.
Now, if we could get more universities to actually teach testing, we’d all be
even better off. But testers need to understand development, even if they don’t
practice it on a regular basis.
My advice can be summarized as follows:
Begin by hiring college graduates who have majored in something technical and
related to computer science (electrical engineering, computer engineering,
physics, math, and so forth). The education level of your testers should be
equivalent to or better than that of your developers.
Insist on continuing education benefits. Start by showing that the bugs that
managed to slip into the released product could have been found with more
advanced testing techniques and make a strong bid for training concerning those
techniques. You must make the argument, convincingly, that more training will
equate to better software.
Nurture a testing culture in your company that allows you to learn from the
bugs that you find and the bugs that your customers find. Don’t apologize
for the bugs that slip through. Make them a learning opportunity. Pick them
apart and be sure every tester knows why that bug was overlooked. Bugs are
corporate assets because they teach us about what we are doing wrong. Being
proactive about correcting these mistakes will go a long way toward showing
upper management that Test is a crucial aspect of product development that
improves when it is taken seriously. You cannot expect upper management to take
you seriously until you take yourselves and your discipline seriously. The more
attention you pay to improving the performance of Test, the more respect you
will gain.
Finally, I must note that the trend among software companies is moving in the
right direction. More and more companies are taking test seriously and
recognizing its value. If you work for a company that treats testers as
second-class employees, other opportunities are out there.
Your fate is in your own hands. Strive for individual excellence, recognize
your importance to a project, celebrate the bugs that won’t ship because of you
and your team, and demand the continuing education you deserve. Respect your
discipline and you will gain the respect that your discipline deserves.
Long live the professional tester!
About the Author Dr. James A. Whittaker is a professor of computer science and
the director of the Center for Information Assurance at Florida Tech. He is author of How To Break Software (Addison-Wesley) and co-author of an upcoming book, How to Break Software Security. His group focuses on highly efficient test techniques and tools for penetration testing. Contact him at jw@cs.fit.edu.
Back to Top
StickyMinds.com Weekly Column From 2/24/03
|