What does an SDET do?

March 31, 2007 at 7:49 pm | Posted in Microsoft, Software development | 44 Comments

I’ve been meaning to write this post for a while now but I’ve just been so busy at work at the moment, I just haven’t had the time.

In this post I want to cover what the role of an SDET at Microsoft is. As most of you already know, I am an SDET, or Software Development Engineer in Test, with the Windows Serviceability team at Microsoft.

Unfortunately, sometimes people call this person a ‘Tester’ which I find to be a bit incorrect, as the job does not involve only testing. In previous companies that I have been in, you typically have the software developer who creates the code for the software, and then you have a tester who tests the software through black-box testing. In case you don’t know what black box testing is, basically the tester does not get to look at the code and just tests the software interface that is presented to him/her. This is not what an SDET does at Microsoft…Typically, most teams have Software Test Engineers (STE) that do this kind of testing. It is their job to test the software, identify failures, analyze the log files, and report bugs to the SDET.

At this point in time, you are probably thinking so what is the the role of the SDET…Well, here is a list of what I think to be the important aspects of being an SDET:

  • Developing new tests. This is pretty much one of the biggest things that an SDET has. They must work with the developers and PMs in order to identify what needs to be tests in new or existing features in the product. The SDET has full access to the code and the design of the component, so typically this is considered white box testing. Being able to look and understand the source code allows you to develop much better and more targeted tests as you can see what the typical boundaries are, how the code works, and what code paths need to be tested more than others.
  • In-Depth knowledge of the code. Sometimes you need to know the code even better than the developers. Usually when a new developer comes onto a team, he doesn’t necessarily have to understand every aspect of the code…just usually his area, or the area that he’s writing – so when he gets a bug report he can easily fix it. The SDET does not have this luxury, he needs to not only understand every aspect of the product, but as well he needs to know how it interacts with all other components (and when you are dealing with a product as large as Windows, the challenge can be immense!!)
  • Excellent debugging skills. Debugging code can be a huge field by itself. I’ve attended a couple of courses at Microsoft, and it can become really complicated and advanced. But to be a good SDET you need good debugging skills. You need to be able to take a failure in a test case and then troubleshoot it down to the problem function. This can sometimes get tricky when you are dealing with threads, timing issues that disappear under a debugger, or memory corruption.
  • Writing Code. Some people think that an SDET doesn’t really need to learn or write code, but that is far from the truth. A good SDET will write lots of code. An excellent way of testing involves using automated test suites. It actually is a necessity when you are dealing with hundreds, and thousands of test cases. SDET’s are the ones that write these automation suites, and write the necessary code to test their components. In addition to this, SDET’s write tools and utilities that help them in their jobs (for example, a tool that will generate logs, or fuzzers to test their programs). Also, some SDET’s participate in miscellaneous projects that pop that seek volunteers (for example for diagnostic tools that help product support).
  • Enjoy breaking things. Developers typically create and hate it when they find a bug in their code. SDET’s have the opposite mentality…They usually like to find new and interesting ways of breaking the software and are very happy when they find a new bug. Ever since I was a child (much to my parents anger) I loved taking things apart to try and figure out what makes them tick. You need this type of mentality in order to be a great SDET.
  • Being a good consumer advocate. It is the SDET’s responsibility to make sure that we are shipping the highest quality code possible. It is his/her responsibility to advocate the right bugs to fix and to reject the ones that would introduce too much risk to the customers. It is a very big and very real responsibility that an SDET faces with every bug found.

There is a lot more useful and great information found in the following JobsBlog article which describes the role well. It also identifies what a recruiter looks for when looking for an SDET.

In addition, if you wish to learn more technical information about testing. I found the following books to be excellent and would strongly recommend reading them:

If you have any questions about the role, or if you wish to discuss it here – please feel free to. I am looking for as much feedback as possible!

Tagged! Again!

March 14, 2007 at 4:32 pm | Posted in Personal | 9 Comments

So I have been tagged again by Hany! Too many of these tag games going around…but luckily – I end up killing them as I have no one else to tag 🙂 I remember getting these types of Fwd’s in the mail…I guess it is now evolving into blogs to match the whole Web 2.0 thing…So anyway, here is more information than you probably ever wanted to know about me:

SECTION 1 – Last 1s?
1. last beverage? Orange Juice
2. last phone call? Hany – but I got his voicemail
3. last instant message? Some guy at work – but socially, Zekri
4. last cd played? Grey’s Anatomy Season 2 soundtrack
5. last time you cried? Not sure – maybe a few weeks ago? (now i bet you’re all wondering why)
6. last text message? My sister – it was her birthday
Section 2 – 6 Have You Evers:
1. dated someone twice? Nope
2. been cheated on? Nope
3. kissed someone & regretted it? Nope
4. lost someone special? yeah – who hasn’t?
5. been depressed? yeah of course – but i avoid it a lot now
6. been drunk and threw up? The people who I would want them to know the answer to this – well they already know 😛

