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
   193   194   195   196   197   198   199   200   201   202   203