Well look, I already told you! I deal with the goddamn customers so the engineers don’t have to! I have people skills! I am good at dealing with people! Can’t you understand that? What the hell is wrong with you people? - Office Space
The role of testing has been a popular theme on this blog. We’ve written about a tester’s function extensively, published guest posts and asked our Testing the Limits guests their thoughts on the matter. Despite our best efforts however, the role of a software tester is still unclear to many.
Case in point: In a recent SlashDot thread someone asked the question “What does a software tester’s job constitute?” Here’s what he actually wrote:
“I got a call from a recruiter looking for software test engineer. I’m a software engineer and my job is development and testing. I know I mentioned testing but I’m pretty sure it’s totally different from professional testing practices. Can anyone shed light on what a software test engineer’s day to day responsibilities are? They said they’ll call me back for a screening and I want to be ready for it. Any tips?”
From there, about 200 people chimed in with their thoughts. Before I ask you to answer this question, I wanted to share some of my favorite responses from the thread. Note that not all of them answer the question directly (or correctly), but they are still valuable for the sake of discussion. Here are a few, in no particular order:
- I am a developer and I tell my testers to consider me to be evil, lazy, and malicious. They must assume I am actively trying to fool them into thinking the application is working even if it is not with the minimum amount of work possible. That generally gets them to find the defects.
- If you want to be a low-paid button pusher, yes. Do the same thing over and over, all day long with no deviation. If you want to enjoy your job testing, test the software. Try to break it. Troubleshoot. Do things the developers wouldn’t expect. (After all, who expects an apostrophe in a name field?)
- The job of a software tester (tester, not button pusher) is to try to find all the defects in the software and report them to development so they can be fixed.