Section 3 – List 3 Favorite Colors
1. Blue
2. Black
3. Green

Section 4 – This month have you
1. Made a new friend? Well maybe not this month (March) but over the past couple of months, yeah
2. Fallen out of love? No Way!
3. Laughed until you cried? I don’t think I’ve ever laughed that hard
4. Met someone who changed your life? Nope
5. Found out who your true friends were? I found that out a long time ago
6. Is there something you want to tell someone? yeah – Mohab…I loved hanging out at your house…those were the good old days 🙂
7. Would you kiss anyone on your top friends? This question is stupid – you don’t say “top” friends – you say “best friends” – thats #1 – #2 it should be “Would you kiss anyone of your best friends?” – and yes I would as long as they are male and its on the cheek 😛
8. How many people on your top friends do you know in real life? All of them
9. How many kids do you want to have? I think 2 is a great number
10. Do you have any pets? I used to have a dog named Beau. We had to put him up for adoption when my wife went to work. I miss him.
11. Do you wanna change your name? Naaah
12. What did you do for your last birthday? Hmmm, I really don’t remember – I think I spent it at my family’s house
13. What time did you wake up today? 6.50 am!!!
14.What were you doing at midnight last night? On my way to bed
15. Name something you CANNOT wait for? I can’t wait until I become a millionaire 😛
16. Last time you saw your father? Last August when I left Egypt
17. What is one thing you wish you could change about your life? Nothing
18.What are you listening to right now? Nothing
19. Have you ever talked to Tom? Yes
20. Have you ever talked about someone behind their back? Who hasn’t?
21.What’s the last piece of clothing you borrowed from anyone? Sweatpants from Kareem el-Ayat – I still have them
22. Who’s getting on your nerves right now? Nobody
23. Most visited webpage? news.bbc.co.uk
24. Coke or Pepsi? Pepsi of course
25. Have you kissed or been kissed by anyone in the past week? Yep
26. Mac or PC? Well – even before I was at MS – I’ve always liked PCs more than Macs. You just can’t customize a Mac the same way you can a PC (all my desktop PCs have been custom made)…

Microsoft TechFest 2007

March 9, 2007 at 5:38 pm | Posted in Microsoft | 2 Comments

I attended Microsoft TechFest the other day with Hany and Meshref. For those that don’t know, TechFest is an annual Microsot-employee conference (although this year they allowed some members of the press to attend) that highlights the  research being done by Microsoft researchers around the world.

As many of you know, I love gadgets and technology! As it’s a Microsoft employee-only event, there are a lot of confidential things that I can’t disclose – but there are some things that have been mentioned by the press already (since they were invited) so I will just talk about those 🙂

– Personal Audio Space – This is an amazing technology where basically there is an array of speakers in front of you and somehow, it creates your own individual audio space. If you stand in this exact spot, you will hear a certain piece of music and if you take just one or two steps to the right you can hear another totally different piece of music. People can stand close to each other and hear different things. And if you stand outside of these two spots, you will hear nothing! I definately need one of these at home, so I can listen to the TV without waking my wife up (right now I use wireless headphones!)

Asirra – This product was just released a few days ago. Basically, you’ve all probably seen those CAPTCHA blocks where you have to enter certain characters for a website to verify if you are human. If you make this image too simple, then there are image recognizers out there that can fool the website. If you make it too complex, then the humans won’t be able to pass it. Enter Asirra. They use images of cats and dogs. They have 12 pictures of cats and dogs, and if you identify all the cats correctly you pass. This is very easy for humans to do, but much harder for software. The trick is though, you need a huge database of images for this to work (if you only had 10 images for example, then a human can manually classify them and let his malicious software run)…Anyway, the researchers teamed up with petfinder.com to get over 2,000,000 images to do this. Also there is a cute little ‘adopt me’ link under each image, so if you like one of the pets you can adopt it right away 🙂 One slight problem with the adoption thing though – what if the pet is not in the same area as you (very likely!) hmmm…

There is A LOT more which you can find more about in the Techfest website. Some other really fascinating things had to do with Surface Computing initiatives. That stuff was just mind blowing…

A new Microsoft Research Center is opening in Egypt by the way. It’s focus will be on Applied Research and is only one of two centers of its kind that Microsoft has. They are currently hiring and looking for talented individuals so if you are interested (or even just want more information about it), please contact me and I will try to put you in touch with the right people.

Create a free website or blog at WordPress.com.
Entries and comments feeds.