James wrote How To Break Software - one of my favorite books on testing, co-wrote How To Break Software Security (also very good) with Hugh Thompson, and co-wrote How To Break Web Software (haven't read it yet) with Mike Andrews. James' talks at Microsoft are always standing room only; this interview will give you a taste of why.
DDJ: What was your first introduction to testing? What did that leave you thinking about the act and/or concept of testing?
JW: I was in graduate school in a software engineering group studying high assurance software engineering methodologies (cleanroom to be specific) and the bloody dev group met at 7:30 on Saturday mornings! I missed the first three meetings (dude, in grad school the nerd act doesn't happen that early on a weekend) so the professor put me in charge of the independent test team (which I discovered was just me). So that left me with the idea that testers get more sleep than devs but that we need it because we are woefully outnumbered.
And that perception remains, sans the sleep part.
DDJ: What has most surprised you as you have learned about testing/in your experiences with' testing?
JW: The sheer number of people *passionate* about testing, particularly at Microsoft. It gives me a great deal of confidence in the future knowing that such skill and talent is being applied to the hardest problem the discipline has to offerwhich is quality.
DDJ: What is the most interesting bug you have seen?
JW: The most interesting bug is always the latest bug. Just today everyone in our group was surprised at an Inbox with thousands of recall status messages. Someone sent a mail from an alias of 1275 members, then recalled it. The recall then sent success/failure notices to EVERYONE on the alias. That's 1275 x 1275 (about 1.6 million) emails! How's that for exploiting a design flaw!
DDJ: How would you describe your testing philosophy?
JW: Eyes open, brain on, test! Or the longer explanation covered in How to Break Software. Thanks for the chance to plug one of my books!
DDJ: What do you see as the biggest challenge for testers/the test discipline for the next five years?
JW: There are a number of trends that testers are going to have to grapple with. The first is that software is getting better. The result of this is that bugs are going to become harder and harder to find and the weaker testers will be relegated to Darwinian insignificance. Keeping sharp, building skills and maintaining a cutting edge testing knowledge has never been more important.
The second is that software process is finally taking over. For years processes haven't much affected the way software is built (which doesn't say much for legacy processes). But here at Microsoft the SDL is revolutionizing the way software is constructed. Testers have to figure out their role in this process. We have to be there, working, at project initiation and play a key role in every single phase of the lifecycle. Testing is not a task for the latter stages of the ship cycle. Testers who realize this and customize their work accordingly will rise in prominence within their product group and be able to influence the growth of the SDL rather than be steamrolled by it.
[See my Table Of Contents post for more details about this interview series.]