Software Testing at Microsoft
Saturday, February 6, 2010 at 3:04PM I’m happy to say I can breathe a huge sigh of relief about my role. I took a position as a Software Development Engineer in Test (SDET). This is Microsoft’s software testing role.
Software tester’s have something of a bad reputation in most of the industry. In many companies they are seen as the guys who couldn’t cut it as developers. They’re often second class citizens. They aren’t consulted on design, they are far outnumbered and they are seen as an added expense that constantly delays the release of a product.
The SDET role at Microsoft is nothing like that. There are as many testers as developers. We’re involved in the project from the very beginning. We’re just as involved in the design as the developers. It’s not a test vs dev mentality. We’re a team working together with the common goal of providing quality software that meets our customer’s needs.
I’ve been asked several times what we do. Several people have assumed I spend my entire time writing unit tests. I haven’t written a single unit test. On my project the developers write their own unit tests. SDETs are responsible for writing tests at a higher level. A unit test, tests that a function or component is correct. We write tests to ensure that all the components combined are correct and match the requirements.
Here’s where it gets interesting. In the Server & Tools Business (STB) division where I work, our products are supported for around 10 years. It’s crucial there are no regression during this time frame. To make this economical the tests have to be 100% automated.
This is where we spend most of our time. Figuring out how to automate all the tests. In the past few weeks I’ve had to:
- Automatically fill a hard disk to force out of disk space errors. It has to do this quickly so the tests can complete in a reasonable amount of time.
- Change stored credentials in the Windows Credential Manager.
- Automatically mount and unmount virtual hard disks in Windows 7.
To make matters more complex, the tests need to run against every operating environment we support.
I certainly wouldn’t want to be a tester at most companies. However, it’s definitely been fun and challenging so far at Microsoft.
Reader Comments