Unagile Testing

November 18th, 2005

Teaching commitments in New York prevented me from sticking around to hear most of the talks at STARWest this week after my own sessions were over. However I did listen to Wednesday’s keynotes from James Whittaker and Julie Gardiner. Reflecting on them, it struck me that while today’s programmers may be test infected, testers aren’t yet agile infected.

Whittaker’s keynote made the useful point that we need to investigate our bugs to see what we’re doing wrong, which is sensible. However he seems to believe that the only reason to do this is so testers can more easily find bugs. He doesn’t hold out any hope that programmers can find bugs or not put the bugs into the code in the first place. Because all software is buggy, he thinks no methodologies are worth anything. He claims we don’t know how to write perfect code, and therefore we can only hope to detect the bugs after the fact.

Certainly all software has bugs, but not all software is created equal. Some software is demonstrably better than other software; and we can learn good techniques from this software, even if it still has a few bugs in it for testers to find. He’s really suffering from the binary fallacy. The question is not whether software is perfect or imperfect. It’s a quantitative question of how imperfect any given piece of software is. We can strive for perfect software, but we can only achieve better and worse software. But we can achieve that, and it’s still worth studying and striving for. (In a brief hallway conversation after the talk, James did hint that he was deliberately overstating his point to pump up the audience, but there were no such caveats in the keynote itself; even when I raised these points in Q&A)

Julie Gardiner delivered the second keynote on Why “‘Risk’ is a Tester’s Favorite Four-Letter Word.” I don’t have a big background in test theory. I haven’t read a lot of books about testing. (She claims to own over 60, and to have read most of them.) so I may not have fully understood everything she said. However, it seemed to me that she was saying risk is dependent on time spent testing. The more time spent on after-the-fact testing the more confidence you had that the software was bug free. You decide when to release based on how much risk you are willing to accept.

There’s something to that but it’s not how I work, it’s not how I see companies like Microsoft working, and it’s certainly not agile. In agile development, the software is tested and the bugs found much sooner. An agile team normally has a very good handle on how many bugs they have; and they run at a very high confidence level that there are few undiscovered bugs. This is because testing is done simultaneously with coding rather than after the coding.

As far as releases go, a really agile team may release every two weeks. If there are undiscovered bugs they can be fixed and the fix rolled out very quickly. In the world of shrinkwrapped software such fast release cycles may not be possible. However then the question of whether to ship is normally driven by two questions:

1. Are sufficient features implemented to justify the release?
2. Are any known bugs or combination of bugs significant enough to delay the release?

The possibility of unknown bugs just doesn’t enter into it.

Note that I am not saying there’s no place for testers on an agile team. It’s just that I think the testers need to be brought in much earlier. Testing needs to be simultaneous with development, not subsequent to it.

Birding Disneyland

November 17th, 2005

I recently spent a few days at the Disneyland Hotel in Anaheim California. Nominally I was speaking at the STARWest conference, but as usual it turned into a birding trip.

Disneyland is not as good a birding site as Disneyworld in Florida, but there were a few interesting birds. besides the usual invasives (House Sparrows, European Starlings, Rock Pigeons) ring-billed gulls were fairly common. I saw them flying over the parking lot at the Disneyland Hotel, and in California Adventure. The lagoon in California Adventure was also hosting one somewhat lost American Coot. Early in the morning Canada Geese migrated across the parking lot. And I found a pair of House Finches in the Disneyland Hotel Courtyard one morning while waiting for the coffee shop to open.

However the piece de resistance had to be the Cooper’s Hawk that landed in Downtown Disney while I was drinking my coffee about 8:00 A.M. on the final day of my stay.

Venice

October 30th, 2005

Venice is a very beautiful city, but not a very alive one. What used to be the center of the Western world, a renaissance superpower in effect, has become little more than a museum piece. It’s a very beautiful museum, one with much interesting art and architecture. However, it is basically a museum.

This is not the place to go to learn Italian or to understand Italy.

Linux 2005

September 23rd, 2005

I upgraded my desktop to Ubuntu 5.04 Hoary Hedgehog a couple of days ago because I needed the USB support in the more recent kernels. The good news is that Linux is getting better. This is a huge improvement since I first started using Linux with Mandrake 8 some years ago. The bad news is that it isn’t there yet as a serious desktop operating system. The install process is much less painful but still doesn’t pass the parent test. Despite already having a system partitioned for Linux, the installer still asked me about partitions, and required me to choose my partition setup. Otherwise, though, it auto-detected my network card, my sound card, my mouse, my keyboard, the DHCP server, and almost everything else. However, it still couldn’t handle my widescreen monitor. Widescreen monitors were a little unusual when I bought this one back in the late 90s, but today they’re extremely common. Why Linux still can’t believe that 1600×1024 is a reasonable resolution I don’t know. Not everyone lives in a 4:3 world. Still it was a vast improvement over the installers of yore.

Read the rest of this entry »

Currently Reading