Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Normally unit tests were written by developer who write the code, i.e. Test Driven Development.

So what does Software Engineer in Test do?

share|improve this question

closed as primarily opinion-based by gnat, MichaelT, david.pfx, GlenH7, Doc Brown Jun 9 '14 at 11:57

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

I really don't understand the question - could you rephrase/explain it? – David_001 Sep 23 '10 at 13:30
I mean the job functions – Yoga Sep 23 '10 at 13:31
1 from wiki I think Software Engineer is a generic term and doesn't point to any particular designation – Tech Jerk Sep 23 '10 at 13:37
Terrible question. – luis.espinal Oct 15 '10 at 11:50
This is a perfectly good question, luis.espinal, and has resulted in useful answers. You really need to not call something terrible just because you don't understand it. – nbolton Mar 31 '14 at 22:31

Short answer: SETs (or SDETs as we call them at MS) test well beyond what can be done by unit testing (integration, performance, scale, reliability, etc.), and write programs, tools, and automated tests to aid in the effort. The role is quite similar at Google.

Longer answer: I've written about the role (both directly and indirectly) on my blog. Start with this post on careers, or search the site for SDET.

Longest answer: Read my book.

share|improve this answer

They write code to test Software Engineers' code. A lot of times they develop automated test tools. AFAIK, Google, Microsoft and other big software companies hire a lot of SETs.

Test engineers utilize three types of testing strategies which are known as black box, white box and gray box testing.

share|improve this answer
Yes, but since developer should also write unit tests, so how they work together in fact? – Yoga Sep 23 '10 at 13:39
@Yoga, developer unit test at their component level. Test engineer goes beyond that. I have added two links. – grokus Sep 23 '10 at 13:58
OP asked about SET, not STE. SET usually is used very specifically to refer to someone who codes tests whereas STE is often a catch all term for anyone executing tests. See @MAK's answer. – MIA Sep 23 '10 at 14:31

That is what I currently do.

I focus on being the Other Guy, the Adversary who stands in for the customer and tries to break the code.

I write piles of functional tests and supporting libraries.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.