Chapter 5. Testing the Software with Blinders On


IN THIS CHAPTER

  • Dynamic Black-Box Testing: Testing the Software While Blindfolded

  • Test-to-Pass and Test-to-Fail

  • Equivalence Partitioning

  • Data Testing

  • State Testing

  • Other Black-Box Test Techniques

Okay, now for the good stuff! This chapter covers what most people imagine when they think of software testing. It's time to crack your knuckles, sit in front of your computer, and start looking for bugs.

As a new software tester, this may be the first job you're assigned to do. If you're interviewing for a software test position, you will no doubt be asked how you'd approach testing a new software program or a new program's features.

It's very easy to jump right in, start pounding on keys, and hope that something breaks. Such an approach might work for a little while. If the software is still under development, it's very easy to get lucky and find a few bugs right away. Unfortunately, those easy pickings will quickly disappear and you'll need a more structured and targeted approach to continue finding bugs and to be a successful software tester.

This chapter describes the most common and effective techniques for testing software. It doesn't matter what kind of program you're testingthe same techniques will work whether it's a custom accounting package for your company, an industrial automation program, or a mass-market shoot-'em-up computer game.

You also don't need to be a programmer to use these techniques. Although they're all based on fundamental programming concepts, they don't require you to write code. A few techniques have some background information that explains why they're effective, but any code samples are short and written in a simple macro language to easily demonstrate the point. If you're into programming and want to learn more low-level test techniques, after you finish reading this chapter, move on to Chapter 6, "Examining the Code," and Chapter 7, "Testing the Software with X-Ray Glasses," the white-box testing chapters.

Topics covered in this chapter include

  • What is dynamic black-box testing?

  • How to reduce the number of test cases by equivalence partitioning

  • How to identify troublesome boundary conditions

  • Good data values to use to induce bugs

  • How to test software states and state transitions

  • How to use repetition, stress, and high loads to locate bugs

  • A few secret places where bugs hide



    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