Franci pointed out an article about the future of software testing. The article has some good points, although as Franci mentions, Microsoft’s testers already have accomplished some of the future goals he outlines (working in tandem with developers, spec reviewing, etc), and others are underway.
While in college majoring in computer science, I discovered (much to my dismay) that I didn’t really enjoy programming, and I wasn’t particularly good at it either (catch 22: I wasn’t good at it, so I didn’t enjoy it. I didn’t enjoy it, so I wasn’t motivated to improve). I wanted to be involved in technology in some way, but I didn’t know what my options were; I started out in MIS but later moved to CS after realizing that my school’s idea of technology in the MIS track was learning how to use Access. So I asked on one of my school’s newsgroups what I could do with a CS degree other than code, and I was told “You could ask people if they want fries with that?” I very clearly remember taking this at face value, I was bummed that my career opportunities were so limited. Little did I know…
Several months later, I sent my resume to Microsoft, and landed a phone interview for a tester job on the Outlook team. I didn’t really know what testers did (and I’d never heard of Outlook, although I was quite familiar with email and the relevant protocols), but the troubleshooting skills I’d learned on my previous jobs (as a sysadmin) really helped me out, and I came in for a full day of interviews. One interviewer gave me problems like “a user says they can’t connect to the network” and asked how I would figure out what was wrong. I ran through the various possibilities, outlining which I would investigate in which order – after all, this was cake, every-day stuff to a sysadmin. At the end he nodded his head and told me that the “narrowing down“ was a huge part of testing. I got the offer, accepted it and spent a wonderful two and a half years as a tester in the Outlook team.
I absolutely loved testing (and still do to this day), but as a tester I ran into several of the problems that Harry alludes to in this article. Some people (inside and outside of the company) don’t respect the profession. I worked with many testers who were as passionate about the job as I was, but I also worked with some folks who only saw testing as a necessary evil on their path towards being a developer. Automation improvements are great and will help us find bugs, fix them and verify the fixes faster and earlier. But I still have a big soft spot in my heart for ad-hoc testing, and I hope that the movement towards more test tools, automation and modeling still leaves room for sitting in front of the machine and going to town, trying to break it. Some of the best bugs I ever found were found that way.
Full disclosure: My interests changed and I left testing in September 2000 and moved to a program management role on the Exchange team. One of the first big mistakes I made as a new PM was that I didn’t give my testers enough respect (after all, I’d been disrespected myself). I was schooled on that mistake quickly by one of my experienced long-term testers, and hopefully made up for that mistake over the next couple of years in my PM role. Since then, I’ve been approached several times by testers who are interested in program management to find out how/why I made the switch, and I always bring up this learning experience.