This is a phrase that means different things to different people. Often, I’m surprised at how much different the role of an STE is on a team like Windows compared to Office, Xbox, and Works. Across different software companies, the differences in test roles become even more dramatic.
Here’s how I define the role of Software Test Engineering: My job is to be an advocate for our users. You may think that sounds strange- doesn’t everyone in software development care about pleasing customers? Yes! Absolutely. But Testers take this to an extreme. A great tester can place themselves into the shoes of any Joe User, in any city, and in any country. If our software has ten million and one users, then it’s Test’s role to champion for each one. When we encounter an issue that we feel passionate about, we’re sending emails and IMs, knocking on doors, logging bugs, and occasionally buying Krispy Kremes until our issues resolved!
Testing isn’t just about manually finding bugs, either. There are a multitude of other things I do on daily basis to achieve this goal. For instance, if I can find an issue early in the software specification, then problems can be fixed before a line of code is every written. If I can participate in communities of people that use our software, then I can identify things that they love, the things they don’t, and problems they encounter. Solid automation can find bugs while I’m at home sleeping!