Having Other People Test Your Software


Figure 16.1 shows two almost identical views of the same scene. Get out your egg timer, set it for one minute, and carefully examine both pictures looking for differences between the two. Keep a list of the differences you find in the order that you discover them.

Figure 16.1. In one minute, try to find as many differences between the two scenes as you can. Figure courtesy of www.cartoonworks.com.


After you finish looking, have several friends do the same search and compare your lists. What you'll find is that everyone has very different results. The number of differences found, the order that they were found, even which ones were found will be different. Hopefully, if you combine all the lists and throw out the duplicates, you'll have a complete list of all the differencesbut even then, there still may be a few that were missed.

Software testing works exactly the same way. You're likely under a tight schedule, you find as many bugs as possible in the time you have, but someone else can come in, test the same code, and find additional bugs. It can be discouraging to see this happen. After all your hard work, you'll think, "How could I have missed such an obvious bug?" Don't worry, it's normal, and there are several reasons and solutions for it:

  • Having another set of eyes look at the software helps break the pesticide paradox. As Figure 16.1 demonstrates, people notice different things. Bugs that were always present that built up immunity to your view can be readily seen by a new person on the project. It's the "Emperor Has No Clothes" dilemma.

  • Similarly, people don't just see differently from each other, they go about their testing differently, too. Despite your best efforts in reviewing the software's specification and deciding on your test cases, a new person can come in and find a bug by trying something that you never even consideredhitting a different key, clicking the mouse faster, starting a function in a different way, and so on. It's that pesticide paradox again.

  • Having someone assist you in your testing helps eliminate boredom. It can get pretty monotonous running the same tests over and over, using the same software features again and again. The boredom will also cause your attention to wane and you might start missing obvious bugs.

  • Watching how someone else approaches a problem is a great way to learn new testing techniques. There are always new and different approaches to testing that you can add to your bag of testing tricks.

It's easy to fall into the trap of wanting to be solely responsible for testing your own piece of the software, but don't do it. There's too much to gain by having others help you out.



    Software Testing
    Lessons Learned in Software Testing
    ISBN: 0471081124
    EAN: 2147483647
    Year: 2005
    Pages: 233

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net