Page 198 -
P. 198
Commonly, people (mistakenly) think about software testing in one of two ways. Some-
times they expect testers to be “all-powerful.” They should be able to catch every single bug
in the software so that there will never be a user error or complaint, ever. To someone with
this mindset, any complaint that comes from a user is seen as a failure of the software
testers. On the other hand, people sometimes consider software testers to be little more than
bean counters, whose job is to simply look for typos and for “insignificant” errors that the
programmers might have missed in their “exhaustive” testing. Paradoxically, some people
can even hold both of these misconceptions simultaneously. In other words, the expecta-
tions put on software testers are not only impossible to meet, but often contradictory.
When people have one of these common misunderstandings about what it is that software
testers do, it generally leads to an even bigger misunderstanding of what quality is. They
do not think about quality as how far a product has deviated from its specifications.
Instead, they think about it as some sort of theoretical limit that would be really great to
achieve, but could never actually be accomplished in practice.
Much of this confusion about quality and software testing comes from the fact that soft-
ware testers do not add to the software; they “just” run it and report any problems. The
actual mechanics of testing seem almost stagnant to somebody who does not really under-
stand its purpose. They feel that the software is built, yet there are these testers who are
running the same tests over and over on the same piece of software, keeping the organiza-
tion from releasing it. It falls to the project manager to defend the software quality by
keeping the test activities from being shortchanged.
Understand What Testers Do
Testers are not a special breed of person. Software testing is a skill; it is a discipline of soft-
ware engineering, just like programming, design, requirements analysis, and project man-
agement. Yet many people think that someone needs to be a certain kind of person in
order to be a successful tester. They feel that being an effective software tester is purely a
matter of disposition, rather than an acquired skill. It is very common for good testers to
constantly hear their peers say things like, “I can’t understand how you could do what
you do” and “I could never do that to people.”
Even highly respected thinkers in software engineering tout the virtues of having your soft-
ware tested by people who don’t know anything about software engineering at all. It has
even been suggested that software testing involves no skill and could be done by temps, col-
lege students, smart teenagers, and retirees. The thinking goes that anyone who is qualified
to be a good tester would not want to be one because the job is somehow so horrible that
anyone who would be really good at it would opt for programming instead.This is ridicu-
lous. Yet it is by far the most common opinion on software testing in the industry.
To understand what testers do, it’s important to debunk certain popular myths. The first
myth is that anyone off the street can test software. This is no truer than it would be of
any other software engineering discipline. Testing requires training, skill, experience, and
an understanding of the requirements and design of the application under test. A software
190 CHAPTER EIGHT