There are two approaches to testing software, which can often be used in a complementary fashion:
Functionality testing—careful systematic testing on a feature-by-feature basis, making sure everything works as advertised.
Bashing on it—an almost random use of the software to make sure it doesn’t break when stressed.
Gremlins does the second sort of testing. Imagine, if you will, a very inquisitive monkey given a Palm OS device with your application on it. The monkey grabs the stylus and starts tapping away. Let’s look at some characteristics of the monkey:
It’s especially attracted to buttons, pop-ups, and other active items on the screen. It taps in nonactive areas on the screen but not very often; it likes active areas.
It’s a literate monkey that knows Graffiti. It inputs Graffiti characters—sometimes garbage runs of characters but occasionally fragments of Shakespeare.
It’s hyperactive. On one of our machines, it can do 1,000 events in 30 seconds.
It’s well-behaved. If told to debug a certain application, it won’t switch out of that application.
You start a Gremlin from the Gremlins dialog of POSE by selecting New from the Gremlins menu. In this dialog you specify which Gremlin you want to use and on what application (see Figure 10.9). You get to choose from 1,000 of them, each of which acts slightly differently in terms of the events it generates. Looking at Figure 10.9, you see that we’ve specified our own Sales application to test. You can also specify the entire device ...