What is Software Test Engineering?


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!


 


I’ll be talking about some of the techniques I use as a Tester later on. In the mean time, it’s time for a Project Gotham Racing 2 break on Xbox Live. 🙂


Comments (6)

  1. SpiderMan says:

    Do you guys in Microsoft us any Test Automation tools/methods in your testing work?

    I am a newbie in the test world and I am looking for a good Test Automation method for my company. 🙂 Thanks.

  2. Greg says:

    Hi Spiderman- We fortunately have a wide array of Automation tools at our disposal. There’s not a good one-size-fits-all automation tool for all testing needs, but chances are there’s a suite of tools that will do what you’re looking for. For example- there’s a cool Unit Testing tool for developers to effectively unit test their code- take a look at http://www.nunit.org to learn more.

  3. SpiderMan says:

    Thanks for your reply Greg.

    Currently I am very interested in the UI Test Automation tools. I am evaluating the Rational Robot(R) now, it’s a good tool but has some weaks to my situation (for example, User Control test). Should I write a Test Automation tool by myself? Could you give me some suggestions?

  4. Greg says:

    Sure. My future partner in crime will actually be talking about automation topics such as these fully later on, but I’ll give a teaser. Writing your own tool is the ultimate solution- it’ll give you everything you need and nothing you don’t. However, it’ll need it’s own testing, and can be time consuming. If you’ve got the time (and hopefully some other testers working with you), I’d definitely investigate it. If you’re a one man shop, then I’d stick with off the shelf tools. One other tool I’d recommend is Visual Test- this seems to be losing some popularity here at MS, but is still a worthwhile tool.

    Keep your eyes on Longhorn for some cool advances in this department. 🙂

  5. SpiderMan says:

    I’m a one man team, not a one man shop. 🙂

    And the Visual Test, which was recommended by you, I think it’s sold to Rational Inc. and I am sorry to see it’s no longer for sale and supported by Rational. I don’t know how to a eval copy and try it.

    I know Longhorn is cool but my manager can not wait to 2006.

  6. Greg says:

    Take a look at Chris’ article about Software Automation that he just posted. Unfortunately, my experience is the same- we mostly use internal applications for our automation purposes, so I’m not very familiar with the third party automation tools available. Chris’ article should be a big help to you, though.